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