Медленно закрывается период по 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+ часов. Неслабо для одного передела.


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

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

См. также

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

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

7200 руб.

21.10.2017    88983    336    172    

300

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

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

14400 руб.

29.04.2020    33843    108    152    

75

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

Закрытие месяца в конфигурации 1С:Управлении нашей фирмой — это очень важная задача, которую необходимо выполнять на постоянной основе. Однако, как зачастую бывает, важные и регулярные задачи могут быть упущены из виду. В связи с этим, нами было разработано решение для автоматического закрытия месяца в 1С:УНФ для оптимизации данного процесса.

3600 руб.

30.09.2022    8285    20    0    

20

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

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

5500 руб.

09.10.2020    20162    49    23    

44

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

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    51372    175    29    

127

Закрытие периода Оптовая торговля Розничная торговля Кассовые операции Учет доходов и расходов Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1C:Бухгалтерия 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:CRM ПРОФ, КОРП 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 1С:ERP. Управление холдингом Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Гостиничный бизнес Пищевая промышленность Россия Бухгалтерский учет Бюджетный учет Налоговый учет ЕНВД ЕСХН ИП, ПБОЮЛ, КФХ Налог на прибыль НДС УСН ПСН (патентная система налогообложения) Платные (руб)

Внешняя обработка для ведения в электронной форме КУДиР в 1С - книги учёта доходов и расходов для предприятий на УСН, ПСН, ЕСХН. Заполнение раздела 1 - "доходы и расходы" из журнала документов вашей ИБ (любой конфигурации 1С:Предприятие 8). Формирование отчета Кассовая книга КО-4 по данным раздела 1.

6990 руб.

15.03.2016    117787    290    158    

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