Тариф сервиса. Возвращает информацию о тарифе сервиса по коду тарифа.
// Возвращает информацию о тарифе сервиса по коду тарифа.
//
// Параметры:
// КодТарифа - Строка - код тарифа.
//
// Возвращаемое значение:
// Структура - информация о тарифе:
// * Код - Строка - код тарифа
// * Наименование - Строка - наименование тарифа
// * ОписаниеДляОбслуживающихОрганизаций - Строка - описание тарифа для обслуживающей организации.
// * ОписаниеДляАбонентов - ФорматированныйДокумент - описание тарифа для абонентов.
// * ДатаНачалаДействия - Дата - дата начала действия тарифа.
// * ДатаОкончанияДействия - Дата - дата окончания действия тарифа.
// * ПериодДействияПродлевающейПодписки - Число - период (в днях), в течение которого действует продлевающая подписка (если разрешено продление).
// * ПериодДействияРасширяющейПодписки - Число - период (в днях), в течение которого действует расширяющая подписка.
// * ПериодДобавленияПродлевающейПодписки - Число - период (в днях) после завершения действия подписки, в течение которого можно создать продлевающую подписку.
// * РасширениеТарифа - Булево - признак, что тариф является расширением
// * Платный - Булево - признак, что тариф является плантым (содержит платные периоды действия)
// * Услуги - ТаблицаЗначений - услуги тарифа:
// * Код - Строка - код услуги
// * Наименование - Строка - Наименование услуги
// * ТипУслуги - ПеречислениеСсылка.ТипыУслугСервиса - тип услуги
// * Описание - Строка - Описание услуги
// * КоличествоЛицензий - Число - количество лицензий на услугу, включенное в тариф
// * КоличествоДопЛицензийРасширяющейПодписки - Число - количество лицензий на услугу, которое может быть предоставлено расширяющей подпиской
// * ИдентификаторПоставщика - Строка - идентификатор поставщика услуги
// * НаименованиеПоставщика - Строка - наименование поставщика услуги
// * Расширения - ТаблицаЗначений - расширения тарифа:
// * Код - Строка - код тарифа-расширения
// * Наименование - Строка - наименование тарифа-расширения
// * Конфигурации - ТаблицаЗначений - конфигурации тарифа:
// * Код - Строка - код конфигурации
// * Наименование - Строка - имя конфигурации
// * Описание - Строка - описание конфигурации
// * ПериодыДействия - ТаблицаЗначений - периоды действия тарифа:
// * Код - Строка - код периода действия
// * Наименование - Строка - наименование периода действия
// * Сумма - Число - стоимость
// * Комментарий - Строка - комментарий к периоду действия
//
Функция ТарифСервиса(КодТарифа) Экспорт
Метод = "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 (БСП)
ТарифОбслуживающейОрганизаций (БСП)
ТарифыОбслуживающейОрганизации (БСП)
СтраницаВыбораТарифаОбслуживающейОрганизации (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)