При синхронизации в подписке на запись документа не видит Режим Записи

1. user598655_ilia-bers 24.05.18 14:11 Сейчас в теме
1С:Предприятие 8.3 (8.3.10.2753)
Сделал подписку на событие записи документа, в ней содержится строка:
" Если Источник.ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Запись Тогда"
Если записать документ в интерактивном режиме, то все нормально отрабатывает, а при синхронизации с ЗУП (через файл), из которой приходит данный документ
пишет, что :
"Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
{ОбщийМодуль.ГИМЭКС.Модуль(9331)}: Поле объекта не обнаружено (РежимЗаписи)
Если Источник.ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Запись Тогда
ПозицияМодуля = Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1785)
КСообщенияОбОшибках = 26
ВызватьИсключение СтрокаСообщения;"
Кто сталкивался. подскажите почему это происходит и как это обойти
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. TODD22 18 24.05.18 14:14 Сейчас в теме
А зачем вы при загрузке проверяете какой режим записи?

Если что то загружается из внешних источников, то проверки должны быть выполнены в источнике, а в приёмник грузится уже без проверок.

В типовых для этого заглушку ставят в процедуру ПерезЗаписью
Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;


Вроде так, если ничего не напутал.
+
3. user598655_ilia-bers 24.05.18 14:16 Сейчас в теме
Я при записи этого документа делаю из него другой документ, а чтобы не было лишних движений проверяю при на РежимЗаписи.Запись
+
4. TODD22 18 24.05.18 14:18 Сейчас в теме
(3)Не очень понял про какие лишние движения речь.
Связанный документ надо создавать наверное не "ПередЗаписью" когда у тебя ещё документ не записан, а "ПриЗаписи" когда документ основание уже записан.

И для чего именно нужна проверка на "оперативное" проведение?
+
5. user598655_ilia-bers 24.05.18 14:24 Сейчас в теме
Я и делаю при записи.
Документ "ОтражениеЗарплатыВБухУчете", он при загрузке загружается непроведенным, так в типовом механизме обмена заложено. при его записи должна срабатывать подписка, в ней мы из него делаем Документ "ОтражениеЗарплатыВУчете", а чтобы он не перезаписывался при каждом перепроведении или отмене проведения я сделал эту проверку, причем интерактивно все нормально отрабатывает. проблема именно при синхронизации.
В нем кстати такой заглушки нет:
#Область ОбработчикиСобытий

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Если ЗарплатаКадры.ОтключитьБизнесЛогикуПриЗаписи(ЭтотОбъект) Тогда
Возврат;
КонецЕсли;

Если РежимЗаписи = РежимЗаписиДокумента.ОтменаПроведения Тогда
ЗарплатаОтраженаВБухучете = Ложь;
КонецЕсли;

КонецПроцедуры
+
6. TODD22 18 24.05.18 14:32 Сейчас в теме
(5)Если формы управляемые то посмотри в коллекции "Источник.ДополнительныеСвойства". Может там что то есть? Туда помещаются свойства "РежимЗаписи" и свойство "ЭтоНовый".
Может будут доступны при загрузке. А так они в модуле объекта добавляются в доп свойства при записи документа. Но это в ЕРП.
+
7. TODD22 18 24.05.18 14:49 Сейчас в теме
(5)А ну да... ты и так проверяешь это свойство. :) Ну видимо оно туда и не добавляется в ДопСвойства, потому что при загрузке в той же ЕРП проверка на то что это загрузка выполняется перед остальным кодом в процедуре ПередЗаписью. Если это загрузка то свойство режим не будет заполнено.
+
8. user774630 24.05.18 16:52 Сейчас в теме
Если Источник.ДополнительныеСвойства.Свойство("РежимЗаписи") И Источник.ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Запись Тогда
adhocprog; TODD22; +2
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот