Каталог решений - Закрытие месяца в ERP. Расширение для просмотра временных таблиц

Закрытие месяца в ERP. Расширение для просмотра временных таблиц

Закрытие месяца в ERP. Расширение для просмотра временных таблиц

В наличии

Конфигурация расширения для просмотра временных таблиц, которые формируются в процессе закрытия месяца. Предназначена для анализа ошибок при расчете себестоимости.

Категория:

Описание

Закрытие месяца в ERP. Протокол с почти 100 пунктами! В каждом из пунктов протокола формируются временные таблицы:

процедура общего модуля РасчетСебестоимости.РассчитатьВсе. Предлагаем расширение с отчетом для просмотра данных из временных таблиц протокола по результатам закрытия месяца.

Подключение функционала.

1. Подсистема поставляется в виде расширения. Подключаем расширение или копируем подсистему в требуемую конфигурацию. Состав подсистемы простой: общий модуль, константа, отчет, справочник и регистр сведений.

2. В процедуру РасчетСебестоимости.РассчитатьВсе добавляем в требуемом месте, например, после // Этап 17 (расчет фактической себестоимости) код для записи данных по временным таблицам:

...
Если ВыполняетсяЗакрытиеМесяца Тогда
   ПросмотрВТ_ЗакрытиеМесяцаПросмотрВТ.ЗаписатьДанныеДляПросмотраВТ(ПараметрыРасчета.МенеджерВременныхТаблиц.Таблицы, ПараметрыРасчета.ПротоколРасчета.Идентификатор);
КонецЕсли;
...

3. В форме списка РС "ПротоколыРасчетаПартийИСебестоимости" в процедуре ПриСозданииНаСервере в конце добавляем код для выбора протокола в отчете:

Если Параметры.Свойство("РКС_РежимВыбораПротокола") Тогда
	Элементы.Список.РежимВыбора = Истина;
КонецЕсли;

Подсистема встроена. Запускаем закрытие месяца. После окончания процедур закрытия отчетом можно просматривать временные таблицы.

Рекомендации.

Причина по которой было написано расширение — не закрывались временные разницы. Система сообщала, что на остатке по счету при нулевом количестве есть сумма временной разницы:

 Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации "Модуль ПАО" на конец периода Февраль 2023: Организация: "Модуль ПАО"; Раздел учета: "Незавершенное производство"; Аналитика номенклатуры: "Металл листовой по 2 м2; Производство, Кофточки, 0000-2, 12.02.2023 (Заказ на производство); Материал"; Вид запасов: "Собственный товар; Группа: Материалы; Организация: Модуль ПАО"; Партия: "Заказ на производство (0000-2.1, 12.02.2023); Группа затрат: Кофточка зимняя"; Вид деятельности НДС: "Продажа облагается НДС"; Временная разница: "1 444"

Рекомендация — моделирование проблематики на небольшой демо базе. У меня не "маленькая" ИБ и процесс закрытия занимает порядка 2-4 часов. Некоторые основные временные таблицы свыше 5 млн. записей. Согласитесь — лезть в отладку непонятно в какой блок модулей закрытия — наверное, нет смысла. Понять за сжатый срок полностью весь код — не реально, по крайней мере, пока, для меня. Поэтому я смоделировал проблематику закрытия на мини демо базе — ИБ с минимальным набором данным, но полностью воспроизводящая требуемые ошибки при закрытии месяца. Далее, просмотр временных таблиц и связей вывел на код, который был "ответственен" за ошибку. И, как результат — это оказалась недоработка типовой конфигурации (у меня 1С:ERP. Управление холдингом (3.1.9.6)). Судите, сами:

РасчетСебестоимостиКорректировкаСтоимости.СкорректироватьСтоимостьСписанияНезавершенногоПроизводства22
#Область ВтТаблицаКорректировкиВрем
...
Новый релиз:
                |             ВЫРАЗИТЬ(
                |                             ТаблицаКорректировки.КоличествоРегл
                |                                             * ЕСТЬNULL(СтоимостиРегл.ВременнаяРазница, 0)
                |             КАК ЧИСЛО(31,2)) КАК ВременнаяРазница,
 
Текущий релиз:
                |             ВЫРАЗИТЬ(
                |                             ТаблицаКорректировки.КоличествоРегл
                |                                             * ВЫБОР
                |                                             КОГДА НЕ ТаблицаКорректировки.ПрямыеЗатратыНУ И ТаблицаКорректировки.ПринимаемыеВНУ
                |                                                             ТОГДА 0
                |                                                             ИНАЧЕ ЕСТЬNULL(СтоимостиРегл.ВременнаяРазница, 0) КОНЕЦ
                |             КАК ЧИСЛО(31,2)) КАК ВременнаяРазница,
 
...

Проблема успешно локализована. Закрытие месяца продолжилось.

 

P.S. Если просматривать данные не на демо базах. Идентификацию пакетов по временным таблицам лучше всего сделать через число и уже в запросе отбирать требуемые номера данных. Сейчас, тип измерения ИдентификаторДанных — УникальныйИдентификатор и используется объектная техника отбора по номерам таблиц. Это влияет на потребление оперативной памяти на сервере приложения.

has been added to your cart:
Оформление заказа