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


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

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

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

11691 руб.

21.10.2017    101306    444    185    

371

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

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

14640 руб.

29.04.2020    51149    140    162    

95

Регламентированный учет и отчетность Операции по ВЭД Закрытие периода Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет НДС Платные (руб)

Расширение для заполнения реестров НДС в 1С:Бухгалтерии предприятия 3.0. Реестр по НДС: КНД 1155112, КНД 1155113, КНД 1155114, КНД 1155115.

14640 руб.

01.08.2025    5470    24    3    

23

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

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

5500 руб.

09.10.2020    23980    68    24    

60

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

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

28466 руб.

20.03.2018    86638    294    79    

318

Закрытие периода 1С 8.3 1С 8.5 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Дополняет стандартную форму закрытия месяца полем «по» и кнопкой «Закрыть период». Позволяет последовательно закрыть несколько месяцев подряд — от выбранного месяца до указанного конечного — в фоне, с отображением прогресса и протоколом по каждому месяцу.

10980 руб.

09.06.2026    337    2    0    

3

Анализ продаж Учет доходов и расходов Закрытие периода Анализ учета Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Отчет показывает валовую прибыль, не требуя закрытия месяца. Показатели выручки и количества полностью совпадают с показателями стандартного отчета. Плюс добавлены дополнительные показатели, которых нет в стандартном - процент наценки, средняя цена закупа, средняя цена продажи за период отчета. Себестоимость товаров рассчитывается исходя из цен закупа на дату продажи (предусмотрено три варианта сбора цен закупа). Учитывает упаковки, валюты, с/без НДС, поддерживает обе версии 2 и 2.5 ценообразования, отбор по сегментам, позволяет исключить продажи между собственными фирмами. Возможна адаптация под вашу конфигурацию

9760 руб.

25.02.2026    1132    5    2    

6
Для отправки сообщения требуется регистрация/авторизация