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

Публикация № 255469

Администрирование - Производительность и оптимизация (HighLoad)

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

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

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

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

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

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

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

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

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

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

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

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

|";

 

 

//

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

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

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

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

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

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

|           Период";

//


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

           

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

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

                        //

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

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

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

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

                        Иначе

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

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

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

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

                        КонецЕсли;

                        //

Специальные предложения

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

Думаю, программисты фирмы 1С не предполагали в ней такого большого количества строк.
А, если вдуматься, разбухание этой таблицы практически неизбежно на производственной информационной базе - хотя бы из-за пометки на удаление некоторых подразделений и создания новых. Старые-то подразделения удалить нельзя.
user712426; V.Nikonov; +2 Ответить
3. wolfsoft 2421 05.02.14 11:23 Сейчас в теме
(1) kapustinag, есть стойкое ощущение, что программисты 1с вообще не предполагают, как их детища будут работать на реальных предприятиях...
2. kapustinag 05.02.14 10:50 Сейчас в теме
На самом деле, при внимательном взгляде на запросы в этом общем модуле ПроцедурыРасчетаСебестоимостиВыпуска, видны еще возможности для ускорения.
Попробую; напишу, если будет существенный эффект.
4. I_r_a 11.02.14 11:01 Сейчас в теме
Раньше себестоимость считалась 20-30 мин, сейчас около 5 минут, большое спасибо.
user712426; +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 счета...
Может есть какие - либо настройки в УПП, влияющие на скорость проведения РСВ?
Оставьте свое сообщение

См. также

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

4900 рублей

Оптимизация запросов 1с посредством индексации временных таблиц. Миф? Тестируем, смотрим, считаем.

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования

Появилось свободное время, решил проверить на работе индексацию таблиц. Решил поделиться с Вами результатами исследования. Платформа 8.3.16.1224

03.04.2020    796    feva    4       

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    5154    informa1555    14       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Многострочный контекст событий

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Технологический журнал

Разбор технологического журнала с группировкой событий по первой или последней строке многострочного контекста.

31.03.2020    1029    vasilev2015    9       

Анализ взаимоблокировок

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Технологический журнал

Скрипт Bash, который выводит полную информацию взаимоблокировок по технологическому журналу. Не имеет аналогов в отечественных публикациях.

20.03.2020    2332    vasilev2015    21       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Многопоточность

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Производительность и оптимизация (HighLoad)

Увеличиваем скорость загрузки данных в 20 раз. Как следует использовать многопоточность и готовый модуль для внедрения.

18.03.2020    3221    kaliuzhnyi    43       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Планы запросов - это просто! Разбор оптимизаций запросов PostgreSQL на живых примерах

Статья Программист Нет файла v8::Запросы Бесплатно (free) Производительность и оптимизация (HighLoad)

Проблема быстродействия 1С напрямую зависит от производительности запросов. Но как понять механику работы СУБД с помощью плана запроса? Андрей Овсянкин и Никита Грызлов на конференции Infostart Event 2019 Inception подробно рассмотрели алгоритм работы с планом запроса СУБД PostgreSQL, полученным из технологического журнала, и рассказали, на что обратить внимание, чтобы оптимизировать работу системы.

17.02.2020    5647    Evil Beaver    13       

Оптимизатор запросов. Вторая часть

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Продолжение статьи об оптимизаторе запросов. Во второй части мы попробуем создать свой оптимизатор и попутно разберемся с такими вопросами, как: хранение файлов; индексы; статистика.

23.01.2020    4249    darkdan77    59       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Улучшаем производительность 1С. Рекомендации

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

Каждый уважаемый разработчик 1С сталкивался или столкнется с вопросом производительности высоконагруженных систем. В статье агрегирован основной набор рекомендаций, который позволит повысить производительность системы. Эти рекомендации должны быть просто must have по определению.

23.01.2020    5528    Kaval88    26       

"Секреты" закрытия месяца в 1С:ERP

Статья Программист Бухгалтер Пользователь Нет файла v8 ERP2 Россия БУ НУ Бесплатно (free) Закрытие периода

В рамках данной статьи мне хотелось обобщить в одном месте накопленную информацию по закрытию периода в 1С:ERP. Цель – дать консультанту, внедряющему регламентированный учет и расчет себестоимости в 1С:ERP, инструмент, с помощью которого он сможет понять, на основании чего в Закрытии месяца появляются те или иные операции, какие регистры анализирует система, какие действия должны быть выполнены по результатам.

22.01.2020    10956    1СERP    39       

Екатеринбург.Online: Голосование продолжается Промо

Продолжается голосование за доклады на INFOSTART MEETUP Екатеринбург.Online! Лучшие из них попадут в окончательную программу онлайн-митапа! Присоединяйтесь к голосованию и покупайте билеты - 3 000 рублей за 8 часов продуктивной пятницы!

3000

Мониторим производительность с помощью 1С RAS

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Производительность и оптимизация (HighLoad)

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    6812    ivanov660    16       

Весёлые картинки о работе Performance Monitor на Windows Server 2016 Std по мотивам расследования потери производительности на базе 1С

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

Данная публикация посвящена одной особенности Performance Monitor на Windows Server 2016 Std. Как понимать графики Performance Monitor на Windows Server 2016 Std при расследовании проблем в работе 1С.

22.10.2019    5038    EugeneSemyonov    11       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

BAS ERP: Рекомендации по ведению учета для успешного закрытия месяца

Статья Программист Бухгалтер Пользователь Нет файла v8 ERP2 1С:Франчайзи, автоматизация бизнеса Украина БУ УУ Бесплатно (free) Производство Закрытие периода

Данная публикация содержит перечень рекомендаций для устранения основных и часто попадающихся ошибок при ведении учета производства (и не только).

26.09.2019    4834    JohnGalt    10       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Мониторинг высоконагруженной системы

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Высоконагруженной системе (более 8000 клиентских сессий) мониторинг необходим. Про опыт использования инструментов для мониторинга – самописной системы информирования, написанной на C#, и конфигурации «Центр контроля качества» в связке с системой отображения данных Grafana, на конференции Infostart Event 2018 Education рассказал Олег Репников.

13.09.2019    6963    Repich    5       

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С Zabbix

Описанные в данном опусе механизмы ни в коей мере не противопоставляются тому, что реализует КИП от 1С или какие-либо другие инструменты (решения)! Это всего лишь еще один взгляд на "проблему", который может быть полезен в некоторых ситуациях.

10.09.2019    14371    Sloth    21       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 20 апреля по 15 мая 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

Анализ производительности APDEX

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Отчет для просмотра и анализа замеров производительности в конфигурациях на базе БСП.

31.08.2019    7691    176    YPermitin    7       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

12000 рублей

Неочевидные проблемы производительности: важность системного подхода при анализе

Статья Программист Нет файла v8 Россия MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Часто программисты и 1С-ники сталкиваются с совершенно необъяснимыми на первый взгляд проблемами. Но это потому, что их внимание направлено только на один сегмент системы, а не на всю систему полностью. О том, почему нужно стараться смотреть на ситуацию комплексно, рассказал специалист по производительности компании SOFTPOINT Александр Денисов.

19.07.2019    7069    Филин    12       

Ловля блокировок на связке "Microsoft SQL server - 1С"

Статья Системный администратор Программист Нет файла v8 v8::blocking MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Материал относится к базам данных на связке «1С - MS SQL Server». Один из способов отлова блокировок в бд 1С . Переход к управляемым блокировкам через режим "Автоматический и управляемый".

16.07.2019    7127    fhqhelp    0       

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500-9500 рублей

Анти-оптимизация: как мы ускорили запрос в 4 раза, сделав его неоптимальным

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Решение задач на 1С:Специалист Разработка

В этой статье приведен пример неочевидной "оптимизации" запроса, которая противоречит всем правилам, описанным в книгах для подготовки к сертификации "1С:Эксперт по технологическим вопросам", а также преподаваемым на курсах подготовки экспертов.

02.07.2019    8978    igordynets    119       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Ускорение чтения правил обмена в УПП 1.3 в 20 раз!

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Способ оптимизации чтения правил обмена конвертации данных. Может понадобиться при большом размере правил и высокой периодичности обмена.

27.06.2019    8056    YPermitin    16       

Хотите снизить нагрузку на процессор сервера в 2 раза?

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

В статье рассмотрено влияние частого запуска регламентных заданий на процессор сервера 1С.

27.06.2019    7319    Дмитрий74Чел    6