Ускорение расчета себестоимости в УПП (партионный учет)

31.01.14

База данных - HighLoad оптимизация

Не секрет, что в момент закрытия периода в УПП приходится неоднократно перепроводить регламентный документ «Расчет себестоимости» для устранения ошибок в учете и получения корректной себестоимости выпуска. И здесь ключевую роль играет время, за которое выполняется полный расчет себестоимости.

Используем партионный учет. Списание партий "по средней".

Как то в очередной раз разбираясь с расчетом себестоимости я заметил такую вещь, что в файловой базе полный расчет выполнялся за 30 секунд, а в серверной порядка 10 минут.

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

Посмотрев текст запроса и просто добавив соответствующие индексы во временные таблицы по способам распределения мы получили ускорение при проведении документа «Расчет себестоимости» в серверной базе почти в 20 раз (10 минут => 30 секунд).

Здесь следует сделать одно замечание: данный способ хорошо работает только в том случае, если в результирующей временной таблице по способам распределения большое число записей. Проверить это просто – выполните запрос из процедуры СформироватьВременнуюТаблицуСпособыРаспределения в консоли. В моем случае в выборке было порядка 100 тыс. записей (90 способов распределения на ~ 1200 подразделений организации (у нас это объекты строительства с этапами)).

Ниже приведены фрагменты кода:

  1. В процедуру СформироватьВременнуюТаблицуСпособыРаспределения сразу после запроса добавляем строки (см. комментарии //ТВИ):

ТекстЗапросаСКомментариями = "

|ВЫБРАТЬ РАЗЛИЧНЫЕ

…(полный текст запроса)...

|";

 

 

//

            ТекстЗапросаСКомментариями = ТекстЗапросаСКомментариями + "ИНДЕКСИРОВАТЬ ПО

|           СтатьяЗатрат,

|           Подразделение,

|           //ДляБухУчета СчетЗатрат,

|           //ДляНалУчета СчетЗатрат,

|           //ДляМеждУчета СчетЗатрат,

|           Период";

//


  1. В функцию СформироватьЗапросПоСпособамРаспределенияЗатрат сразу после строки ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//Поместить", ""); добавляем следующие строки (см. комментарии //ТВИ):

           

Если ФормироватьВременнуюТаблицу Тогда

                        ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "//Поместить", "");

                        //

                        Если ВидОтраженияВУчете = Перечисления.ВидыОтраженияВУчете.ОтражатьВУправленческомУчете Тогда

                                   ТекстЗапроса = ТекстЗапроса + "ИНДЕКСИРОВАТЬ ПО

                                                           СпособыРаспределения.СтатьяЗатрат,    

                                                           СпособыРаспределения.Подразделение";

                        Иначе

                                   ТекстЗапроса = ТекстЗапроса + "ИНДЕКСИРОВАТЬ ПО

                                                           СпособыРаспределения.СтатьяЗатрат,    

                                                           СпособыРаспределения.Подразделение,

                                                           СпособыРаспределения.СчетЗатрат";

                        КонецЕсли;

                        //

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

ускорение расчет себестоимости УПП

См. также

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

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

21.10.2017    99040    413    SergeyMordvin    177    

361

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

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

28466 руб.

20.03.2018    84185    293    76    

317

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

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

14640 руб.

29.04.2020    48695    131    159    

88

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

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

14640 руб.

01.08.2025    3834    18    2    

18

Закрытие периода Оптовая торговля Розничная торговля Кассовые операции Учет доходов и расходов Бухгалтер 1С:Предприятие 8 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.

7107 руб.

15.03.2016    123551    309    174    

289

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

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

5084 руб.

15.07.2017    67346    169    49    

165

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

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

5500 руб.

09.10.2020    23197    62    24    

55
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. kapustinag 05.02.14 10:45 Сейчас в теме
Воспользовался Вашим советом и получил сначала на тестовой базе, а потом и на рабочей ускорение расчета себестоимости по бух.учету примерно в 2.5 - 3 раза. Проведение документа было 2ч 40 минут - 2ч 50 минут - стало 50 минут - 1 ч.
Временная таблица, которую индексировали в функции СформироватьВременнуюТаблицуСпособыРаспределения(), у меня содержит 142000 строк.

Думаю, программисты фирмы 1С не предполагали в ней такого большого количества строк.
А, если вдуматься, разбухание этой таблицы практически неизбежно на производственной информационной базе - хотя бы из-за пометки на удаление некоторых подразделений и создания новых. Старые-то подразделения удалить нельзя.
katod1985; V.Nikonov; +2 Ответить
3. wolfsoft 2421 05.02.14 11:23 Сейчас в теме
(1) kapustinag, есть стойкое ощущение, что программисты 1с вообще не предполагают, как их детища будут работать на реальных предприятиях...
Zerocool-2013; +1 Ответить
2. kapustinag 05.02.14 10:50 Сейчас в теме
На самом деле, при внимательном взгляде на запросы в этом общем модуле ПроцедурыРасчетаСебестоимостиВыпуска, видны еще возможности для ускорения.
Попробую; напишу, если будет существенный эффект.
4. I_r_a 11.02.14 11:01 Сейчас в теме
Раньше себестоимость считалась 20-30 мин, сейчас около 5 минут, большое спасибо.
katod1985; +1 Ответить
6. olbu 10.10.14 09:59 Сейчас в теме
(4) I_r_a,
Доброго времени суток!
Можно у вас спросить, как вы добились таких скоростных результатов?
Исключая "железо"...
Может какие настройки у вас на это повлияли? у нас проведение РСВ длится уже 2 часа...
5. olbu 07.10.14 10:15 Сейчас в теме
Вот и я столкнулся с этой проблемой... РСВ БУ проводится около 1,5 часа, финансисты в ужасе...
сделал как тут указано... скорость проведения, со слов финансистов не изменилась...
сисадмин уже провел все возможные комбинации с sql и 1с сервером, теперя все косые взгляды на меня... :(

Вопрос:
Используется "котловой" метод, 2 номенклатурные группы, Партионный учет... Без 40 счета...
Может есть какие - либо настройки в УПП, влияющие на скорость проведения РСВ?
Для отправки сообщения требуется регистрация/авторизация