|
Прервать печать ПФ
| ☑ |
0
Shouldercannon
19.11.20
✎
14:12
|
Доброго времени суток!
[CODE]Функция Печать(СсылкаНаДок, ТабДок) Экспорт
Макет = ПолучитьМакет("Макет");
ДанныеДляЗаполнения = ПодготовитьДанные(СсылкаНаДок);
ЗаполнитьЗначенияСвойств(Макет.Параметры, ДанныеДляЗаполнения);
ТабДок.Вывести(Макет);
Возврат ТабДок;
КонецФункции
Функция ПодготовитьДанные(ДокОбъект) Экспорт
СтруктураВозврата = Новый Структура("Имя");
Имя = "Something";
Если НЕ СтрДлина(Имя) > 0 Тогда
Предупреждение("Поле заполнено неверно!", , "Предупреждение!");
Возврат Ложь; // Неверное решение
КонецЕсли;
Возврат СтруктураВозврата;
КонецФункции[/CODE]
Пытаюсь прервать выполнение печати формы, если длина строки [B]Имя[/B] меньше нуля. Не могу никак сообразить как это правильно сделать.
[CODE]Возврат Ложь;[/CODE]
Явно не то, что нужно.
|
|
1
ZDenis
19.11.20
✎
14:23
|
(0)
ДанныеДляЗаполнения = ПодготовитьДанные(СсылкаНаДок);
Если ДанныеДляЗаполнения = Ложь Тогда
Возврат;
КонецЕсли;
А вообще "Имя" откуда появляется? Можно ведь сразу не печатать если оно не то
|
|
2
Kassern
19.11.20
✎
14:34
|
Это вообще что за вырвиглаз?
СтруктураВозврата = Новый Структура("Имя"); //на кой эта стурктура, если ее дальше не используешь?
Имя = "Something";
Если НЕ СтрДлина(Имя) > 0 Тогда // во-первых, переменная "имя" всегда будет заполнена, строчкой выше ты ее заполнил строкой "Something". Услоие по факту бесполезное.
//Если уж хочешь что-то проверять на заполненность используй ЗначениеЗаполнено(ТвоеЗначение).
Если в общем, при ошибке заполнения документа нужно прервать печать и сообщить об ошибках, возвращай структуру, где будут ключи ТабДок, ТекстОшибки. Если текстОшибки заполнен, то не печатай и сообщай его, иначе печатай табдок.
|
|
3
Shouldercannon
19.11.20
✎
16:19
|
Эта структура нужна для заполнения шаблона. Это часть кода. Перменная Имя может быть и пустой - это всего-лишь пример.
|
|
4
dka80
19.11.20
✎
16:27
|
Если ПустаяСтрока(Имя)
но учти отличия между ПустаяСтрока и ЗначениеЗаполнено
|
|
5
ДенисЧ
19.11.20
✎
16:33
|
ДанныеДляЗаполнения = ПодготовитьДанные(СсылкаНаДок);
Если НЕ ДанныеДляЗаполнения Тогда Возврат; КонецЕсли
|
|
6
ДенисЧ
19.11.20
✎
16:34
|
Возврат Неопределено
Или
Возврат Табдок; // Без заполнения
|
|