Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Прервать печать ПФ

Прервать печать ПФ
Я
   Shouldercannon
 
19.11.20 - 14:12
Доброго времени суток!
[CODE]Функция Печать(СсылкаНаДок, ТабДок) Экспорт        
    Макет = ПолучитьМакет("Макет");
    ДанныеДляЗаполнения = ПодготовитьДанные(СсылкаНаДок);
    ЗаполнитьЗначенияСвойств(Макет.Параметры, ДанныеДляЗаполнения);
    ТабДок.Вывести(Макет);
    
    Возврат ТабДок;        
КонецФункции

Функция ПодготовитьДанные(ДокОбъект) Экспорт        
    СтруктураВозврата = Новый Структура("Имя");
    Имя = "Something";
    Если НЕ СтрДлина(Имя) > 0 Тогда
        Предупреждение("Поле заполнено неверно!", , "Предупреждение!");
        Возврат Ложь; // Неверное решение
    КонецЕсли;    
    Возврат СтруктураВозврата;        
КонецФункции[/CODE]
Пытаюсь прервать выполнение печати формы, если длина строки [B]Имя[/B] меньше нуля. Не могу никак сообразить как это правильно сделать.
[CODE]Возврат Ложь;[/CODE]
Явно не то, что нужно.
   ZDenis
 
1 - 19.11.20 - 14:23
(0)
ДанныеДляЗаполнения = ПодготовитьДанные(СсылкаНаДок);
Если ДанныеДляЗаполнения = Ложь Тогда
Возврат;
КонецЕсли;


А вообще "Имя" откуда появляется? Можно ведь сразу не печатать если оно не то
   Kassern
 
2 - 19.11.20 - 14:34
Это вообще что за вырвиглаз?
СтруктураВозврата = Новый Структура("Имя");//на кой эта стурктура, если ее дальше не используешь?

Имя = "Something";
Если НЕ СтрДлина(Имя) > 0 Тогда// во-первых, переменная "имя" всегда будет заполнена, строчкой выше ты ее заполнил строкой "Something". Услоие по факту бесполезное. 

//Если уж хочешь что-то проверять на заполненность используй ЗначениеЗаполнено(ТвоеЗначение).
Если в общем, при ошибке заполнения документа нужно прервать печать и сообщить об ошибках, возвращай структуру, где будут ключи ТабДок, ТекстОшибки. Если текстОшибки заполнен, то не печатай и сообщай его, иначе печатай табдок.
   Shouldercannon
 
3 - 19.11.20 - 16:19
Эта структура нужна для заполнения шаблона. Это часть кода. Перменная Имя может быть и пустой - это всего-лишь пример.
   dka80
 
4 - 19.11.20 - 16:27
Если ПустаяСтрока(Имя)

но учти отличия между ПустаяСтрока и ЗначениеЗаполнено
   ДенисЧ
 
5 - 19.11.20 - 16:33
ДанныеДляЗаполнения = ПодготовитьДанные(СсылкаНаДок);
Если НЕ ДанныеДляЗаполнения Тогда Возврат; КонецЕсли
   ДенисЧ
 
6 - 19.11.20 - 16:34
Возврат Неопределено

Или
Возврат Табдок;// Без заполнения

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.