podkljuchenie_vneshnego_otcheta_v_1s_tonkij_klient

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
podkljuchenie_vneshnego_otcheta_v_1s_tonkij_klient [2021/08/26 13:13]
tro
podkljuchenie_vneshnego_otcheta_v_1s_tonkij_klient [2021/09/22 13:09] (текущий)
tro
Строка 5: Строка 5:
 <code> <code>
  
-Функция СведенияОВнешнейОбработке() Экспорт  +Функция СведенияОВнешнейОбработке() Экспорт 
- ПараметрыРегистрации = Новый Структура; +     
- ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");   +    ИмяОтчета = ЭтотОбъект.Метаданные().Имя;  
- ПараметрыРегистрации.Вставить("Наименование", "Объем продаж соответствующих условиям бонусной программы");  +    Синоним = ЭтотОбъект.Метаданные().Синоним;  
- ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина); +    Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета);          
- ПараметрыРегистрации.Вставить("Версия", "0.1");  +    РегистрационныеДанные = Новый Структура; 
- ПараметрыРегистрации.Вставить("Информация",бъем продаж соответствующих условиям бонусной программы");  +    РегистрационныеДанные.Вставить("Вид","ДополнительныйОтчет"); //может быть – ПечатнаяФорма, ЗаполнениеОбъекта (для вн.обработки), ДополнительныйОтчет, СозданиеСвязанныхОбъектов…  
- ТаблицаКоманд = ПолучитьТаблицуКоманд(); +    РегистрационныеДанные.Вставить("Наименование", Синоним); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок 
- ДобавитьКоманду(ТаблицаКоманд, "Объем продаж соответствующих условиям бонусной программы", "ОбъемПродажСоответствующихУсловиямБонуснойПрограммы", "ВызовСерверногоМетода", Истина, "ПечатьMXL"); +    РегистрационныеДанные.Вставить("Версия", "1.0"); 
- ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); +    РегистрационныеДанные.Вставить("БезопасныйРежим", Ложь); 
-  +    РегистрационныеДанные.Вставить("Информация", "Отчет "+Синоним); //так будет выглядеть описание вн.отчета для пользователя 
- Возврат ПараметрыРегистрации;+     
 +    ТаблицаКоманд = ПолучитьТаблицуКоманд(); 
 +     
 +    // Добавим команду в таблицу 
 +    ДобавитьКоманду(ТаблицаКоманд, Синоним, "СформироватьОтчет" , "ОткрытиеФормы", Истина, ); 
 +         
 +    // Сохраним таблицу команд в параметры регистрации обработки 
 +    РегистрационныеДанные.Вставить("Команды", ТаблицаКоманд); 
 +     
 +    Возврат РегистрационныеДанные; 
 +                                       
 КонецФункции КонецФункции
- 
-Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "") 
-  
- НоваяКоманда = ТаблицаКоманд.Добавить(); 
- НоваяКоманда.Представление = Представление;  
- НоваяКоманда.Идентификатор = Идентификатор; 
- НоваяКоманда.Использование = Использование; 
- НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; 
- НоваяКоманда.Модификатор = Модификатор; 
-  
-КонецПроцедуры 
  
 Функция ПолучитьТаблицуКоманд() Функция ПолучитьТаблицуКоманд()
- Команды = Новый ТаблицаЗначений; +     
- Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); +    // Создадим пустую таблицу команд и колонки в ней 
- Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));  +    Команды = Новый ТаблицаЗначений; 
- Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));  + 
- Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); +    // Как будет выглядеть описание печатной формы для пользователя 
- Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); +    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));  
- Возврат Команды; + 
- +    // Имя нашего макета, что бы могли отличить вызванную команду в обработке печати 
 +    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); 
 + 
 +    // Тут задается, как должна вызваться команда обработки 
 +    // Возможные варианты: 
 +    // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система 
 +    // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки 
 +    // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки 
 +    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); 
 + 
 +    // Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы 
 +    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); 
 + 
 +    // Для печатной формы должен содержать строку ПечатьMXL  
 +    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); 
 +    Возврат Команды; 
 +   
 КонецФункции КонецФункции
 +
 +Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")
 +    
 +    // Добавляем команду в таблицу команд по переданному описанию.
 +    // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
 +    НоваяКоманда = ТаблицаКоманд.Добавить();
 +    НоваяКоманда.Представление = Представление;
 +    НоваяКоманда.Идентификатор = Идентификатор;
 +    НоваяКоманда.Использование = Использование;
 +    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
 +    НоваяКоманда.Модификатор = Модификатор;
 +
 +КонецПроцедуры 
 +
  
 </code> </code>
  • /sites/data/attic/podkljuchenie_vneshnego_otcheta_v_1s_tonkij_klient.1629983596.txt.gz
  • Последнее изменение: 2021/08/26 13:13
  • tro