1с бсп пересчет единиц измерения

Обновлено: 07.07.2024

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

Создание общих алгоритмов

Чтобы общая функция получения коэффициента пересчета была доступна для вызова из модулей форм документов, возможны два варианта ее размещения:

  • В модуле менеджера справочника «Единицы измерения»
  • В общем модуле.

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

Добавим общий модуль ОбщегоНазначенияПовИсп со следующими свойствами:

  • Сервер – Истина
    (т.к. потребуется обращение к таблицам базы данных)
  • Вызов сервера – Истина
    (т.к. функции этого модуля будут вызываться из клиентских модулей – модулей форм документов)
  • Повторное использование возвращаемых значений – На время сеанса
    (Заметим, что даже если это свойство установлено в значение «На время сеанса», время сохранения ранее вычисленных значений функций не превышает 20 минут с момента последнего к ним обращения. А для нашей задачи такая задержка обновления коэффициента пересчета некритична)

Свойства общего модуля ОбщегоНазначенияПовИсп

Рисунок 1 – Свойства общего модуля ОбщегоНазначенияПовИсп

В общем модуле напишем экспортную функцию ПолучитьКоэффициент:

Обратим внимание, что всегда желательно делать проверку результата запроса на пустоту (п. 1):

перед открытием выборки (п. 2):

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

Заметим также, почему в данном случае предпочтительнее использовать именно запрос. Казалось бы, данная функция могла быть гораздо проще:

К сожалению, у Вас недостаточно прав для дальнейшего просмотра.

Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.

Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.

Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.

Читайте также: