По теме из базы знаний
- Порядок обработки результатов инвентаризации, устранение пересортицы, отнесение результатов на МОЛ.
- Незакрытый проект на 1000 часов
- Учет ОС и НМА - расширение для конфигурации "INFOSTART ERP community edition"
- Контроль заполнения субконто
- Переход с УПП на ERP. Сложности выверки регламентированного учета при «плавном переходе»
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Bukaska, там очень-очень много процедур и функций, все выкладывать нет смысла, но вот например:
Только в ней есть хоть что-то связанное с бух проводками
Процедура СформироватьДвиженияПоРегиструСписанныеТовары(
СтруктураШапкиДокумента,
СтрокаТаблицыПоТоварам,
ОбособленныйУчетТоваровПоЗаказам,
НаборЗаписейСписанныеТовары
)
НоваяСтрока = НаборЗаписейСписанныеТовары.Добавить();
НоваяСтрока.Активность = Истина;
НоваяСтрока.Период = СтруктураШапкиДокумента.Дата;
НоваяСтрока.НомерСтрокиДокумента = СтрокаТаблицыПоТоварам.НомерСтроки;
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТаблицыПоТоварам);
НоваяСтрока.Организация = СтруктураШапкиДокумента.Организация;
//Признак отражения в УУ берем из реквизита документа
Если ОтражатьВУправленческомУчете Тогда
НоваяСтрока.Подразделение = СтруктураШапкиДокумента.Подразделение;
КонецЕсли;
Если СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете Тогда
НоваяСтрока.ПодразделениеОрганизации = СтруктураШапкиДокумента.ПодразделениеОрганизации;
КонецЕсли;
Если СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.ПоступлениеОтПереработчика Тогда
НоваяСтрока.ДоговорКонтрагента = СтруктураШапкиДокумента.ДоговорКонтрагента;
Иначе
Если ЗначениеЗаполнено(СтруктураШапкиДокумента.Заказ)
И ТипЗНЧ(СтруктураШапкиДокумента.Заказ) = Тип("ДокументСсылка.ЗаказПокупателя")
И СтруктураШапкиДокумента.Заказ.ВидОперации = Перечисления.ВидыОперацийЗаказПокупателя.Переработка Тогда
НоваяСтрока.ДоговорКонтрагента = СтруктураШапкиДокумента.Заказ.ДоговорКонтрагента;
КонецЕсли;
КонецЕсли;
НоваяСтрока.ДокументОприходованияНовый = СтруктураШапкиДокумента.Ссылка;
НоваяСтрока.Склад = СтруктураШапкиДокумента.Склад;
НоваяСтрока.СкладПолучатель = СтруктураШапкиДокумента.Склад;
Если СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.ВыпускПродукции
ИЛИ СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.ПоступлениеОтПереработчика
Тогда
Если ЗначениеЗаполнено(СтруктураШапкиДокумента.Заказ) Тогда
НоваяСтрока.ЗаказСписания = СтруктураШапкиДокумента.Заказ;
Иначе
НоваяСтрока.ЗаказСписания = Неопределено;
КонецЕсли;
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.КомплектацияНоменклатуры Тогда
Если ЗначениеЗаполнено(НоваяСтрока.ДоговорКонтрагента)
И НоваяСтрока.ДоговорКонтрагента.ОбособленныйУчетТоваровПоЗаказамПокупателей
Тогда
НоваяСтрока.ЗаказСписания = ?((ЗначениеЗаполнено(СтруктураШапкиДокумента.ЗаказРезерв)) И (ТипЗНЧ(СтруктураШапкиДокумента.ЗаказРезерв) = Тип("ДокументСсылка.ЗаказПокупателя")), СтруктураШапкиДокумента.ЗаказРезерв, Неопределено);
КонецЕсли;
КонецЕсли;
Если СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.ПоступлениеОтПереработчика Тогда
Если ЗначениеЗаполнено(СтруктураШапкиДокумента.ЗаказВыпуска)
И ТипЗНЧ(СтруктураШапкиДокумента.ЗаказВыпуска) = Тип("ДокументСсылка.ЗаказПоставщику")
Тогда
НоваяСтрока.ЗаказПартии = СтруктураШапкиДокумента.ЗаказВыпуска;
Иначе
НоваяСтрока.ЗаказПартии = Неопределено;
КонецЕсли;
ИначеЕсли ЗначениеЗаполнено(СтруктураШапкиДокумента.ЗаказРезерв)
И (
ОбособленныйУчетТоваровПоЗаказам
И СтрокаТаблицыПоТоварам.СпособСписанияОстаткаТоваров = Перечисления.СпособыСписанияОстаткаТоваров.ИзРезерва
ИЛИ
СтруктураШапкиДокумента.ВидОперации <> Перечисления.ВидыОперацийКомплектацияНоменклатуры.КомплектацияНоменклатуры
И СтрокаТаблицыПоТоварам.СтатусМатериальныхЗатрат = Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку
)
Тогда
НоваяСтрока.ЗаказПартии = СтруктураШапкиДокумента.ЗаказРезерв;
Иначе
НоваяСтрока.ЗаказПартии = Неопределено;
КонецЕсли;
// Заполнение допустимых статусов партий.
Если СтруктураШапкиДокумента.ВидОперации <> Перечисления.ВидыОперацийКомплектацияНоменклатуры.КомплектацияНоменклатуры
И СтрокаТаблицыПоТоварам.СтатусМатериальныхЗатрат = Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку
Тогда
НоваяСтрока.ДопустимыйСтатус1 = Перечисления.СтатусыПартийТоваров.ВПереработку;
НоваяСтрока.КоличествоПоступление = НоваяСтрока.Количество;
НоваяСтрока.НоменклатураНовая = НоваяСтрока.Номенклатура;
НоваяСтрока.ХарактеристикаНоменклатурыНовая = НоваяСтрока.ХарактеристикаНоменклатуры;
НоваяСтрока.СерияНоменклатурыНовая = НоваяСтрока.СерияНоменклатуры;
Иначе
НоваяСтрока.ДопустимыйСтатус1 = Перечисления.СтатусыПартийТоваров.Купленный;
НоваяСтрока.ДопустимыйСтатус2 = Перечисления.СтатусыПартийТоваров.НаКомиссию;
НоваяСтрока.ДопустимыйСтатус3 = Перечисления.СтатусыПартийТоваров.Продукция;
КонецЕсли;
Если СтруктураШапкиДокумента.ВидКомплектации = Перечисления.ВидыКомплектации.Сборка Тогда
НоваяСтрока.СтатусПартииНовый = СтруктураШапкиДокумента.СтатусПартии;
ИначеЕсли СтруктураШапкиДокумента.ВидКомплектации = Перечисления.ВидыКомплектации.Разборка Тогда
НоваяСтрока.СтатусПартииНовый = СтрокаТаблицыПоТоварам.СтатусПартии;
КонецЕсли;
Если СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.ПоступлениеОтПереработчика
ИЛИ СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.ВыпускПродукции
Тогда
НоваяСтрока.КорСубконтоБУ1 = СтруктураШапкиДокумента.ПодразделениеОрганизации;
НоваяСтрока.КорСубконтоБУ2 = СтруктураШапкиДокумента.НоменклатурнаяГруппа;
Если СтруктураШапкиДокумента.ВидКомплектации = Перечисления.ВидыКомплектации.Сборка Тогда
НоваяСтрока.КорСубконтоБУ3 = СтрокаТаблицыПоТоварам.СтатьяЗатрат;
Иначе
НоваяСтрока.КорСубконтоБУ3 = СтруктураШапкиДокумента.СтатьяЗатрат;
КонецЕсли;
НоваяСтрока.НоменклатурнаяГруппа = СтруктураШапкиДокумента.НоменклатурнаяГруппа;
КонецЕсли;
Если ВидКомплектации = Перечисления.ВидыКомплектации.Разборка Тогда
НоваяСтрока.СчетУчетаБУ = СтруктураШапкиДокумента.СчетУчетаБУ;
НоваяСтрока.СчетУчетаНУ = СтруктураШапкиДокумента.СчетУчетаНУ;
КонецЕсли;
// Заполнение корр. счетов по бухгалтерскому и налоговому учету.
Если СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.КомплектацияНоменклатуры Тогда
Если СтруктураШапкиДокумента.ВидКомплектации = Перечисления.ВидыКомплектации.Сборка Тогда
НоваяСтрока.КорСчетБУ = СтруктураШапкиДокумента.СчетУчетаБУ;
НоваяСтрока.КорСчетНУ = СтруктураШапкиДокумента.СчетУчетаНУ;
Иначе
НоваяСтрока.КорСчетБУ = СтрокаТаблицыПоТоварам.СчетУчетаБУ;
НоваяСтрока.КорСчетНУ = СтрокаТаблицыПоТоварам.СчетУчетаНУ;
КонецЕсли;
Иначе
Если СтрокаТаблицыПоТоварам.СтатусМатериальныхЗатрат = Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку Тогда
НоваяСтрока.КорСчетБУ = ПланыСчетов.Хозрасчетный.МатериалыПринятыеВПереработкуВПроизводстве;
НоваяСтрока.КорСчетНУ = Неопределено;
Иначе
НоваяСтрока.КорСчетБУ = СтруктураШапкиДокумента.СчетЗатрат;
НоваяСтрока.КорСчетНУ = СтруктураШапкиДокумента.СчетЗатратНУ;
КонецЕсли;
КонецЕсли;
// Для налогового учета УСН используется счет учета по бухгалтерскому учету.
Если СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСН Тогда
НоваяСтрока.СчетУчетаНУ = НоваяСтрока.СчетУчетаБУ;
НоваяСтрока.КорСчетНУ = НоваяСтрока.КорСчетБУ;
КонецЕсли;
// Заполнение кодов операций.
Если СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.КомплектацияНоменклатуры Тогда
НоваяСтрока.КодОперацииПартииТоваров = Перечисления.КодыОперацийПартииТоваров.Комплектация;
ИначеЕсли СтруктураШапкиДокумента.ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.ВыпускПродукции Тогда
НоваяСтрока.КодОперацииПартииТоваров = Перечисления.КодыОперацийПартииТоваров.СписаниеПартийВПроизводствоОперативно;
ИначеЕсли ВидОперации = Перечисления.ВидыОперацийКомплектацияНоменклатуры.ПоступлениеОтПереработчика Тогда
НоваяСтрока.КодОперацииПартииТоваров = Перечисления.КодыОперацийПартииТоваров.СписаниеПартийПереданныхВПроизводство;
КонецЕсли;
//При допроведении признак отражения в УУ должен быть как реквизит документа
НоваяСтрока.ОтражатьВУправленческомУчете = ОтражатьВУправленческомУчете;
НоваяСтрока.ОтражатьВБухгалтерскомУчете = СтруктураШапкиДокумента.ОтражатьВБухгалтерскомУчете;
Если СтруктураШапкиДокумента.ВидОперации <> Перечисления.ВидыОперацийКомплектацияНоменклатуры.КомплектацияНоменклатуры
И СтрокаТаблицыПоТоварам.СтатусМатериальныхЗатрат = Перечисления.СтатусыМатериальныхЗатратНаПроизводство.ПринятыеВПереработку
Тогда
НоваяСтрока.ОтражатьВНалоговомУчете = Ложь;
Иначе
НоваяСтрока.ОтражатьВНалоговомУчете = СтруктураШапкиДокумента.ОтражатьВНалоговомУчете ИЛИ СтруктураШапкиДокумента.ОтражатьВНалоговомУчетеУСН;
КонецЕсли;
КонецПроцедуры // СформироватьДвиженияПоРегиструСписанныеТовары()
ПоказатьТолько в ней есть хоть что-то связанное с бух проводками
Возможно проводки делаются подписками на события (тем более в коде Вы не нашли), возможно в предыдущей версии документ был указан в какой-то подписке на событие, а после обновления это слетело (т.к. использовалась типовая подписка). Лучший вариант, добавить свою аналогичную подписку, и ней прописать нетиповой документ.
Пожалуй наиболее быстрый способ, запустить замер производительности начиная с начала ОбработкаПроведения, и затем посмотреть все модули, где выполнялся код (наверняка один из общих модулей будет связан с подпиской)
Пожалуй наиболее быстрый способ, запустить замер производительности начиная с начала ОбработкаПроведения, и затем посмотреть все модули, где выполнялся код (наверняка один из общих модулей будет связан с подпиской)
Для формирования проводок в таких документах используется общий макет "Счета учета в документах". Поэтому прежде чем тупо копировать какие либо документы, необходимо заглянуть сначала в макет, и при необходимости добавить в макет, поведение документа при его проведении. Все сделано достаточно просто и наглядно.
(6) elisabet, действительно используется общий макет "Счета учета в документах". Однако отладчиком проверил, всё вроде как отрабатывает. Из бэкапа поднял конфу до обновления и запустил отладчик и там и там - проведение отрабатывает везде одинаково, но до обновления проводки появляться, а после нет. :(
Не в качестве рекламы: А еще быстрой проверки подписок на событие в проекте Снегопат (есть здесь где то), есть отчет, которые показывает для каждого объекта его подписки, иногда пользуюсь для подобных целей (достаточно было составить его для базы до, и для базы после, и сравнить у конкретного дока все подписки). Но проект похоже заморожен (не знаю, надолго ли)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот