fbpx
  • slide microsft
  • slide aida64
  • Скрипт установки принтеров Canon LBP на Linux Ubuntu (обновлено)
  • Как загрузить Windows 8.1/10 в безопасном режиме
  • Как отключить надпись
  • Как качать с торрента
  • Огромное облачное хранилище Yunpan 360 на 36Тб
  • Разгон, изменение и прошивка BIOS видеокарт Nvidia
  • Стал тормозить SSD ? А у вас есть trim ?
  • Вывод изображения их Хранилища Значений на форму
  • Умер Ральф Баер, родитель игровых консолей
  • OneWeb - глобальный проект интернет доступа
  • Восстановление разделов на USB флешке
  • Анонсирован ОС Android 4.4 KitKat
  • Создание своего Ubuntu Live CD
  • Новый Unreal Tournament 4 будет распространяться бесплатно
  • Сброс пароля пользователя на MacOS
  • День компьютерщика
  • Как говорить с техподдержкой
  • Восстановление БД 1С (SQL) после динамического обновления
  • Впечатляющая демонстрация Epic Unreal Engine 4
  • Грядущий новый формат изображений от Google
  • Лучший тест стабильности ПК - Prime95
  • Windows 9
  • Бездонный телефон
  • Создание загрузочной MS-DOS USB-флешки
  • Секретарша и лист
  • Китайцы назвали WINDOWS 8 угрозой для страны
  • 3DMark 1.0 (2013)
Jun27

Создание внешней печатной формы по стандарту БСП (тонкий клиент)

Троцкий Юрий

Создание внешней печатной формы по стандарту БСП (тонкий клиент)

Создание внешней печатной формы для тонкого клиента

тонкий клиент

 

По сравнению с созданием внешней печатной формы для толстого клиента - работа с тонким клентом получила плюсы в возможностях и минусы в разработке. На толстом клиенте было достаточно создать внешнюю печатную форму и далее в режиме предприятия указать, к какому объекту (справочнику или документу) она будет применена.

Если вы хотите создать внешнюю печатную форму для тонкого клиента, подключить его родными средствами конфигурации и при этом не городить самому дополнительный код для ее вывода, для конфигураций, построенных на Библиотеке Стандартных Подсистем (БСП), например таких как УПП 2.0, БП 3.0, УТ 11, УНФ - ниже приведен пример.

  1. Создаем внешнюю обработку
  2. В Макетах создаем "НашМакет" 
  3. Дальше тот самый особенный момент - в модуле объекта создаем следующие процедуры и функции:
Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ЗаказПокупателя"); //Указываем объект куда будет подключена внешняя печатная форма

ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Спецификация");
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Спецификация");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "НазваниеНашейПечатнойФормы", "НазваниеНашейПечатнойФормы", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); //Пишем как будет отображаться название нашей печатной формы в предприятии
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции

 

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

 

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры

 

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "НашМакет", "НашМакет", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати)); //Смотрим внимательно на НашМакет
КонецПроцедуры 

 

Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_НашМакет"; //Смотрим внимательно на название НашМакет
МакетОбработки = ПолучитьМакет("НашМакет");  //Тут пишем имя своего макета
//шапка как пример
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.НомерДокумента = СсылкаНаДокумент.Номер;
ОбластьШапка.Параметры.ДатаДокумента = Формат(СсылкаНаДокумент.Дата,"ДФ=dd.MM.yyyy");
ОбластьШапка.Параметры.получатель = СсылкаНаДокумент.Контрагент;
ОбластьШапка.Параметры.телефон = ПолучитьКОнтактнуюинформацию(СсылкаНаДокумент.Контрагент,"Телефон");
ОбластьШапка.Параметры.адрес = ?(ЗначениеЗаполнено(ПолучитьКОнтактнуюинформацию(СсылкаНаДокумент.Контрагент,"Факт. адрес")),ПолучитьКОнтактнуюинформацию(СсылкаНаДокумент.Контрагент,"Факт. адрес"),ПолучитьКОнтактнуюинформацию(СсылкаНаДокумент.Контрагент,"Юр. адрес"));;
ОбластьШапка.Параметры.ВалютаДокумента = СсылкаНаДокумент.ВалютаДокумента;
ТабличныйДокумент.Вывести(ОбластьШапка);
//И далее заполняем свой макет
Возврат ТабличныйДокумент; 
КонецФункции

4. После описания заполнения макета сохраняем его и в самой конфгурации добавляем как "внешнюю печатную форму или обработку". В зависимости от конфигурации этот пункт будет в разных местах - ищем. После добавления ваша печатная форма вольется в конфигурацию как родная и будет корректно отображаться в командах печати и самого объекта и на форме списка. Кстати, эти настройки тоже производятся уже в самом режиме предприятия при добавлении формы.

 

На этом все.

P.S. Так-же мы предоставлям надежное обланое хранилище для ваших баз 1С. Подробнее...

Leave a comment

Please login to leave a comment.