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