Медленно закрывается период по 20, 23, 25, 26 счетам в БП 2.0.42.5(6)

30.11.12

Задачи пользователя - Закрытие периода

Медленно закрывается период по 20, 23, 25, 26 счетам в БП 2.0.42.5(6)

Сегодня бухгалтерия меня поставила перед фактом, медленно закрывается период регламентной операцией закрытия 20, 23, 25, 26 счетов. Скорее даже не просто медленно, а бессмысленно ждать свыше получаса, то что закрывалось еще недавно минут за пять.

Расскопки показали, что обновление БП 2.0.42.5 вносит интересную ошибку. Вероятно это связано с исправлением еще одной ошибки "Исправлена ошибка 10092826 - Закрытие месяца может работать неоптимально на предприятиях с большим количеством производственных операций", однако же эффект радикально обратный.

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

 

Так или иначе в модуле документа "РегламентнаяОперация" изменена процедура "РасчетПрямыхЗатрат".

 

Код до изменения:

  

Процедура РасчетПрямыхЗатрат(СтруктураШапкиДокумента, ВыполненоРаспределениеОХРИлиОПР = Ложь, СтруктураДопПараметров)

    Если
ПорядокПеределов = Неопределено Или ПорядокПеределов.Количество() = 0 Тогда

        Если Не
СтруктураШапкиДокумента.УчетнаяПолитика.ПорядокРаспределенияРасходовНаОказаниеУслуг = Перечисления.ПорядокРаспределенияРасходовНаОказаниеУслуг.ПоПлановымЦенам Тогда

           
ДвиженияПоПрямымЗатратамПоУслугам(СтруктураШапкиДокумента, СтруктураДопПараметров, ВыполненоРаспределениеОХРИлиОПР);
        КонецЕсли;

        Возврат;
    КонецЕсли;

   
КоличествоПеределов = ПорядокПеределов[ПорядокПеределов.Количество() - 1].НомерПередела;

    Для
НомерПередела = 1 По КоличествоПеределов
Цикл

       
ПодразделенияИНоменклатурныеГруппы =
           
ПорядокПеределов.Скопировать(Новый Структура("НомерПередела", НомерПередела), "Подразделение, НоменклатурнаяГруппа");

        Если Не
ВыполненоРаспределениеОХРИлиОПР Тогда
           
ОценкаОстатковНЗПпоРазницам(СтруктураШапкиДокумента, СтруктураДопПараметров, ПодразделенияИНоменклатурныеГруппы);
        КонецЕсли;

       
// Распределение прямых расходов по тем подразделениям, которым присвоен
        // текущий номер передела.
       
МассивНоменклатуры = Новый Массив; // массив номенклатуры, у которой, в результате расчета себестоимости, изменилась средневзвешенная стоимость.
       
ДвиженияПоПрямымЗатратам(СтруктураШапкиДокумента, ПодразделенияИНоменклатурныеГруппы, ВыполненоРаспределениеОХРИлиОПР, МассивНоменклатуры, СтруктураДопПараметров);

        Если
МассивНоменклатуры.Количество() > 0 Тогда
           
КорректирровкаСтоимостиСписанияВыпущеннойПродукции(СтруктураШапкиДокумента, МассивНоменклатуры, ВыполненоРаспределениеОХРИлиОПР, СтруктураДопПараметров);
        КонецЕсли;

    КонецЦикла;

КонецПроцедуры
// РасчетПрямыхЗатрат()


Код после изменения:


Процедура РасчетПрямыхЗатрат(СтруктураШапкиДокумента, ВыполненоРаспределениеОХРИлиОПР = Ложь, СтруктураДопПараметров)

    Если
ПорядокПеределов = Неопределено Или ПорядокПеределов.Количество() = 0 Тогда

        Если Не
СтруктураШапкиДокумента.УчетнаяПолитика.ПорядокРаспределенияРасходовНаОказаниеУслуг = Перечисления.ПорядокРаспределенияРасходовНаОказаниеУслуг.ПоПлановымЦенам Тогда

           
ДвиженияПоПрямымЗатратамПоУслугам(СтруктураШапкиДокумента, СтруктураДопПараметров, ВыполненоРаспределениеОХРИлиОПР);
        КонецЕсли;

        Возврат;
    КонецЕсли;

    Для каждого
Передел Из ПорядокПеределов Цикл

       
ПодразделенияИНоменклатурныеГруппы =
           
ПорядокПеределов.Скопировать(Новый Структура("НомерПередела", Передел.НомерПередела), "Подразделение, НоменклатурнаяГруппа");

        Если
ПодразделенияИНоменклатурныеГруппы.Количество() = 0 Тогда
            Продолжить;
        КонецЕсли;

        Если Не
ВыполненоРаспределениеОХРИлиОПР Тогда
           
ОценкаОстатковНЗПпоРазницам(СтруктураШапкиДокумента, СтруктураДопПараметров, ПодразделенияИНоменклатурныеГруппы);
        КонецЕсли;

       
// Распределение прямых расходов по тем подразделениям, которым присвоен
        // текущий номер передела.
       
МассивНоменклатуры = Новый Массив; // массив номенклатуры, у которой, в результате расчета себестоимости, изменилась средневзвешенная стоимость.
       
ДвиженияПоПрямымЗатратам(СтруктураШапкиДокумента, ПодразделенияИНоменклатурныеГруппы, ВыполненоРаспределениеОХРИлиОПР, МассивНоменклатуры, СтруктураДопПараметров);

        Если НЕ
Отказ И МассивНоменклатуры.Количество() > 0 Тогда
           
КорректирровкаСтоимостиСписанияВыпущеннойПродукции(СтруктураШапкиДокумента, МассивНоменклатуры, ВыполненоРаспределениеОХРИлиОПР, СтруктураДопПараметров);
        КонецЕсли;

    КонецЦикла;

КонецПроцедуры
// РасчетПрямыхЗатрат()


Видно, что привнесли изменение в оператор цикла.

Раньше тело цикла вызывалось по числу раз не более чем число переделов, а теперь ровно столько сколько строк в таблице значений "ПорядокПеределов".

В моей случае в таблице "ПорядокПеределов" в колонке "НомерПередела" везде единица и раньше тело цикла выполнялось один раз для всех 200+ строк этой таблицы (других переделов нет). 

Теперь же выходит, что тело цикла выполняется 200+ раз (по числу строк таблицы значений "ПорядокПеределов"), тогда как достаточно одной итерации чтобы закрыть период.

200+ * 5 минут / 60 минут/час = 16+ часов. Неслабо для одного передела.


Пришлось откатить изменение в документе назад!!!

Если неправ, то прошу направьте на путь истинный

См. также

Анализ расхождений выручки НДС и Налога на прибыль в декларациях (БП 3.0 ПРОФ и КОРП, КА 2, ЕRP)

Анализ учета Закрытие периода Платформа 1С v8.3 Бухгалтерский учет 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Налоговый учет Налог на прибыль НДС Платные (руб)

Каждый бухгалтер не раз сталкивался с требованием от налоговой инспекции пояснить расхождения в показателях декларации по Налогу на прибыль («Доходы от реализации» + «Внереализационные доходы») и налоговой базой по НДС за год. Являются ли ошибкой подобные расхождения? Как пояснить налоговой их причину? Отчет «Анализ расхождений выручки НДС и Налога на прибыль в декларациях» поможет найти все расхождения.

7200 руб.

21.10.2017    84000    259    167    

255

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27946    82    146    

61

Помощник закрытия месяца

Закрытие периода Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

В современных конфигурациях УТ 11, КА 2, ERP 2 и их аналогах присутствует механизм закрытия периода. Но при ошибках учета закрыть период корректно становится практически невозможно! Давайте попробуем разобраться, как можно устранить ошибки и закрыть корректно месяц!

9000 руб.

20.03.2018    70314    267    58    

293

Обработка "Списание доходов будущих периодов" и расширение

Учет доходов и расходов Закрытие периода Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Решение регламентирует учет доходов будущих периодов(ДБП) в организации: сохраняет подробную информацию о объекте ДБП. По окончании месяца на основе введенной информации формируются проводки списания ДБП, отчеты для бухгалтерского и налогового учета. Подходит как для различных версий Бухгалтерии 8.3, так и для ERP и КА.

5500 руб.

09.10.2020    18834    41    18    

38

Автоматическое закрытие месяца в УНФ

Закрытие периода Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Закрытие месяца в Управлении нашей фирмой — это очень важная задача, которую надо выполнять регулярно. Как обычно, все важное и регулярное делать мы почему-то забываем =)

3600 руб.

30.09.2022    7317    13    0    

12

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

Закрытие периода Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22564    302    35    

74

Помощник исправления развернутого сальдо по видам запасов и ГТД

Закрытие периода Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Платные (руб)

Обработка позволяет исправить развернутое сальдо по видам запасов, которое осталось после штатной обработки перепроведения документов. Подходит для конфигураций: УТ 11, КА 2, ERP

2400 руб.

15.07.2017    62651    144    45    

140
Оставьте свое сообщение