Не меняются проводки документа после обмена данными
Здравствуйте!
Есть две базы с односторонней выгрузкой данных в БП 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
- Сверки и переносы документов между базами 7.7 и 8, исправление расхождений. Реализации. Поступления. Корректировки отгрузки, поступления. Счета-фактуры выданные, полученные; исправленные выданные и полученные. COM-объект 1С8
- Заказать услуги по доработке 1С - программ и модулей типовых, отраслевых и самописных конфигураций
- Горыныч (групповое многопоточное проведение)
- Исправление ошибки в порядке субконто в записи проводок регистра бухгалтерии при обмене данными
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Так потом загрузка записывает и проводит документ и он свои проводки делает как должен.
Вообще идея менять проводки вне обработки проведения сомнительна. При каждом перепроведении будут проблемы.
Вообще идея менять проводки вне обработки проведения сомнительна. При каждом перепроведении будут проблемы.
(4) Дело в том, что когда в базе-приемнике вручную перепроводишь документ "Отчет о розничных продажах", проводки все уже изначально ставятся правильные. А вот если документ загрузился и провелся, то в проводке не та сумма сидит.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот