fbpx
  • slide microsft
  • slide aida64
  • Беспроводная зарядка в телефоне, где ее быть не должно :)
  • GeForce Experience
  • Чумной барак для сумасшедших фриков
  • Автоматический вход в Windows без ввода пароля
  • Активация Windows 8 v.2
  • Создаем свой караоке-видео
  • Borderlands 2 заработал на Windows 8
  • Ошибка 0x8000000000000002. Решение.
  • Dirt Rally будет работает на Linux
  • 3DMark 1.0 (2013)
  • Открытие формы в режиме выбора с отбором и возвратом выбора в произвольную процедуру (тонкий клиент)
  • Увеличить ТИЦ
  • Знакомство с Windows 8. Взгляд с близка.
  • Сброс пароля пользователя на MacOS
  • S.M.A.R.T. под VMware vSphere
  • Изменения правил для приложений в Google Play
  • Супер Wi-Fi на iPhone 5 :)
  • Активация Windows 8
  • Тест супер-кулера Noctua NH-D14
  • Решение ATI Radeon HD3000/4000 Overscan/Underscan
  • Движок Unreal Engine 4 переедет на HTML5
  • Названа дата выхода Windows 10
  • Winamp прекращает свое существование
  • Как обойти экран блокировки в iOS
  • Оптимизация запуска приложений в Linux
  • Создание внешней печатной формы по стандарту БСП (тонкий клиент)
  • Сервис VirusTotal и его возможности
июнь27

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

Троцкий Юрий

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

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

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

 

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

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

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

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

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

 

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

 

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

 

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

 

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

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

 

На этом все.

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

Оставить комментарий

Пожалуйста, войдите, чтобы комментировать.