Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
30 июн 2024, 18:58

Условия вывода на печать

Автор SkyNetYar, 01 окт 2015, 16:11

0 Пользователей и 1 гость просматривают эту тему.

SkyNetYar

Добрый день!
Запутался с условием вывода на печать Табличного документа
В модуле команды выполняю заполнение


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

ТабДокумент = Заполнялка(ПараметрКоманды);

//Если НЕ ДокСсылка.ТребуетсяПереместитьВСторСЦ Тогда
//Сообщить("Установите признак документа в 'Требуется переместить в сторонний СЦ' на закладке документа 'Перемещения'");
// Возврат;
//КонецЕсли ;

//Если НЕ ЗначениеЗаполнено(ДокСсылка.ПартнерСЦ) Тогда
// Сообщить("Заполните поле 'Партнер СЦ'");
// Возврат;
//КонецЕсли ;

ТабДокумент.Показать("Перемещение в сторонний СЦ");
КонецПроцедуры

&НаСервере
Функция Заполнялка(ДокСсылка) Экспорт

ТабДокумент = Новый ТабличныйДокумент;
и.т.д....
КонецФункции


Как мне закоментированное условие выполнить?
Выдает ошибку на ДокСсылка ,а док ссылка это Форма документа из которой выполняется эта команда печати..

cska-fanat-kz

Выше напишите
ДокСсылка = ПараметрКоманды;

ДокСсылка - это не форма, а ссылка на документ
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

SkyNetYar

Цитата: cska-fanat-kz от 02 окт 2015, 06:08
Выше напишите
ДокСсылка = ПараметрКоманды;

ДокСсылка - это не форма, а ссылка на документ
Так уже пытался...ошибка
{Документ.пмДокументСервиса.Команда.ПередачаВССЦ.МодульКоманды(9)}: Поле объекта не обнаружено (ТребуетсяПереместитьВСторСЦ)
Если НЕ ДокСсылка.ТребуетсяПереместитьВСторСЦ Тогда


Если переместить условия в функцию то ругается на ТабДокумент.Показать

cska-fanat-kz

Если "ТребуетсяПереместитьВСторСЦ" - это экспортная переменная или реквизит формы, то их не "видно" на сервере при печати.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

SkyNetYar

Цитата: cska-fanat-kz от 02 окт 2015, 09:25
Если "ТребуетсяПереместитьВСторСЦ" - это экспортная переменная или реквизит формы, то их не "видно" на сервере при печати.
Это реквизит формы..
Как тогда быть?
Добавлено: 02 окт 2015, 10:30


Все отрабатывает если переместить условие в функцию,но ошибка
{Документ.пмДокументСервиса.Команда.ПередачаВССЦ.МодульКоманды(5)}: Значение не является значением объектного типа (Показать)
   ТабДокумент.Показать("Перемещение в сторонний СЦ");

cska-fanat-kz

внутри процедуры ДокСсылка - это тот же ПараметрКоманды!

Показать() - не работает на сервере
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

SkyNetYar

Вот полный текст

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ТабДокумент = Заполнялка(ПараметрКоманды);
ТабДокумент.Показать("Перемещение в сторонний СЦ");
КонецПроцедуры

&НаСервере
Функция Заполнялка(ДокСсылка) Экспорт

ТабДокумент = Новый ТабличныйДокумент;

Если НЕ ДокСсылка.ТребуетсяПереместитьВСторСЦ Тогда
Сообщить("Установите признак документа в 'Требуется переместить в сторонний СЦ' на закладке документа 'Перемещения'");
Возврат Неопределено;
КонецЕсли ;

Если НЕ ЗначениеЗаполнено(ДокСсылка.ПартнерСЦ) Тогда
Сообщить("Заполните поле 'Партнер СЦ'");
Возврат Неопределено;
КонецЕсли ;


Макет = ДокСсылка.ПолучитьОбъект().ПолучитьМакет("ПФ_MXL_ПередачаВСтороннийСервисныйЦентр");
ОбластьМакета = Макет.ПолучитьОбласть("Шапка");

ОбластьМакета.Параметры.ТекстЗаголовка = "Перемещение в сторонний СЦ №: "+СокрЛП(ДокСсылка.Номер)+" от "+Формат(ДокСсылка.Дата,"ДЛФ=Д");

ТабДокумент.Вывести(ОбластьМакета);

Возврат ТабДокумент;
КонецФункции

Но тогда ругается на Показать()
Как вообще прервать выполнение функции...выдать сообщение и дело с концом..

cska-fanat-kz

на Показать() в таком варианте не должен ругаться... :dfbsdfbsdf:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Может,может. Если реквизит = Ложь

SkyNetYar

Прервать бы выполнение функции полностью не было бы проблем или вернуть что то..
Возврат Неопределено; все равно продолжает выполнение процедуры ОбработкаКоманды

Видимо придется отказаться от выполнение кода в модуле команды и переносить все в модуль формы,но уж больно не нравится размазывание кода по всем модулям ,команду печать надо вставить в стандартные процедуры печати...,если бы в отдельную кнопку на форме было бы проще,но не хочется 100500 кнопок на форме :fdbsdfbsd:

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск