ТарифСервиса (БСП)

Автор: 1С
ОбщийМодуль.ПрограммныйИнтерфейсСервиса
БСП

Тариф сервиса. Возвращает информацию о тарифе сервиса по коду тарифа.

// Возвращает информацию о тарифе сервиса по коду тарифа.
//
// Параметры:
//  КодТарифа - Строка - код тарифа.
//
// Возвращаемое значение:
//  Структура - информация о тарифе:
//   * Код - Строка - код тарифа
//   * Наименование - Строка - наименование тарифа
//   * ОписаниеДляОбслуживающихОрганизаций - Строка - описание тарифа для обслуживающей организации.
//   * ОписаниеДляАбонентов - ФорматированныйДокумент - описание тарифа для абонентов.
//   * ДатаНачалаДействия - Дата - дата начала действия тарифа.
//   * ДатаОкончанияДействия - Дата - дата окончания действия тарифа.
//   * ПериодДействияПродлевающейПодписки - Число - период (в днях), в течение которого действует продлевающая подписка (если разрешено продление).
//   * ПериодДействияРасширяющейПодписки - Число - период (в днях), в течение которого действует расширяющая подписка.
//   * ПериодДобавленияПродлевающейПодписки - Число - период (в днях) после завершения действия подписки, в течение которого можно создать продлевающую подписку.
//   * РасширениеТарифа - Булево - признак, что тариф является расширением
//   * Платный - Булево - признак, что тариф является плантым (содержит платные периоды действия)
//   * Услуги - ТаблицаЗначений - услуги тарифа:
//     * Код - Строка - код услуги
//     * Наименование - Строка - Наименование услуги
//     * ТипУслуги - ПеречислениеСсылка.ТипыУслугСервиса - тип услуги
//     * Описание - Строка - Описание услуги
//     * КоличествоЛицензий - Число - количество лицензий на услугу, включенное в тариф
//     * КоличествоДопЛицензийРасширяющейПодписки - Число - количество лицензий на услугу, которое может быть предоставлено расширяющей подпиской
//     * ИдентификаторПоставщика - Строка - идентификатор поставщика услуги
//     * НаименованиеПоставщика - Строка - наименование поставщика услуги
//   * Расширения - ТаблицаЗначений - расширения тарифа:
//     * Код - Строка - код тарифа-расширения
//     * Наименование - Строка - наименование тарифа-расширения
//   * Конфигурации - ТаблицаЗначений - конфигурации тарифа:
//     * Код - Строка - код конфигурации
//     * Наименование - Строка - имя конфигурации
//     * Описание - Строка - описание конфигурации
//   * ПериодыДействия - ТаблицаЗначений - периоды действия тарифа:
//     * Код - Строка - код периода действия
//     * Наименование - Строка - наименование периода действия
//     * Сумма - Число - стоимость
//     * Комментарий - Строка - комментарий к периоду действия
//
Функция ТарифСервиса(КодТарифа) Экспорт
    
    Метод = "tariff/info";
    ДанныеЗапроса = ШаблонЗапроса(Метод);
    ДанныеЗапроса.Вставить("id", КодТарифа);
    Результат = ОтправитьДанныеВМенеджерСервиса(ДанныеЗапроса);
    ДанныеОтвета = РезультатВыполнения(Результат);
	Тариф = ДанныеОтвета.tariff;
    
    ПолеТип = "type";
    ПолеПериод = "period";
    ПолеУслуги = "services";
    ПолеПериоды = "validity_periods";
    Для Каждого Строка Из Тариф[ПолеУслуги] Цикл
        Строка[ПолеТип] = Перечисления.ТипыУслуг.ЗначениеПоИмени(Строка[ПолеТип]);
    КонецЦикла;
    Для Каждого Строка Из Тариф[ПолеПериоды] Цикл
        Строка[ПолеПериод] = Перечисления.ПериодичностьПериодовДействия.ЗначениеПоИмени(Строка[ПолеПериод]);	
    КонецЦикла; 
    
    Переименования = Новый Соответствие;
	Переименования.Вставить("id", "Код");
	Переименования.Вставить("name", "Наименование");
	Переименования.Вставить("description", "ОписаниеДляОбслуживающихОрганизаций");
	Переименования.Вставить("description_for_subscribers", "ОписаниеДляАбонентов");
    Переименования.Вставить("start", "ДатаНачалаДействия");
    Переименования.Вставить("expiration","ДатаОкончанияДействия");
	Переименования.Вставить("prolongation_validity", "ПериодДействияПродлевающейПодписки");
	Переименования.Вставить("extension_validity", "ПериодДействияРасширяющейПодписки");
	Переименования.Вставить("prolongation_during", "ПериодДобавленияПродлевающейПодписки");
	Переименования.Вставить("is_extension", "РасширениеТарифа");
	Переименования.Вставить("is_payable", "Платный");
    Переименования.Вставить("services", "Услуги");
    Переименования.Вставить("extensions", "Расширения");
    Переименования.Вставить("applications", "Конфигурации");
    Переименования.Вставить("validity_periods", "ПериодыДействия");
    
	ПереименованияУслуги = Новый Соответствие; 	
	ПереименованияУслуги.Вставить("id", "Код");
	ПереименованияУслуги.Вставить("name", "Наименование");
	ПереименованияУслуги.Вставить("type", "ТипУслуги");
	ПереименованияУслуги.Вставить("description", "Описание");
	ПереименованияУслуги.Вставить("amount", "КоличествоЛицензий");
	ПереименованияУслуги.Вставить("extend_amount", "КоличествоДопЛицензийРасширяющейПодписки");
	ПереименованияУслуги.Вставить("provider_id", "ИдентификаторПоставщика");
	ПереименованияУслуги.Вставить("provider_name", "НаименованиеПоставщика");
    
    ПерименованияРасширения = Новый Соответствие;
	ПерименованияРасширения.Вставить("id", "Код");
	ПерименованияРасширения.Вставить("name", "Наименование");
    
    ПерименованияКонфигурации = Новый Соответствие;
	ПерименованияКонфигурации.Вставить("id", "Код");
	ПерименованияКонфигурации.Вставить("name", "Наименование");
	ПерименованияКонфигурации.Вставить("description", "Описание");
    
    ПереименованияПериоды = Новый Соответствие;
    ПереименованияПериоды.Вставить("id", "Код");
	ПереименованияПериоды.Вставить("period", "Периодичность");
	ПереименованияПериоды.Вставить("quantity", "Количество");
    ПереименованияПериоды.Вставить("name", "Наименование");
	ПереименованияПериоды.Вставить("cost", "Сумма");
	ПереименованияПериоды.Вставить("comment", "Комментарий");
	
    ПереименоватьСвойства(Тариф, Переименования);
    
    // Обработаем описание для абонентов
    СтруктураВложений = Новый Структура;
    Для Каждого Вложение Из Тариф.ОписаниеДляАбонентов.images Цикл
        ДанныеКартинки = ПолучитьДвоичныеДанныеИзBase64Строки(Вложение.data);
        СтруктураВложений.Вставить(Вложение.name, Новый Картинка(ДанныеКартинки, Истина));
    КонецЦикла;
    ОписаниеДляАбонентов = Новый ФорматированныйДокумент;
    ОписаниеДляАбонентов.УстановитьHTML(Тариф.ОписаниеДляАбонентов.html, СтруктураВложений);
	Тариф.ОписаниеДляАбонентов = ОписаниеДляАбонентов;
    
    Тариф.Услуги = МассивСтруктурВТаблицуЗначений(Тариф.Услуги, ПереименованияУслуги);
    Тариф.Расширения = МассивСтруктурВТаблицуЗначений(Тариф.Расширения, ПерименованияРасширения);
    Тариф.Конфигурации = МассивСтруктурВТаблицуЗначений(Тариф.Конфигурации, ПерименованияКонфигурации);
    Тариф.ПериодыДействия = МассивСтруктурВТаблицуЗначений(Тариф.ПериодыДействия, ПереименованияПериоды);
    
    Возврат Тариф;
    
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ТарифыСервиса (БСП)

МенеджерСервисаПоддерживаетУправлениеТарифамиВПриложении_1_0_1_2 (БСП)

ТарифОбслуживающейОрганизаций (БСП)

ТарифыОбслуживающейОрганизации (БСП)

СтраницаВыбораТарифаОбслуживающейОрганизации (БСП)

ТарифОбслуживающейОрганизации (БСП)

ПользователиСервиса (БСП)

Веб сервис БУХ обращение

TurboConf ИР адаптер 2.63