podkljuchenie_vneshnej_obrabotki_v_1s_tonkij_klient

Различия

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

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

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