podkljuchenie_vneshnej_obrabotki_v_1s_tonkij_klient

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
podkljuchenie_vneshnej_obrabotki_v_1s_tonkij_klient [2021/03/19 09:53]
tro создано
podkljuchenie_vneshnej_obrabotki_v_1s_tonkij_klient [2024/03/07 12:03] (текущий)
tro
Строка 1: Строка 1:
-Она должна быть экспортной и располагаться в модуле обработки:+В модуле внешней обработки
 +**Вариант 1 - Для открітия формі обработки**
 <code> <code>
-Функция СведенияОВнешнейОбработке() Экспорт+Функция СведенияОВнешнейОбработке() Экспорт  
 +     
 +    ИмяОтчета = ЭтотОбъект.Метаданные().Имя;  
 +    Синоним = ЭтотОбъект.Метаданные().Синоним + " " + ЭтотОбъект.Метаданные().Комментарий;  
 +    Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета);  
 +    РегистрационныеДанные = Новый Структура(); 
 +    РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка"); 
 +    РегистрационныеДанные.Вставить("Наименование", Синоним); 
 +    РегистрационныеДанные.Вставить("Версия", "1.0"); 
 +    РегистрационныеДанные.Вставить("БезопасныйРежим", Ложь); 
 +    РегистрационныеДанные.Вставить("Информация", "Обработка "+Синоним); 
 +         
 +    ТаблицаКоманд = ПолучитьТаблицуКоманд();
  
-ДанныеДляРег = Новый Структура(); +    // Добавим команду в таблицу 
-ДанныеДляРег.Вставить(«Наименование»«Установка ставки НДС»); +    ДобавитьКоманду(ТаблицаКоманд, Синоним"1" , "ОткрытиеФормы", Истина); 
-ДанныеДляРег.Вставить(«БезопасныйРежим», Истина); +         
-ДанныеДляРег.Вставить(«Версия», «ver.: 1.001»); +       // Сохраним таблицу команд в параметры регистрации обработки 
-ДанныеДляРегставить(«Информация», «Обработка для установки ставки НДС в справочнике Номенклатура»); +    РегистрационныеДанные.Вставить("Команды"ТаблицаКоманд);
-ДанныеДляРег.Вставить(«Вид»«ДополнительнаяОбработка»);+
  
-ТабЗнКоманды = Новый ТаблицаЗначений; +    Возврат РегистрационныеДанные;
-ТабЗнКоманды.Колонки.Добавить(«Идентификатор»); +
-ТабЗнКоманды.Колонки.Добавить(«Использование»); +
-ТабЗнКоманды.Колонки.Добавить(«Представление»);+
  
-НовСтрока = ТабЗнКоманды.Добавить(); +КонецФункции
-НовСтрока.Идентификатор = «ОткрытьОбработку»; +
-НовСтрока.Использование = «ОткрытиеФормы»; +
-НовСтрока.Представление = «Открыть обработку»; +
-ДанныеДляРег.Вставить(«Команды», ТабЗнКоманды);+
  
-Возврат ДанныеДляРег;+Функция ПолучитьТаблицуКоманд() 
 +     
 +    // Создадим пустую таблицу команд и колонки в ней 
 +    Команды = Новый ТаблицаЗначений;
  
 +    // Как будет выглядеть описание печатной формы для пользователя
 +    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); 
 +
 +    // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати
 +    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
 +
 +    // Тут задается, как должна вызваться команда обработки
 +    // Возможные варианты:
 +    // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система
 +    // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки
 +    // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки
 +    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
 +
 +    // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы
 +    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
 +
 +    // Для печатной формы должен содержать строку ПечатьMXL 
 +    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
 +    Возврат Команды;
 +   
 КонецФункции КонецФункции
 +
 +Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор)
 +    
 +    // Добавляем команду в таблицу команд по переданному описанию.
 +    // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
 +    НоваяКоманда = ТаблицаКоманд.Добавить();
 +    НоваяКоманда.Представление = Представление;
 +    НоваяКоманда.Идентификатор = Идентификатор;
 +    НоваяКоманда.Использование = Использование;
 +    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
 +    НоваяКоманда.Модификатор = Модификатор;
 +
 +КонецПроцедуры
 +</code>
 +
 +**Вариант 2 - Для возможности запуска внешней обработки в регламенте**
 +<code>
 +
 +Функция СведенияОВнешнейОбработке() Экспорт 
 +
 + ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("3.0.1.400");
 + ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
 + ПараметрыРегистрации.БезопасныйРежим = Ложь;
 +
 + НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
 + НоваяКоманда.Идентификатор = "ПроверкаНаличияКурсовВалют";
 + НоваяКоманда.Представление = "Регламент по отправке писем в случае отсутствия курсов валют";
 + НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
 +
 + Возврат ПараметрыРегистрации;
 +
 +КонецФункции
 +
 +Процедура ВыполнитьКоманду(ИдентификаторКоманды,ПараметрыКоманды) Экспорт
 +
 + Если ИдентификаторКоманды = "ПроверкаНаличияКурсовВалют" Тогда 
 + ВыполнитьОтправкуСообщений_Вчасно();
 + КонецЕсли;
 +
 +КонецПроцедуры
 +
 +Процедура ВыполнитьОтправкуСообщений_Вчасно() Экспорт
 +
 +//Код виполняемій в регламенте
 +
 +КонецПроцедуры
 +
 +
 </code> </code>
  • /sites/data/attic/podkljuchenie_vneshnej_obrabotki_v_1s_tonkij_klient.1616147603.txt.gz
  • Последнее изменение: 2021/03/19 09:53
  • tro