Практический кейс по 1С

Как ускорили расчет наценки на товар в 1С

Расчет наценки обращался к данным внутри цикла. Подготовили набор значений заранее и заменили повторный поиск обращением к памяти.

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

Разбор задачи

Что изменили и как доказали эквивалентность

Ситуация

Для каждой позиции обработка заново обращалась к базе за значением наценки.

Диагностика

Сравнили условия запроса, ключи сопоставления и случаи отсутствующего значения до изменения алгоритма.

Решение

Подготовили соответствие по нормализованному ключу и заменили повторные запросы быстрым поиском в памяти.

Проверка

На контрольной выборке из десятков тысяч сравнений старый и новый вариант не дали расхождений, включая граничные случаи.

Результат

Обработка ускорилась примерно в 20 раз

После переноса повторяющегося поиска из базы в память обработка стала заметно быстрее, а правила расчета сохранились. Такой подход применим только после проверки эквивалентности условий.

Что проверить перед оптимизацией расчета

Условия запроса

Сохранить отборы, период, организацию, характеристики и правила выбора единственного значения.

Ключ поиска

Нормализовать строковые ключи одинаково при заполнении соответствия и при поиске.

Сравнение результата

Проверить новый алгоритм на обычных, повторных, пустых и пограничных данных.

Частые вопросы

Вопросы по ускорению расчетов в 1С

Можно ли заменить запрос в цикле поиском в памяти?

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

Как доказать, что результат не изменился?

Нужно сравнить старую и новую реализацию на контрольном наборе данных и отдельно проверить граничные случаи.

Что делать, если товар не найден?

Нужно заранее определить правило для пропуска, сообщения об ошибке или расчета значения по умолчанию.

Можно проверить расчет на копии базы?

Да, производительность и эквивалентность лучше сначала проверять на копии или контрольном наборе данных.

Сколько стоит оптимизация расчета в 1С?

Стоимость зависит от объема обработки, числа условий, размера данных и требований к доказательству эквивалентности.

Можно оформить работу по договору?

Да, возможна работа с ИП по договору, счету, безналичной оплате, акту и ЭДО по согласованию.

Связанные услуги

Предварительная оценка

Можно найти узкое место в расчете 1С

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

Проверить расчет

Контекст опубликованного кейса

Кейс — это ориентир для обсуждения, а не обещание результата

Фактический объём работ зависит от конфигурации, релиза, доработок, данных и критериев приёмки. Порядок работы один: сначала согласуем задачу и результат, затем объём, срок и стоимость; перед рискованными изменениями проверяем резервную копию и работаем на копии; выполняем только согласованный объём и проверки; затем показываем, принимаем и передаём результат с закрывающими документами.

Контакты

Расскажите о задаче

Опишите, что нужно сделать. Этого достаточно, чтобы начать разбор и уточнить детали.

+7 (925) 288-65-12

Выберите удобный канал или оставьте заявку — контактные данные нужны только для ответа по задаче.

ИП Невмываченко Антон Викторович · ИНН 234807687111 · ОГРНИП 318502900005691

Условия обработки указаны в Политике обработки персональных данных.

Проверка перед отправкой

Загрузка проверки…

ПозвонитьОставить заявку

JavaScript отключён, поэтому необязательная аналитика не загружается. Подробнее — политика обработки данных.