1С Конвертация, как передават/формировать бухгалтерские проводки.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
1) Можете посмотреть правила обмена из БГУ1 в БГУ2 в качестве примера.
Они есть в составе релиза БГУ2.
2) При выгрузке метаданных из ИБ для конвертации, необходимо установить флаг "выгружать движения".
Тогда после загрузки структуры метаданных в конвертацию, в документе будут движения как еще одна табличная часть.
пример
1) Можете посмотреть правила обмена из БГУ1 в БГУ2 в качестве примера.
Они есть в составе релиза БГУ2.
2) При выгрузке метаданных из ИБ для конвертации, необходимо установить флаг "выгружать движения".
Тогда после загрузки структуры метаданных в конвертацию, в документе будут движения как еще одна табличная часть.
(8)
Регистр = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Регистр.Отбор.Регистратор.Значение = Объект.Ссылка;
Регистр.Прочитать();
Регистр.Очистить();
НоваяЗапись = Регистр.Добавить();
НоваяЗапись.Регистратор = Объект.Ссылка;
НоваяЗапись.Организация = Объект.Организация;
НоваяЗапись.Период = КонецМесяца(Объект.ПериодРегистрации);
НоваяЗапись.СчетДт = лСчетУчетаЗП;
НоваяЗапись.СчетКт = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда;
БухгалтерскийУчет.УстановитьСубконто(
НоваяЗапись.СчетДт,
НоваяЗапись.СубконтоДт,
"СтатьиЗатрат",
Справочники.СтатьиЗатрат.ОплатаТруда
);
БухгалтерскийУчет.УстановитьСубконто(
НоваяЗапись.СчетКт,
НоваяЗапись.СубконтоКт,
"ВидНачисленийОплатыТрудаПоСтатье255НК",
Перечисления.ВидыНачисленийОплатыТрудаДляНУ.пп1ст255
);
НоваяЗапись.Сумма = СтрТ.Сумма;
НоваяЗапись.СуммаНУДт = СтрТ.Сумма;
НоваяЗапись.СуммаНУКт = СтрТ.Сумма;
НоваяЗапись.Содержание = "Оплата труда";
НоваяЗапись.Активность = Истина;
Показать
Регистр.Записать();
(10) Вот мой код, по журналу регистрации видно, что документ и регистр бухгалтерии 3 раза изменяется , проводки создаются, но потом как то затираются.
Сч00501 = ПланыСчетов.Хозрасчетный.НайтиПоКоду("005.01");
//Получим параметры из Источника
Если ПараметрыОбъекта <> Неопределено тогда
ТаблицаПараметровТовары = ЗначениеИзСтрокиВнутр(ПараметрыОбъекта["ПараметрТовар"]);
ПараметрКонтрагент = ПараметрыОбъекта["Контрагент"];
ПараметрДоговор = ПараметрыОбъекта["Договор"];
КонецЕсли;
//Получим параметры из Источника
СуммаДокумента = 0;
РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
РегХозрасчетный.Отбор.Регистратор.Значение = Объект.Ссылка;
РегХозрасчетный.Прочитать();
РегХозрасчетный.Очистить();
//Пройдемся по ТЧ Товары переданной из Источника
Для каждого СтрокаПараметров Из ТаблицаПараметровТовары Цикл
РегЗапись = РегХозрасчетный.Добавить();
РегЗапись.Активность = Истина;
РегЗапись.Период = Объект.Дата;
РегЗапись.Регистратор = Объект.Ссылка;
РегЗапись.Организация = Объект.Организация;
РегЗапись.СчетДт = Сч00501;
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Контрагенты", ПараметрКонтрагент);
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Договоры", ПараметрДоговор);
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Номенклатура", СтрокаПараметров.Номенклатура);
РегЗапись.КоличествоДт = СтрокаПараметров.Количество;
РегЗапись.Сумма = СтрокаПараметров.Сумма;
РегЗапись.Содержание = "Передача оборудования заказчика в монтаж";
СуммаДокумента = СуммаДокумента + СтрокаПараметров.Сумма;
КонецЦикла;
РегХозрасчетный.Записать();
Сч00501 = ПланыСчетов.Хозрасчетный.НайтиПоКоду("005.01");
//Получим параметры из Источника
Если ПараметрыОбъекта <> Неопределено тогда
ТаблицаПараметровТовары = ЗначениеИзСтрокиВнутр(ПараметрыОбъекта["ПараметрТовар"]);
ПараметрКонтрагент = ПараметрыОбъекта["Контрагент"];
ПараметрДоговор = ПараметрыОбъекта["Договор"];
КонецЕсли;
//Получим параметры из Источника
СуммаДокумента = 0;
РегХозрасчетный = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
РегХозрасчетный.Отбор.Регистратор.Значение = Объект.Ссылка;
РегХозрасчетный.Прочитать();
РегХозрасчетный.Очистить();
//Пройдемся по ТЧ Товары переданной из Источника
Для каждого СтрокаПараметров Из ТаблицаПараметровТовары Цикл
РегЗапись = РегХозрасчетный.Добавить();
РегЗапись.Активность = Истина;
РегЗапись.Период = Объект.Дата;
РегЗапись.Регистратор = Объект.Ссылка;
РегЗапись.Организация = Объект.Организация;
РегЗапись.СчетДт = Сч00501;
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Контрагенты", ПараметрКонтрагент);
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Договоры", ПараметрДоговор);
БухгалтерскийУчет.УстановитьСубконто(РегЗапись.СчетДт, РегЗапись.СубконтоДт, "Номенклатура", СтрокаПараметров.Номенклатура);
РегЗапись.КоличествоДт = СтрокаПараметров.Количество;
РегЗапись.Сумма = СтрокаПараметров.Сумма;
РегЗапись.Содержание = "Передача оборудования заказчика в монтаж";
СуммаДокумента = СуммаДокумента + СтрокаПараметров.Сумма;
КонецЦикла;
РегХозрасчетный.Записать();
Глупый вопрос - а зачем?
Ну передадите Вы проводки с документом. Потом раз и проведете его и переданные проводки затрутся. Потому что в типовых доках перед формированием проводок работает замечательная процедура: ПодготовитьНаборыЗаписейКРегистрацииДвижений которая очищает все наборы регистров)
И будут сформированы проводки, определенные кодом ИБ.
Да, конечно и это можно обойти, но потом такую базу с антипаттернами проектирования будет тяжеловато поддерживать.
В КД ИМХО, в части передачи данных регистров, допустимо передавать только РС не подчиненные регистратору, и особый документ - Операция. Остальное - раскидать грабли по полю и ходить по нему с закрытими глазами, рано или поздно наступите все таки.
Ну передадите Вы проводки с документом. Потом раз и проведете его и переданные проводки затрутся. Потому что в типовых доках перед формированием проводок работает замечательная процедура: ПодготовитьНаборыЗаписейКРегистрацииДвижений которая очищает все наборы регистров)
И будут сформированы проводки, определенные кодом ИБ.
Да, конечно и это можно обойти, но потом такую базу с антипаттернами проектирования будет тяжеловато поддерживать.
В КД ИМХО, в части передачи данных регистров, допустимо передавать только РС не подчиненные регистратору, и особый документ - Операция. Остальное - раскидать грабли по полю и ходить по нему с закрытими глазами, рано или поздно наступите все таки.
Вот в этой книге
https://www.labirint.ru/books/285228/
все подробно написано.
Там расписан пример, как передать Ручную операцию между бухгалтериями.
Суть в том, что у ручной операции нет табличной части, вместо нее выступает набор записей регистра бухгалтерия и его передавать надо через дополнительные узлы в формируемом xml файле.
все подробно написано.
Там расписан пример, как передать Ручную операцию между бухгалтериями.
Суть в том, что у ручной операции нет табличной части, вместо нее выступает набор записей регистра бухгалтерия и его передавать надо через дополнительные узлы в формируемом xml файле.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот