Всех приветствую!
Проблема следующая: имеется конфигурация : Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ. Редакция 5 для Renault (Step 7) (5.0.05.09).
Возникла необходимость сделать распределенку и вместе с ней проблема с созданием первоначального образа периферийной базы. Ошибка: «Ошибка при вызове метода контекста (СоздатьНачальныйОбраз)» без уточнения причин.
Сначала из копии рабочей базы сделать образ получилось, программа не ругалась, даже пару раз. Я опыта работы с РБД не имею, потому экспериментировал на тесте. В определенный момент начала вылетать ошибка. Пробовал делать выгрузку образа из разных баз, из файловой и SQL-ой, из разных релизов платформы, начиная с 15-го и заканчивая последним на данный момент у меня 8.2.17.153.
Как это можно победить?
04.12.20 — 07:56
Добрый день!
ОС Centos 7
Платформа 8.3.14.1976
Настройки самбы
[samba_shared]
comment = Folder for storing common files
read only = no
available = yes
path = /mnt/smb
public = yes
valid users = @grp1cv8
force group = grp1cv8
write list = @grp1cv8
create mask = 01775
force create mode = 01775
directory mask = 01775
force directory mode = 01775
writable = yes
browseable = yes
map acl inherit = yes
inherit owner = no
inherit acls = no
inherit permissions = no
acl check permissions = true
acl map full control = true
blocking locks = yes
level2 oplocks = yes
locking = yes
oplocks = yes
strict locking = no
posix locking = yes
browseable = yes
шара монтируется вот так
/server_share/samba_shared /mnt/file_server_share cifs rw,credentials=/root/.smbclient,uid=usr1cv8,gid=grp1cv8,file_mode=01775,dir_mode=01775 0 0
Код в 1с
СтрокаСоединения = «File = «»/mnt/file_server_share/exchange/bgu-messages»»»;
ПланыОбмена.СоздатьНачальныйОбраз(Объект.Узел, СтрокаСоединения);
где Объект.Узел — ссылка на узел плана обмена РИБ
вылетает по ошибке
{Обработка.Обработка1.Форма.Форма.Форма(10)}: Ошибка при вызове метода контекста (СоздатьНачальныйОбраз)
ПланыОбмена.СоздатьНачальныйОбраз(Объект.Узел, СтрокаСоединения);
по причине:
Информационная база не обнаружена
Файл не обнаружен ‘/mnt/file_server_share/exchange/bgu-messages/1Cv8.cgr’. 2(0x00000002): No such file or directory
по причине:
Файл не обнаружен ‘/mnt/file_server_share/exchange/bgu-messages/1Cv8.cgr’. 2(0x00000002): No such file or directory
При этом если создавать файловую базу ручками в этом каталоге же все работает как часы.
Прошу помощь знатоков
1 — 04.12.20 — 08:35
общие настройки
[global]
workgroup = SAMBA
security = user
hosts allow = 0.0.0.0/32
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = False
cups options = raw
2 — 04.12.20 — 09:58
Версия самбы 4.10.4
3 — 04.12.20 — 10:05
hosts allow = 0.0.0.0/32 (0.0.0.0/255.255.255.255) стремно выглядит 0.0.0.0/0.0.0.0
4 — 04.12.20 — 10:16
что говорит
su — usr1cv8 -c «touch /mnt/file_server_share/exchange/test»
5 — 04.12.20 — 10:56
молча создался файл
6 — 05.12.20 — 07:51
Обновил самбу до 4.0.16 — ничего не изменилось
Написал о проблеме на v8@1c.ru
о результате, если будет, отпишусь здесь
7 — 05.12.20 — 08:46
Очевидно, что будет какая-то путаница в именах логинов, под которыми ломится платформа 1С к созданию/чтению файлов. В порядке эксперимента — если есть возможность проверить все имена, возникшие в системе, то дать всем, что из них доступны 1С-у самые высокие права, чтоб ошибок больше не было.
Возможно, что файл создает один логин, а открывать на чтение/запись пытается уже другой, по которому права просто забыли прописать.
8 — 05.12.20 — 08:47
Получится, что и та и другая запись логинов права имеет, а вот самому файлу прав не дали.
9 — 05.12.20 — 08:47
И проблема не в самбе, имхо
10 — 05.12.20 — 11:50
Можно попробовать изменить UID(числовой) пользователя usr1cv8 на сервере с самбой на такой же как у пользователя usr1cv8 на сервере с платформой 1С. После этого для каталога samba_shared, чтобы изменить идентификатор владельца каталога и файлов, сделать chown -R usr1cv8:grp1cv8. Самбу перезапустить после этого.
Когда-то помогло, при указании места хранения файлов в томах(в Документообороте) при аналогичной конструкции как и у автора темы.
11 — 07.12.20 — 11:32
ansh15, если у Вас под рукой есть такая конструкция — попробуйте создать начальный образ. могу прислать дт — но там «полторы» строчки кода и нет никаких объектов кроме плана обмена.
12 — 07.12.20 — 16:15
Ну да, не в самбе — https://its.1c.ru/db/pubessence/content/42/hdoc
«Второй случай – это создание начального образа клиент-серверной информационной базы. Если на компьютере сервера «1С:Предприятия» установлена 64-битная операционная система Linux и сам сервер «1С:Предприятия» является 64-битным приложением, то тогда начальный образ информационной базы может быть создан только в клиент-серверном варианте работы (на этом же сервере «1С:Предприятия» или другом). Создать файловый начальный образ на компьютере клиента или на другом компьютере в локальной сети будет невозможно»
Мне выдало сообщение, что «создание начального образа файловой информационной базы на данной платформе не поддерживается»,
при интерактивном создании начального образа.
13 — 07.12.20 — 18:51
мда … случай взят из типового БТС (Создание автоматизированного рабочего места).
—
Возникает два случая.
1. Можно задать константой путь, где создавать этот образ — налетаешь но описанный случай.
3. Если Не задавать — создается в локальном каталоге /tmp/ (текущего сервера 1С), который оказывается недоступным с другого сервера (кластера).
—
14 — 07.12.20 — 18:57
Файл-сервер для базы данных — ЗЛО
15 — 07.12.20 — 18:58
а им никто и не предлагает в нем работать. Есть и альтернативные способы создания периферийных узлов
alexander-k
16 — 18.12.20 — 20:31
1С:
Проблема скорее всего связано с ошибкой платформы 30161295, из-за чего файлы создаются с неправильными правами.
Ошибка исправлена в версиях 8.3.15 и выше. В любом случае, вам стоит обновить платформу до актуального релиза и проверить поведение.
Нужно отделить одну организацию из базы, решил создать РИБ по ней, и убрать связь с основным узлом. Пытаюсь создать начальный образ выдаёт ошибку: {mngbase/DataExchangeCreateInitialImage.lf}: Ошибка при вызове метода контекста (СоздатьНачальныйОбраз) ExchangePlans.CreateInitialImage(Node, ConnectionString); по причине: Ошибка при выполнении обработчика — ‘ПриОтправкеДанныхПодчиненному’ по причине: {ОбщийМодуль.ОбменДаннымиСобытия.Модуль(2512)}: Ошибка при вызове метода контекста (УдалитьРегистрациюИзменений) ПланыОбмена.УдалитьРегистрациюИзменений(Получатель, ЭлементДанных); по причине: Недопустимое значение параметра (параметр номер ‘2’) Подскажите пожалуйста, если кто имеет опыт работы с РИБ..
30 риб значит база большая, а значит на скуле Сжелай копию удали средствами скуля
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Представляем серию ответов на вопросы по механизмам обмена данными.
1. Предопределенный узел плана обмена.
При первом открытии плана обмена в пользовательском режиме появляется пустой элемент. В лекции он назван предопределенный. Однако, в стандартных реквизитах поля предопределенный у плана обмена нет.
Кнопки «предопределенные» на закладке «Прочее» тоже нет. Особенности реализации!?
2. Регистрация изменений.
Событие ПриОтправкеДанныхУзлаПодчиненному срабатывает в момент регистрации изменения или в момент формирования сообщения?
Правильно ли я понимаю, что при РИБ для всех объектов будут накапливаться изменения для всех узлов.
В событии ПриОтправкеДанныхУзлаПодчиненному мы можем лишь отказаться от ПОСЫЛКИ. Таким образом «работа» по сбору изменений в такой схеме сделана напрасно. И еще не ясно как в случае отказа от посылки будет «сброшена» регистрация изменения.
3. RLS и выгрузка данных РИБ.
При формировании начального образа я получил такое сообщение:
{mngbase/DataExchangeCreateInitialImage.lf(107)}: Ошибка при вызове метода контекста (СоздатьНачальныйОбраз) ExchangePlans.CreateInitialImage(Node, ConnectionString);по причине:У пользователя недостаточно прав на исполнение операции над базой данных.Разве не должны были быть «пропущены» не разрешенные записи. Я не чувствую разницы между 2 «режимами» RLS «Разрешенные» в запросе и,(даже не знаю как назвать) спец.полем запроса.
4. Квитанция об успешном приеме.
Что возвращает подчиненная БД в качестве «квитанции» об успешном приеме?
При загрузке пакетов с ПОЧИНЕННОГО на ГЛАВНЫЙ я так и не смог отловить подтверждение об успешной загрузке в обработчике ПриПолученииДанныхОтПодчиненного(), ХОТЯ они приходили, т.к. изменения исчезали (проверял через консоль запроса).
5. Главный узел РИБ.
Вы анализируете какой этот узел строчкой
ПланыОбмена.ГлавныйУзел()<>Неопределено
Но ведь один и тот же узел может быть для кого-то главным и для кого-то подчиненным.
И хуже того, у нее может быть много главных узлов.
6. Передача узлов РИБ.
1. Ввел узлы плана обмена Центр – Регламент – Кадры
2. Сделал начальные образы Регламента и Кадров. Сохранил их в отдельные базы.
Регистрация документов и их наборов в узлах проходила по задуманному.
После загрузки пакетов В ПОДЧИНЕННОМ УЗЛЕ в реквизите документа со ссылкой на узел плана обмена стояли БИТЫЕ ССЫЛКИ. Сам план обмена РИБ не выгружается??
7. Конструктор для ссылочных типов.
В синтакс-помощнике в описании конструктора для ПланОбменаСсылка.< Имя плана обмена>(< УникальныйИдентификатор>) рекомендуется использовать второй вариант оператора Новый.
Судя по найденным примерам — в рекомендуемом варианте всегда указывается тип создаваемого значения.
Хотелось бы узнать об этом подробней, чем такой вариант лучше, почему рекомендуется именно он, поиск по синтакс-помощнику выдаёт 13 результатов — это исчерпывающий перечень случаев применения?
- Главная
- —
- Форум
- —
- ТЕХПОДДЕРЖКА
- —
- ЭКСЕЛОН — Загрузка в 1С из EXCEL
- —
- Ошибка при вызове метода контекста (Записать)
Вчера заметил, что перестали обновляется цены, проверил выгрузку и обнаружил что часть номенклатуры не записывается. Номенклатура_СоздатьОбновить 020: {ВнешняяОбработка.APPLIX_RU_ЗагрузкаИзExcel_ЗМ.МодульОбъекта(70081)}: Ошибка при вызове метода контекста (Записать): Ошибка при выполнении обработчика — ‘ПередЗаписью’: {Справочник.Номенклатура.МодульМенеджера(2911)}: Преобразование значения к типу Булево не может быть выполнено |
|
Ошибка при попытке обновить номенклатуру |
|
1С:Предприятие 8.3 (8.3.20.1674) Прикрепленные файлы |
|
Модуль создал номенклатуру, теперь ее невозможно открыть ТекстыЗапросов = Новый Массив; ИменаОбъектовМетаданных = Новый Массив; Для Каждого СсылкиПоТипу Из СсылкиПоТипам Цикл ПолноеИмяОбъектаМетаданных = ОбъектМетаданных.ПолноеИмя(); Прикрепленные файлы |
|
пришлите ваш файл и скриншоты всех настроек колонок |
|
у нас загрузилось нормально доступ к базе дадите? попробуем на вашей базе отладкой посмотреть что не так |
|
Сергей Юданов Пользователь Сообщений: 23 |
#9
30.05.2022 15:03:02 Разобрались сами. На некоторые позиции номенклатуры в поле (Вид номенклатуры) было назначено не значение, а почему-то название категории в котором содержались значения. |
ПОСЛЕДНИЕ СООБЩЕНИЯ
Сейчас на форуме (гостей: 73)
Всего зарегистрированных пользователей: 2227
Приняло участие в обсуждении: 367
Всего тем: 824