1 марта 2022 г.

1С Программно изменить длину реквизита

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

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

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

Второй вариант - воспользоваться маской поля ввода для реквизита объекта, и менять по потребности маску. Т.е. длину реквизита объекта ставим в 11 символов (длина большинства номеров документов в 1С), потом устанавливаем маску, для длины 11 символов это будет одиннадцать собак (@) или другой спецсимвол. Допустим я вижу что префикс >0, тогда я вывожу маску длинной равной разнице длины реквизита и префикса, это делается на раз обычным циклом. Но в этом варианте также нужно добавить обработчик обрезающий значение реквизита, иначе это все фикция


Печальное наблюдение, в УНФ прямо несоразмерное количество вызов процедур и функций обрабатывающих отображение номеров (расходные накладные и счета фактуры). Один и тот же код вызывается по нескольку раз на объект, не только при печати, но и при открытии формы объекта и, замечу, формы списка! 

Комментариев нет:

Отправить комментарий