02.03.2023 Сергей Пушкин 4564
Лидирующие нули в конфигурации системы 1С:Пре...

Содержание:

1.      Добавление лидирующих нулей в системе программы 1С

2.      Результаты замеров в системе программы 1С: Предприятие  

   

1. Добавление лидирующих нулей в системе программы 1С


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


Чтобы не просто «лишь бы как» сделать метод элемента создания строки с лидирующими нулями, а с толком и с нацеленностью на быстродействие, проведем эксперимент. Реализуем для сравнения 3 алгоритма, и выполним замер времени 1С выполнения на 100000 итераций.


В качестве длины требуемого номера возьмем тоже не совсем маленькое значение: например, 100 символов.


1. Массивы.

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

Результат = СтрСоединить(Новый Массив(Количество + 1), "0");


2. Формат числа.

Через форматирование числа «0» так же можно получить необходимое количество нулей. Для этого необходимо указать дополнительные параметры у функции.

Результат = Формат(0, "ЧЦ=" + Строка(Количество) + ";ЧН=; ЧВН=; ЧГ=0");
// ЧЦ – Число цифр, ЧВН – Выводить лидирующие нули, ЧГ – Группировка разрядов


3. Цикл до требуемого количества нулей.

Последовательно добавляя нули, пока не будет достигнута требуемая длина.

Пока СтрДлина(Результат) < Количество Цикл

Результат = "0" + Результат;

КонецЦикла;   


2. Результаты замеров в системе программы 1С: Предприятие


На первом месте с незначительным отрывом от ближайшего конкурента оказался метод обработки через массив. На втором месте метод обработки через форматирование. Фактически, эти 2 алгоритма можно сравнивать исключительно по строке получения нужного количества нулей, так как далее выполняется абсолютно идентичный код, а замеры этого кода могут немного плясать, тем самым улучшая / ухудшая позицию того или иного метода. Третье непочетное место занял обработчик с использованием цикла. Он остался далеко позади.



Новый


Безусловно, метод цикличной обработки можно немного улучшить, если не вычислять каждый раз «СтрДлина», но он все равно не получит таких результатов, как первые 2.


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

И, ниже, код обработки.



Область


Специалист компании "Кодерлайн"

Сергей Пушкин


Наши проекты

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

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

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

Внедренное типовое решение:
1С:Бухгалтерия КОРП

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

Оптимизация производительности системы
ЗАО ИД «Комсомольская правда»

Отрасль:
Медиа

Внедренное типовое решение:
1С:Бухгалтерия

- Оптимизация производительности системы, в том числе сервера Postgre. ...

Фирма 1С
Фирма 1С

Отрасль:

Внедренное типовое решение:
1С:Документооборот

- Подготовка функциональной модели прикладного решения «1С:Документооборот...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

ООО «Стейдж Энтертейнмент Россия»
ООО «Стейдж Энтертейнмент Россия»

Отрасль:
Театральная деятельность

Внедренное типовое решение:
Платформа 1С:Предприятие 8

Реализован процесс трансформации данных бухгалтерского учета по РСБУ в дан...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:
1С:Управление корпоративными финансами

- Финансово-бухгалтерский блок
- Казначейство ...

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

ООО "Эскорт-Центр"
ООО "Эскорт-Центр"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Сквозной учет затрат по объектам
- Бухгалтерский учет
- Расчет зарплаты...

Внедрение «1С:Зарплата и управление персоналом 8 КОРП» в компании «ПБК»
ООО «Партнер Бухгалтер Консультант»

Отрасль:
Бухгалтерские услуги

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Интеграция продукта с базой данных оперативного учета Axapta;
- Доработка фу...

ООО «Иви.ру»
ООО «Иви.ру»

Отрасль:
Медиаиндустрия

Внедренное типовое решение:
1С:Управление корпоративными финансами

Подсистема казначейства
Модуль бюджетного контроля по ДДС ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение