Не меняются проводки документа после обмена данными
Здравствуйте!
Есть две базы с односторонней выгрузкой данных в БП 3.0.142.56, платформа 1С 8.3.24.1368. Правила обмена написаны в КД 2. Обмен осуществляется через общий каталог. В правилах обмена для базы-приемника, в ПКО документа "Отчет о розничных продажах", в раздел "После загрузки" написан такой код:
Программа успешно проходит весь этот код, меняет проводки, однако по результату обмена все равно проводки возвращаются в свое исходное состояние. В чем может быть причина? Если запустить этот же код из внешней обработки, она успешно меняет проводки документа, которые НЕ возвращаются потом в свое исходное состояние. Пробовал полностью закомментировать раздел "После загрузки данных" в настройках конвертации - не помогло.
Есть две базы с односторонней выгрузкой данных в БП 3.0.142.56, платформа 1С 8.3.24.1368. Правила обмена написаны в КД 2. Обмен осуществляется через общий каталог. В правилах обмена для базы-приемника, в ПКО документа "Отчет о розничных продажах", в раздел "После загрузки" написан такой код:
Попытка
Объект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Объект.Проведен = Ложь;
КонецПопытки;
Если Объект.Проведен Тогда
Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(Объект.Ссылка);
Набор.Прочитать();
Счет43 = ПланыСчетов.Хозрасчетный.ГотоваяПродукция;
Счет4101 = ПланыСчетов.Хозрасчетный.ТоварыНаСкладах;
Счет900201 = ПланыСчетов.Хозрасчетный.СебестоимостьПродажНеЕНВД;
Запрос = Новый Запрос();
НужноЗаписать = Ложь;
Для каждого Стр из Набор Цикл
Если Стр.СчетДт = Счет900201 Тогда
Если Стр.СчетКт = Счет43 Или Стр.СчетКт = Счет4101 Тогда
Запрос.Текст = "ВЫБРАТЬ
| ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстатокДт, 0) КАК Сумма
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, Счет = &Счет, , Субконто1 = &Номенклатура) КАК ХозрасчетныйОстатки";
Запрос.УстановитьПараметр("Период", НачалоДня(Объект.Дата));
Запрос.УстановитьПараметр("Счет", Стр.СчетКт);
Запрос.УстановитьПараметр("Номенклатура", Стр.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура]);
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
Если Не Стр.КоличествоКт = 0 Тогда
Стр.Сумма = Результат.Сумма/Стр.КоличествоКт;
Иначе
Стр.Сумма = 0;
КонецЕсли;
Иначе
Стр.Сумма = 0
КонецЕсли;
НужноЗаписать = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если НужноЗаписать Тогда
Набор.Записать();
КонецЕсли;
КонецЕсли;
ПоказатьПрограмма успешно проходит весь этот код, меняет проводки, однако по результату обмена все равно проводки возвращаются в свое исходное состояние. В чем может быть причина? Если запустить этот же код из внешней обработки, она успешно меняет проводки документа, которые НЕ возвращаются потом в свое исходное состояние. Пробовал полностью закомментировать раздел "После загрузки данных" в настройках конвертации - не помогло.
Прикрепленные файлы:
По теме из базы знаний
- Сравнение 1С8 и Navision
- Групповое отражение документов в регламентированном учете (с возможностью формирования проводок)
- Некоторые моменты обновления типовых конфигураций (доработанных типовых конфигураций)
- Переход с УПП на ERP с сохранением документов. Фантастика или реальность?
- Контроль заполнения субконто
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот