Медленно закрывается период по 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    86914    292    172    

282

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

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

14400 руб.

29.04.2020    31210    95    151    

68

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

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

9000 руб.

20.03.2018    72843    276    71    

301

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

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

5500 руб.

09.10.2020    19419    46    22    

41

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

Обработка позволяет формировать средствами 1С Налоговую декларацию по НДС (Приложение № 4 к постановлению Правительства Российской Федерации от 26 декабря 2011 г. № 1137 (в ред. Постановления Правительства РФ от 19.08.2017 № 981)  и (в ред. 28.04.2018: ФНС приказом от 06.04.2018 № ММВ-7-6/196@) заполнив файл Excel книгой продаж, покупок по стандарту (Постановления Правительства РФ от 19.08.2017 № 981) (в ред. 28.04.2018: ФНС приказом от 06.04.2018 № ММВ-7-6/196@) или загрузив минимум информации из любой внешней базы. Итог - Декларация в электронном виде для сдачи в ФНС. Повышение с 01.01.2019 ставки НДС с 18 до 20% на основании Федерального закона от 3 августа 2018 года № 303-ФЗ потребовало внести коррективы и в постановление Правительства РФ от 26.12.2011 № 1137

4200 руб.

26.12.2017    46161    94    24    

94

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

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

2400 руб.

15.07.2017    63249    151    45    

148

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

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

3600 руб.

30.09.2022    7836    16    0    

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