ЧАСТЬ I Данные действия следует выполнить только один раз, при первом выставлении 1. Импортировать пакет обновления из hybrid_2015_03_05.xml 2. Cкопировать файлы графов (155-120 xml) на сервер в папку DIR и импортировать графы командой w ##class(Reference.Graph.Graph).ImportFromDir(DIR) 3. Создать пункт меню в разделе "Оборудование КТВ" с названием "Оборудование гибридного ТВ" и ссылкой на Hybrid/HardList.csp 4. Импортировать контейнер для раздела "Интерактивное ТВ" ЛК из containers.xml 5. Импортировать контрол меню для раздела "Интерактивное ТВ" ЛК из menu.control.xml 6. Импортировать конфигурации интерфейса для списка и объектов класса Common.ParameterGuide a. hybrid_page_config_Interface.PageConfigList b. hybrid_page_config_Interface.PageConfigObject 7. Импортировать конфигурации a. Hybrid.OfferAndHardObject.xml b. Hybrid.OfferList.xml 8. Устанавить логирование запросов-ответов с сервером LBSV командой D ##class(Hybrid.Install).SetClientDebug() 9. Выполнить команду W ##class(Convertation.Interface.cnv2014).SetSubmitted() 10. Создать типы скидок: a. с определением Hybrid.Discount.TypeDPFixed и параметрами i. InternetServiceList ii. InternetStateList iii. InternetTarifList iv. InternetDicsount v. TVServiceList vi. TVStateList vii. TVDicsount b. с определением Hybrid.Discount.TypeTPFixed и параметрами i. InternetServiceList ii. InternetStateList iii. InternetDicsount iv. InternetTarifList v. TVServiceList vi. TVStateList vii. TVDicsount viii. PhoneServiceList ix. PhoneStateList x. PhoneDicsount ЧАСТЬ II Данные действия следует выполнять каждый раз, когда услуга подключается в регионе (сети) с указанием корректных параметров: 1. NetId = ID сети телевидения, в которой заводится услуга 2. AccountKey = суффикс основного провайдера ЛС для ФЛ в регионе 3. FromServiceId = ID услуги ЦТВ или ТВ в регионе, с которой будут копироваться адреса подключения 4. TVLineTarifId = ID тарифа на поддержку абонентской линии ЦТВ. Так как ГТВ и ЦТВ используют одну абонентскую линию, при подключении ГТВ есть проверка для избежания дублирования абонентской линии. 5. HardRentTarifId = ID тарифа на аренду оборудования. В текущей схеме оборудование при подключении продаётся, поэтому ставится 0 6. AccountId = ID ЛС оператора по услуге Настройки для Новокузнецка 1. 2. 3. 4. 5. 6. NetId = 31 AccountKey = НКЕЛС FromServiceId = пусто TVLineTarifId = 7115 HardRentTarifId = 0 AccountId = 958071 Выполнить команды 1. W ##class(Hybrid.Install).CreateService(Name,NetId) Создаёт услугу с названием Name () в сети ID=NetId Этот метод также проверяет наличие или создаёт граф услуги (граф основной услуги должен называться "Договор гибрид (кредитная СН)") 2. W ##class(Hybrid.Install).CreateAccountProviderDefault(AccountKey) Создаёт Reference.AccountProviderDefault 3. Создать группу тарифов с названием Name для услуги с ID=^TMP("Hybrid.Install","ServiceId") (заполняется в CreateService) W ##class(Hybrid.Install).CreateTarifGroup(Name) 4. Копировать адреса подключения по услуге с ID=FromServiceId в адреса подключения по услуге ГТВ (используется группа тарифов из ^TMP("Hybrid.Install","TarifGroupId"), которая заполняется в CreateTarifGroup) W ##class(Hybrid.Install).SetConnectAddressList(FromServiceId) 5. Создаёт или находит тип документа с названием Name (по умолчанию "Абонентская плата за Гибридное ТВ")и добавляет его в $$$PREF("ServiceDocType","DocType_"_[ID услуги]), где ID услуги берётся из ^TMP W ##class(Hybrid.Install).CreateDocumentTypeMain(Name) 6. Создаёт 2 стоимости регистрации заказа с названием a. Name_" С оборудованием." b. Name_" Без оборудования." W ##class(Hybrid.Install).CreateRegistrationCost( Name,OrderTemplateName,NetId,TVLineTarifId,HardRentTarifId) В сети NetId, с параметрами, которые позволяют автоматически при регистрации услуги заводить, если требуется заказ на поддержку абонентской линии и аренду оборудования по тарифам TVLineTarifId,HardRentTarifId Также проверяет наличие шаблона на подключение "ГТВ. Подключение. Без фильтра. Бесплатная проводка" если его нет, то создаёт. Проверяет наличие настройки $$$PREF(Order,IncludesType_[ID шаблона на подключение]) которая добавляет в csp-страницу наряда выбор оборудования ГТВ Для Новокузнецка NetId=31, TVLineTarifId=7115, HardRentTarifId=0 7. W ##class(Hybrid.Install).CreateDefaultTarif(Name,Price) Создаёт или находит тариф названием Name(по умолчанию "Тариф для ГТВ") и тарифом 100 Добавляет его в существующую группу тарифов по ГТВ Добавляет этот тариф как доступный для подключения в схемы подключения "с оборудованием" и "без оборудования", созданные на предыдущем шаге 8. W ##class(Hybrid.Install).CreateLBSVAgent( Name,Region,AccountKey,NetId,RegistrationCostName) Создаёт примерного агента LBSV по данной услуге в данном регионе Параметры по умолчанию c. Name="Гибридное ТВ. ФЛ. Новосибирск" d. Region="Novosibirsk" e. AccountKey="НСОЕЛС" f. RegistrationCostName = ".Бесплатно по указанию ГТВ. Без оборудования." Пример использования W ##class(Hybrid.Install).CreateLBSVAgent("Гибридное ТВ. ФЛ. Новокузнецк","nvkz","НКЕЛС") 9. W ##class(Hybrid.Install).InstallPreActivation() Выставляет или проверяет наличие разнообразных настроек системного справочника 10. W ##class(Hybrid.Install).InitVod(NetId) // создает услуги VOD 11. W ##class(Hybrid.Install).CreateAddServiceList(NetId) // создает допуслуги 12. W ##class(Hybrid.Install).CreateContractRecipient(Config) Config имеет вид "AccountKey=AccountId", например НСОЕЛС=156042 13. Добавить шаблон наряда на отключение в $$$PREF("ERP_Order","OrderTemplateType_Disconnect") 14. Создать определения скидок по типам g. Hybrid.Discount.TypeDPFixed h. Hybrid.Discount.TypeTPFixed 15. Если требуется изменить поведение услуги ЦТВ таким образом, чтобы при одновременно подключенном ГТВ кредитный период изменялся с 4 месяцев на 1 в графе ЦТВ (соответствующего региона) изменить методы веса ребра с Contract.Control:wCountDebtMonth на Contract.Control2:wCustomCTVCountDebtMonth при этом вес меняется с auto=1|x на auto=1|x-y, где y - количество кредитных месяцев с подключенным ГТВ (например, 1)