1С Как вставить прочерки в печатную форму если нет данных
Сегодня снова поговорим про печатные формы, а именно про заполнение ячеек табличной части прочерками или чем либо еще при отсутствии данных. Выводить и распечатывать документы с пустыми ячейками конечно можно, но это не совсем корректно и правильно, так как понять почему их нет будет невозможно. А причин может быть много, например их забили внести, не правильно формируется и заполняется макет или их там и не должно быть. В общем если вы разрабатываете печатную форму, то лучше сделать проверку на наличие данных и если их нет то так и писать что данных нет либо просто ставить прочерки в печатной форме.
Проверка заполнения 1С
Чтобы все это лучше понять рассмотрим простой пример. Допустим есть документ «Поступление», у него есть печатная форма, в которой печатается информация из табличной части документа «Товары». Т.е на печатать выводиться дата номер документа и информация о товарах, наименование, количество, цена, НДС и сумма. Допустим часть информации была не занесена, скажем где-то не указали наименование, НДС и сумму.
Соответственно в печатной форме эти ячейки будут пустыми.
Если печать происходить из самого документа, т.е. открыли распечатали, увидели что не хватает данных тут же проверили документ, а если печать производится скажем обработкой или из списка выбора, то проверить все это будет намного сложней. Да и опять же не понятно, то ли эти данные не внесли, то ли их и не должно быть или вообще сломалась печатная форма и они из-за этого не подтягиваются.
Лучше сделать проверку и если данных действительно нет то ставить прочерк или так и писать что их нет. Сделать это очень просто, для этого необходимо проверить результат выборки на наличие данных.
Если ВыборкаТовары.Сумма = 0 Тогда
ОбластьТовары.Параметры.Сумма = "--------";
КонецЕсли;
Если ВыборкаТовары.НДС = 0 Тогда
ОбластьТовары.Параметры.НДС = "--------";
КонецЕсли;
Если ПустаяСтрока(ВыборкаТовары.Наименование) Тогда
ОбластьТовары.Параметры.Наименование = "--------";
КонецЕсли;
В моем случае Печать была сформирована с помощью конструктора, и мне достаточно дописать несколько условий в созданный цикл, в котором происходить перебор элементов выборки.
Теперь если данных нет то в печатную форму будут выводиться прочерки. Согласиться такая форма выглядит намного презентабельней чем просто пустые ячейки.
Можно написать о том что данных нет.
Это один из вариантов решения подобной задачи, как вы понимаете их намного больше. Если вы нашли ошибку или знаете более оптимальный способ обязательно напишите.