|
Макет | ☑ | ||
---|---|---|---|---|
0
Singenor
15.05.12
✎
17:22
|
Имеется печатная форма, нужно, что если реквизит не заполнен, выдается сообщение, и дальше программа не работает, как сделать?
ТабДок = Новый ТабличныйДокумент; Если Не ЗначениеЗаполнено(Объект.НоменклатураАнализа.ВидНоменклатуры) Тогда Сообщить("Невозможно формирование печатной формы, необходимо заполнить реквизит 'Вид номенклатуры для сертификации ТМЦ' для номенклатуры анализа"); ТабДок = Неопределено; Возврат 0; КонецЕсли; Выдает ошибку: {ОбщийМодуль.ОтчетыИПечать.Модуль(233)}: Значение не является значением объектного типа (КоличествоЭкземпляров) ПечДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров; как быть? |
|||
1
Лоботряс
15.05.12
✎
17:26
|
Приведенный код не может выдавать эту ошибку
|
|||
2
ДенисЧ
15.05.12
✎
17:26
|
А что есть печДокумент?
|
|||
3
Singenor
15.05.12
✎
17:27
|
(1) может, иначе я бы не спрашивал
|
|||
4
Singenor
15.05.12
✎
17:28
|
(2) процедура из общего модуля:
Процедура глНапечататьДокумент(ПечДокумент, КоличествоЭкземпляров = 1, НаПринтер = Ложь, Заголовок = "") Экспорт Если ПечДокумент = Неопределено тогда Возврат; КонецЕсли; // Получить необходимое количество копий Если КоличествоЭкземпляров < 1 Тогда ПечДокумент.КоличествоЭкземпляров = 1; Иначе ПечДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров; КонецЕсли; Если НаПринтер Тогда ПечДокумент.Напечатать(); Иначе // Отобразить печатный документ на экране ПечДокумент.ОтображатьЗаголовки = Ложь; ПечДокумент.ОтображатьСетку = Ложь; ПечДокумент.Защита = Не глДействиеДоступно("СохранениеВоВнешниеФайлы", ложь); ПечДокумент.ТолькоПросмотр = Истина; ПечДокумент.Показать(Заголовок); КонецЕсли; КонецПроцедуры // НапечататьДокумент() |
|||
5
ДенисЧ
15.05.12
✎
17:29
|
И откуда она вызывается? Мы всё должны угадывать?
|
|||
6
Лоботряс
15.05.12
✎
17:30
|
(4)Надо же, сам догадался. Без подсказки :))
|
|||
7
Singenor
15.05.12
✎
17:30
|
Из моей процедуры:
Процедура Напечатать(ИмяПечатнойФормы,КоличествоЭкземпляров = 1 ,НаПринтер = ложь) Экспорт //Получить экземпляр документа на печать Если ИмяПечатнойФормы = "УдостоверениеКачества" Тогда //1Т" Тогда ТабДокумент = СформироватьОтчет(); КонецЕсли; Если ТабДокумент <> Неопределено Тогда глНапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ПечатныеФормы.СформироватьЗаголовокДокумента(Объект,ИмяПечатнойФормы)); КонецЕсли; КонецПроцедуры СтруктураНастроекПечФормы = Неопределено; |
|||
8
ДенисЧ
15.05.12
✎
17:31
|
Осталось увидеть СформироватьОтчёт()...
А лучше всего взять отладчик и... |
|||
9
palpetrovich
15.05.12
✎
17:32
|
Если Не ЗначениеЗаполнено(Объект.НоменклатураАнализа.ВидНоменклатуры) Тогда
ЗавершитьРаботуСистемы(ложь) КонецЕсли; |
|||
10
Singenor
15.05.12
✎
17:33
|
(8) в сформировать отчет нет полезной информации кроме той, которую я скинул в начале сообщения
|
|||
11
Лоботряс
15.05.12
✎
17:33
|
(8)Отладчик? Не, не слышал.
|
|||
12
jumper
15.05.12
✎
17:34
|
Пока Выборка.Следующий() Цикл
Если Не ЗначениеЗаполнено()... |
|||
13
Любопытная
15.05.12
✎
17:34
|
(10) Посмотри отладчиком, что передается в процедуру глНапечататьДокумент
|
|||
14
Singenor
15.05.12
✎
17:37
|
Достаточно было закомментить
Если ТабДокумент <> Неопределено Тогда глНапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ПечатныеФормы.СформироватьЗаголовокДокумента(Объект,ИмяПечатнойФормы)); КонецЕсли; |
|||
15
Любопытная
15.05.12
✎
17:38
|
Мда... до такого даже я не додумаюсь
|
|||
16
sergeante
15.05.12
✎
17:41
|
(15) такое чувство осталось, что (0) нас всех в дебилах оставил.
|
|||
17
Singenor
15.05.12
✎
17:43
|
(12) самый сурьезный вариант, цикл замутить)
|
|||
18
Любопытная
15.05.12
✎
17:46
|
(16) Полностью с Вами согласна
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |