Мастер-Центр оплат.Примеры — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
 
(не показано 7 промежуточных версий этого же участника)
Строка 1: Строка 1:
Пример из тестовой обработки:<br>
+
'''''Пример из тестовой обработки:'''''<br>
  
1. '''Производится загрузка Центра оплат, подключение к базе МТ и заполнения нескольких вспомогательных таблиц значений:'''
+
'''1. Производится загрузка Центра оплат, подключение к базе МТ и заполнения нескольких вспомогательных таблиц значений:'''
  
Перем глМастерТурКомпонента Экспорт;<br>
+
  Перем глМастерТурКомпонента;<br>
Функция глУстановитьКомпонентуМастерТур()<br>
+
  Функция глУстановитьКомпонентуМастерТур()<br>
Перем mProgId;<br>
+
      Перем mProgId;<br>
  Перем МастерТур;<br>           
+
      Перем МастерТур;<br>           
  mProgId = "pc2mt.1";<br>
+
      mProgId = "pc2mt.1";<br>
  Попытка<br>  
+
      Попытка<br>  
      ПодключитьВнешнююКомпоненту(mProgId);<br>
+
        ПодключитьВнешнююКомпоненту(mProgId);<br>
      МастерТур=Новый("AddIn.pc2mt");<br>
+
        МастерТур=Новый("AddIn.pc2mt");<br>
  Исключение<br>
+
      Исключение<br>
      Предупреждение("Не удалось создать объект МастерТур " + ОписаниеОшибки());<br>
+
        Предупреждение("Не удалось создать объект МастерТур " + ОписаниеОшибки());<br>
  КонецПопытки;<br>
+
      КонецПопытки;<br>
  Возврат МастерТур;<br>
+
      Возврат МастерТур;<br>
КонецФункции<br>
+
  КонецФункции<br>
  
Процедура КН_ПодключитьсяНажатие(Элемент)<br>
+
  Процедура КН_ПодключитьсяНажатие(Элемент)<br>
  Попытка<br>
+
      Попытка<br>
      глМастерТурКомпонента = глУстановитьКомпонентуМастерТур();<br>
+
        глМастерТурКомпонента = глУстановитьКомпонентуМастерТур();<br>
  Исключение<br>
+
      Исключение<br>
      Сообщить(ОписаниеОшибки());<br>
+
        Сообщить(ОписаниеОшибки());<br>
  КонецПопытки;<br>
+
      КонецПопытки;<br>
  ВозврЗн=глМастерТурКомпонента.[[Подключиться]](СокрЛП(Сервер),СокрЛП(DBName),СокрЛП(Логин),СокрЛП(Пароль),"100",СокрЛП(ВиртульныйGUIDБазыДанных));<br>
+
      ВозврЗн=глМастерТурКомпонента.[[Подключиться]](СокрЛП(Сервер),СокрЛП(DBName),СокрЛП(Логин),СокрЛП(Пароль),"100",СокрЛП(ВиртульныйGUIDБазыДанных));<br>
  Пароль="";<br>
+
      Пароль="";<br>
  Если ВозврЗн=1 Тогда<br>    
+
      Если ВозврЗн=1 Тогда<br>    
      ТЗ = Новый ТаблицаЗначений;<br>
+
        ТЗ = Новый ТаблицаЗначений;<br>
      ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокВалют]](0,"");<br>
+
        ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокВалют]](0,"");<br>
      ЭлементыФормы.ТП_СписокВалют.Значение=ТЗ;<br>
+
        ЭлементыФормы.ТП_СписокВалют.Значение=ТЗ;<br>
+
        ТЗ = Новый ТаблицаЗначений;<br>
      ТЗ = Новый ТаблицаЗначений;<br>
+
        ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокТиповСвойствПартнеров]](0,);<br>
      ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокТиповСвойствПартнеров]](0,);<br>
+
        ЭлементыФормы.ТП_ТипыСвойствПартнеровСчета.Значение=ТЗ;<br>
      ЭлементыФормы.ТП_ТипыСвойствПартнеровСчета.Значение=ТЗ;<br>
+
        ТЗ = Новый ТаблицаЗначений;<br>
+
        ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокТиповСостоянийПутевок]]();<br>
      ТЗ = Новый ТаблицаЗначений;<br>
+
        ЭлементыФормы.ТП_ТипыСостоянийПутевокСчета.Значение=ТЗ;<br>
      ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокТиповСостоянийПутевок]]();<br>
+
        ТЗ = Новый ТаблицаЗначений;<br>
      ЭлементыФормы.ТП_ТипыСостоянийПутевокСчета.Значение=ТЗ;<br>
+
        ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокТиповСвойствПартнеров]](0,);<br>
+
        ЭлементыФормы.ТП_ТипыСвойствПартнеровПартнеры.Значение=ТЗ;<br>
      ТЗ = Новый ТаблицаЗначений;<br>
+
      КонецЕсли;<br>
      ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокТиповСвойствПартнеров]](0,);<br>
+
  КонецПроцедуры<br>
      ЭлементыФормы.ТП_ТипыСвойствПартнеровПартнеры.Значение=ТЗ;<br>
 
  КонецЕсли;<br>
 
КонецПроцедуры<br>
 
 
 
2. '''Сразу после подключения производится вызов списка валют из базы МТ''':<br>
 
  ТЗ = Новый ТаблицаЗначений;<br>
 
  ТЗ=глМастерТурКомпонента.[[Т8_ПолучитьСписокВалют]](0,"");<br>
 
  ЭлементыФормы.ТП_СписокВалют.Значение=ТЗ;<br>
 
3. На конкретную дату вызывается курс выбранной валюты из базы МТ.<br>
 
  
 +
'''2. При выборе строки с конкретной валютой вызывается курс выбранной валюты из базы данных МТ на конкретную дату:'''<br>
 +
  Процедура ТП_СписокВалютПриАктивизацииСтроки(Элемент)
 +
      ТЗ = Новый ТаблицаЗначений;
 +
      ТЗ=глМастерТурКомпонента.[[Т8_ВернутьКроссКурсПоКодамВалют]]("рб",ЭлементыФормы.ТП_СписокВалют.ТекущаяСтрока.КодВалюты,ДатаНачалаКурса,ДатаКонцаКурса,0);
 +
      ЭлементыФормы.ТП_КурсыВалют.Значение=ТЗ;
 +
  КонецПроцедуры<br>
 
[[Файл:ЦентрОплатМастерТур1.jpg]]<br>
 
[[Файл:ЦентрОплатМастерТур1.jpg]]<br>
 +
'''3. Производится отбор путевок:'''
  
4. Производится отбор путевок:
+
  Процедура КН_ОтобратьНажатие(Элемент)<br>
 +
      ТЗ = Новый ТаблицаЗначений;<br>
 +
      ТЗ=глМастерТурКомпонента.Т8_ВыбратьПутевкиЗаПериод(ДатаНачала,ДатаКонца,СДО0,ПолеДопОтбора);<br>
 +
      ЭлементыФормы.ТП_Договоры.Значение=ТЗ;<br>
 +
  КонецПроцедуры<br>
  
ТЗ = Новый ТаблицаЗначений;<br>
+
'''4. При выборе строки с конкретной путевкой производится отбор дополнительной информации по путевке:'''
ТЗ=глМастерТурКомпонента.[[Т8_ВыбратьПутевкиЗаПериод]](ДатаНачала,ДатаКонца,СДО0,ПолеДопОтбора);<br>
+
  Процедура ТП_ДоговорыПриАктивизацииСтроки(Элемент)<br>
ЭлементыФормы.ТП_Договоры.Значение=ТЗ;<br>
+
      Если ЭлементыФормы.ТП_Договоры.Значение.Количество()>0 Тогда<br>
 +
        ТЗ = Новый ТаблицаЗначений;<br>
 +
        ТЗ=глМастерТурКомпонента.[[Т8_ВыбратьПлатежиПоКлючуПутевки]](ЭлементыФормы.ТП_Договоры.ТекущаяСтрока.Ключ,0);<br>
 +
        ЭлементыФормы.ТП_Платежи.Значение=ТЗ;<br>
 +
        ТЗ = Новый ТаблицаЗначений;<br>
 +
        ТЗ=глМастерТурКомпонента.[[Т8_ВыбратьУслугиПоКлючуПутевки]](ЭлементыФормы.ТП_Договоры.ТекущаяСтрока.Ключ);<br>
 +
        ЭлементыФормы.ТП_Услуги.Значение=ТЗ;<br>
 +
        ТЗ = Новый ТаблицаЗначений;<br>
 +
        ТЗ=глМастерТурКомпонента.[[Т8_ВыбратьТуристовПоКлючуПутевки]](ЭлементыФормы.ТП_Договоры.ТекущаяСтрока.Ключ);<br>
 +
        ЭлементыФормы.ТП_Туристы.Значение=ТЗ;<br>
 +
        ТЗ = Новый ТаблицаЗначений;<br>
 +
        ТЗ=глМастерТурКомпонента.[[Т8_ВыбратьСчетаПоКлючуПутевки]](ЭлементыФормы.ТП_Договоры.ТекущаяСтрока.Ключ);<br>
 +
        ЭлементыФормы.ТП_СчетаПоПутевке.Значение=ТЗ;<br>
 +
      КонецЕсли;<br>
 +
  КонецПроцедуры<br>
  
 
[[Файл:ЦентрОплатМастерТур2.jpg]]<br>
 
[[Файл:ЦентрОплатМастерТур2.jpg]]<br>
  
 +
Как видно из примеров кода 1С, при вызове информации из базы МТ Центр-оплат создает в памяти 1С и заполняет структуру с типом "ТаблицаЗначений". Далее программист 1С может использовать эту информацию для заполнения разнообразных справочников, регистров сведений и т.п.<br> 
 +
 +
''to be continued...''
  
 
[[Мастер-Центр оплат.Мастер-Тур]]<br>
 
[[Мастер-Центр оплат.Мастер-Тур]]<br>

Текущая версия на 14:03, 6 ноября 2013

Пример из тестовой обработки:

1. Производится загрузка Центра оплат, подключение к базе МТ и заполнения нескольких вспомогательных таблиц значений:

  Перем глМастерТурКомпонента;
Функция глУстановитьКомпонентуМастерТур()
Перем mProgId;
Перем МастерТур;
mProgId = "pc2mt.1";
Попытка
ПодключитьВнешнююКомпоненту(mProgId);
МастерТур=Новый("AddIn.pc2mt");
Исключение
Предупреждение("Не удалось создать объект МастерТур " + ОписаниеОшибки());
КонецПопытки;
Возврат МастерТур;
КонецФункции
  Процедура КН_ПодключитьсяНажатие(Элемент)
Попытка
глМастерТурКомпонента = глУстановитьКомпонентуМастерТур();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
ВозврЗн=глМастерТурКомпонента.Подключиться(СокрЛП(Сервер),СокрЛП(DBName),СокрЛП(Логин),СокрЛП(Пароль),"100",СокрЛП(ВиртульныйGUIDБазыДанных));
Пароль="";
Если ВозврЗн=1 Тогда
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ПолучитьСписокВалют(0,"");
ЭлементыФормы.ТП_СписокВалют.Значение=ТЗ;
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ПолучитьСписокТиповСвойствПартнеров(0,);
ЭлементыФормы.ТП_ТипыСвойствПартнеровСчета.Значение=ТЗ;
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ПолучитьСписокТиповСостоянийПутевок();
ЭлементыФормы.ТП_ТипыСостоянийПутевокСчета.Значение=ТЗ;
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ПолучитьСписокТиповСвойствПартнеров(0,);
ЭлементыФормы.ТП_ТипыСвойствПартнеровПартнеры.Значение=ТЗ;
КонецЕсли;
КонецПроцедуры

2. При выборе строки с конкретной валютой вызывается курс выбранной валюты из базы данных МТ на конкретную дату:

  Процедура ТП_СписокВалютПриАктивизацииСтроки(Элемент)
     ТЗ = Новый ТаблицаЗначений;
     ТЗ=глМастерТурКомпонента.Т8_ВернутьКроссКурсПоКодамВалют("рб",ЭлементыФормы.ТП_СписокВалют.ТекущаяСтрока.КодВалюты,ДатаНачалаКурса,ДатаКонцаКурса,0);
     ЭлементыФормы.ТП_КурсыВалют.Значение=ТЗ;
  КонецПроцедуры

ЦентрОплатМастерТур1.jpg
3. Производится отбор путевок:

  Процедура КН_ОтобратьНажатие(Элемент)
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ВыбратьПутевкиЗаПериод(ДатаНачала,ДатаКонца,СДО0,ПолеДопОтбора);
ЭлементыФормы.ТП_Договоры.Значение=ТЗ;
КонецПроцедуры

4. При выборе строки с конкретной путевкой производится отбор дополнительной информации по путевке:

  Процедура ТП_ДоговорыПриАктивизацииСтроки(Элемент)
Если ЭлементыФормы.ТП_Договоры.Значение.Количество()>0 Тогда
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ВыбратьПлатежиПоКлючуПутевки(ЭлементыФормы.ТП_Договоры.ТекущаяСтрока.Ключ,0);
ЭлементыФормы.ТП_Платежи.Значение=ТЗ;
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ВыбратьУслугиПоКлючуПутевки(ЭлементыФормы.ТП_Договоры.ТекущаяСтрока.Ключ);
ЭлементыФормы.ТП_Услуги.Значение=ТЗ;
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ВыбратьТуристовПоКлючуПутевки(ЭлементыФормы.ТП_Договоры.ТекущаяСтрока.Ключ);
ЭлементыФормы.ТП_Туристы.Значение=ТЗ;
ТЗ = Новый ТаблицаЗначений;
ТЗ=глМастерТурКомпонента.Т8_ВыбратьСчетаПоКлючуПутевки(ЭлементыФормы.ТП_Договоры.ТекущаяСтрока.Ключ);
ЭлементыФормы.ТП_СчетаПоПутевке.Значение=ТЗ;
КонецЕсли;
КонецПроцедуры

ЦентрОплатМастерТур2.jpg

Как видно из примеров кода 1С, при вызове информации из базы МТ Центр-оплат создает в памяти 1С и заполняет структуру с типом "ТаблицаЗначений". Далее программист 1С может использовать эту информацию для заполнения разнообразных справочников, регистров сведений и т.п.

to be continued...

Мастер-Центр оплат.Мастер-Тур