Мастер-Web 7.2:Установка и настройка — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
(Настройки в файле WEB.CONFIG основного приложения)
(Полностью удалено содержимое страницы)
 
Строка 1: Строка 1:
==Программно-аппаратные требования==
 
Программно-аппаратные требования ПК Мастер-Web и системы on-line бронирования:
 
*Pentium IV Xeon 3 GHz
 
*Windows 2000 Server или Windows 2003 Server с установленным Internet Information Services (IIS) не ниже 5.0
 
*2 GB RAM или больше
 
*50MB свободного места на диске
 
*Internet Explorer версии 6.0 и выше
 
*Microsoft .NET Framework 2.0 и выше
 
*Microsoft Data Access Components 2.8 (MDAC 2.8)
 
==Установка IIS==
 
Крайне не рекомендуется изменять NTFS права на каталоги Inetpub и wwwroot.
 
  
Сервер, на котором развернут IIS, должен быть оснащен системой защиты FireWall.
 
 
В обязательном порядке необходимо ознакомиться с документацией на сайте компании Microsoft:
 
[http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/a14eeb71-c583-48b7-9d2c-083e81095d6e.mspx]
 
==Установка ПК «Мастер-Web»==
 
Для установки ПК Мастер-Web нужно создать директорию MasterWebStandard в каталоге c:/inetpub/wwwroot и выложить туда разархивированные файлы ПК Мастер-Web.
 
В управлении IIS cоздайте приложение для папки MasterWebStandard и приложение для папки admin, которая находится внутри директории MasterWebStandard. Для этого нужно в управлении IIS выделить нужную папку, нажать правую кнопку мышки и выбрать пункт меню Свойства. На вкладке Каталог в разделе Параметры приложения нажмите кнопку Создать. То же самое нужно сделать для папки admin, которая находится внутри директории MasterWebStandard.
 
 
Все дополнительные экраны не входят в стандартную поставку и  приобретаются отдельно.
 
 
==Подключение к базе данных ПК «Мастер-Тур».==
 
В файле web.config, расположенном в папке MasterWebStandard пропишите необходимые параметры подключения (курсивом выделены значения, которые необходимо ввести).
 
Строка подключения к базе данных ПК «Мастер-Тур»:
 
*1. <add key = "connectionString" value = "Data Source=ip-адрес сервера базы данных ПК Мастер-тур;Initial Catalog=название базы данных ПК Мастер-тур;User ID=логин пользователя ПК Мастер-тур;Password=пароль пользователя ПК Мастер-тур"/>
 
*2. <add key = "connectionStringShort" value = "Data Source= ip-адрес сервера базы данных ПК Мастер-Тур;Initial Catalog= название базы данных ПК Мастер-Тур"/>
 
 
При установке ПК «Мастер-веб» подробное описание возникающих ошибок будет отображаться только на сервере, а пользователи будут видеть только стандартное сообщение. Для того, чтобы ошибку можно было увидеть на всех компьютерах, нужно в файле web.config в теге customErrors прописать значение Off: <customErrors mode="Off"/>.
 
==Настройки программы ПК «Мастер-Web»==
 
После настройки программы, ее можно будет увидеть по адресу http://ip-адрес сервера ПК Мастер-Web/MasterWebStandard/, систему администрирования - http://ip-адрес сервера Мастер-Web/MasterWebStandard/admin/.
 
Имя пользователя и пароль для входа в систему администрирования такой же как и для входа в ПК Мастер-Тур, если в файле web.config не прописаны ограничение для входа только для определенного пользователя.
 
===Настройка отправки e-mail сообщений в системе бронирования.===
 
Из системы бронирования отправляются следующие сообщения:
 
{| border="1" align="left" style="text-align:left;"
 
|'''Сообщение'''
 
|'''Получатели сообщения'''
 
|-
 
|Новая регистрация в системе
 
|Администратор системы;Дополнительные e-mail
 
|-
 
|Восстановление пароля
 
|Пользователь ПК Мастер-Web
 
|-
 
|Регистрационные данные в системе
 
|Пользователь ПК Мастер-Web
 
|-
 
|Сообщение о новой заявке от агента
 
|Ведущий менеджер по путевке;Администратор системы; Дополнительный e-mail; E-mail по стране
 
|-
 
|Сообщение о новой заявке от частного лица
 
|Администратор системы
 
|-
 
|Сообщения об изменении в ФИО туристов
 
|Ведущий менеджер по путевке,Администратор системы
 
|-
 
|Запрос на аннуляцию забронированного тура
 
|Ведущий менеджер по путевке,Администратор системы
 
|-
 
|Сообщение об аннуляции забронированного тура
 
|Ведущий менеджер по путевке,Администратор системы
 
|-
 
|Примечание к заявке (Блок «Переписка с менеджером»)
 
|Ведущий менеджер по путевке, ведущий менеджер по стране. Если у ведущего менеджера не задан e-mail адрес, то сообщение отправляется на адрес, прописанный в настройке rcptTo.
 
|}
 
В таблице ниже приведены настройки e-mail адресов, которые должны быть заданы в системе, для отправки и получения сообщений:<BR>
 
{| border="1" align="left" style="text-align:left;"
 
|'''Отправитель/получатель'''
 
|'''Настройка'''
 
|'''Расположение'''
 
|-
 
|Адрес, с которого отправляются письма из системы бронирования
 
|<add key="mailFrom" value="mail@megatec.ru" />
 
|Web.config
 
|-
 
|Адрес администратора системы
 
|<add key="rcptTo" value="mail@megatec.ru" />
 
|Web.config
 
|-
 
|Дополнительные e-mail адреса, на которые приходят сообщения о новой регистрации и заявки на бронирование
 
|<add key="addRcptTo" value="e-mail1@mail.ru;e-mail2@mail.ru " />
 
|Web.config
 
|-
 
|Ведущий менеджер по туру
 
|Таблица UserList, колонка US_mailbox
 
|База данных ПК «Мастер-Тур»
 
|-
 
|Настройка почтового сервера
 
|<add key="smtpServer" value="mail.megatec.ru" />
 
|Web.config
 
|-
 
|Отправка отчета об ошибке при работе системе
 
|<add key="adminEmail" value="web@megatec.ru" />
 
|Web.config
 
|-
 
|Порт (по умолчанию 25)
 
|<add key="smtpPort" value="25" />
 
|Web.config
 
|-
 
|Тип авторизации на сервере. Если не используется авторизация, то None, если используется, то Base64
 
|<add key="smtpAuthentication" value="Base64" />
 
|Web.config
 
|-
 
|Имя пользователя для подключения к SMTP-серверу
 
|<add key="smtpUser" value="Domain\Username" />
 
|Web.config
 
|-
 
|Пароль пользователя
 
|<add key="smtpPassword" value="Password" />
 
|Web.config
 
|-
 
|Адрес, на который отправляется письмо при сохранении анкеты
 
|<add key="ankEmail" value="mail@megatec.ru" />
 
|Web.config
 
|-
 
|}
 
 
=== Дополнительные настройки===
 
====Подключение отчетных форм====
 
Настройки для подключения отчетных форм задаются в файле web.config, находящемся в папке MasterWebStandard. Данные настройки регулируют отображение ссылок на печать отчетов и определяют условия, необходимые для печати.
 
Для включения механизма необходимо добавить в конфигурационный файл web.config секции:<BR>
 
<configSections><BR>
 
…<BR>
 
<sectionGroup name="megatec.web"><BR>
 
<section name="reportSettings" type="Megatec.Configuration.WebReportsSection, Megatec.Configuration"/><BR>
 
</sectionGroup><BR>
 
…<BR>
 
</configSections><BR>
 
<megatec.web><BR>
 
<reportSettings controlAppearance="LinkButton" printReportPage="ReportPerpetuum.aspx" cssClass="reportLink"><BR>
 
<reports><BR>
 
</reports><BR>
 
</reportSettings><BR>
 
</megatec.web><BR>
 
 
Тег <reportSettings controlAppearance="LinkButton" printReportPage="ReportPerpetuum.aspx" cssClass="reportLink"> содержит параметры:<BR>
 
* controlAppearance - внешний вид контрола для перехода к печати отчета (ссылка или кнопка; принимают значения: LinkButton или PushButton);
 
* cssClass - CSS-класс контрола для перехода к печати отчета (класс стиля в файле styles.css; например, кнопки);
 
* autoChangeOrderStatusKey – ключ статуса путевки, на который изменится текущий статус, после того, как все отчеты, отмеченные параметром needPrintForAutoChangeStatus, будут распечатаны;
 
* autoChangeIsOutDocKey – отметка о выдаче документов, которая присваивается заявке после того, как все отчеты, отмеченные параметром needPrintForAutoChangeIsOutDoc, будут распечатаны.
 
 
Теги для подключения отчетов имеют вид: <add code="OTCHET" title="Отчет" guid="00000-0000-0000-0000-0000000000" containServices="3" globalOrderStatusKeys="7" payed="true" hideOnFalseConditions="true"/>.
 
Список возможных параметров:
 
* code - уникальный ключ отчета (любой, но уникальный в рамках конфига);
 
* title - название отчета, отображаемое в web;
 
* reportFormat - формат вывода отчета (html, pdf, rtf, xls);
 
* guid - идентификатор отчета в БД;
 
* message - сообщение, выдаваемое, если печать отчета невозможна;
 
* containServices - условие по необходимости наличия классов услуг в путевке (наличие услуг теперь можно задавать как containServices="1-2-3", где 1-serviceKey, 2-code, 3-subcode1 использовать можно в любых комбинациях, т.е. containServices="1-0-0,3-3224,5");
 
* countryKeys - условие по стране;
 
* orderStatusKeys - условие по статусу путевки;
 
* globalOrderStatusKeys - условие по глобальному статусу путевки;
 
* payed - условие, по которому путевка должна быть полностью оплачена;
 
* servicesThatMustBeApproved - условие, определяющее, какие классы услуг в путевке должны быть подтверждены к печати;
 
* priceTourNameLike - условие по названию тура для web;
 
* additionalUrl - дополнительные параметры, передаваемые в отчет;
 
* hideOnFalseConditions - скрывать ссылку на отчет, если условия печати не выполнены;
 
* userType - тип пользователя, которому доступна печать отчета (0 - агент; 1 - частник);
 
* staticUrl - статическая ссылка на файл;
 
* target - открывать в новом или текущем окне (_blank – в новом окне, _self – в текущем);
 
* additionalEmail - e-mail адрес, на который будет отправляться копия отчета (данная возможность доступна только для отчетов в формате .pdf);
 
* timeCheckServiceKey - ключ класса услуги для проверки возможности печати отчета по временным рамкам;
 
* timeCheckInterval - временной интервал в часах, отсчитываемый назад от события, определяемого настройкой timeCheckServiceKey, позднее которого не разрешается печать отчётов;
 
* timeCheckHourMinute - час и минута за день до события, определяемого настройкой timeCheckServiceKey, позднее которого не разрешается печать отчётов (может быть указан в формате HH-mm, HH.mm или HH:mm); настройка timeCheckInterval более приоритетна, чем timeCheckHourMinute;
 
* timeFromCheckServiceKey – ключ класса услуги для проверки возможности печати отчета раньше определенной даты. Берется дата первой по времени услуги этого класса из путевки, от нее отсчитывается назад количество часов, заданных настройкой timeFromCheckInterval и получается дата и время, раньше которых запрещена печать отчета. В случае авиаперелета время отсчитывается от времени вылета, в случае услуги, у которой есть только дата начала, время отсчитывается от 00:00 этой даты. Если значение ключа равно нулю, то время отсчитывается от даты начала тура;
 
* timeFromCheckInterval – количество часов, отсчитываемое назад от события, определяемого настройкой timeFromCheckServiceKey, ранее которого не разрешается печать отчетов;
 
* timeFromCheckHourMinute – альтернатива настройке timeFromCheckInterval (имеет меньший приоритет). Час и минута в день, определяемый настройкой beginPrintDayInterval, до события, определяемого настройкой timeFromCheckServiceKey, ранее которого запрещена печать отчетов (может быть указан в формате HH-mm, HH.mm или HH:mm);
 
* beginPrintDayInterval – используется в  связке с timeFromCheckHourMinute и определяет количество дней до события, определяемого настройкой timeFromCheckServiceKey, ранее которого запрещена печать отчетов. Значение по умолчанию – 1;
 
* excludeWeekend – исключает выходные при отсчете дней до событий, определяемых настройками TimeCheckServiceKey и TimeFromCheckServiceKey. Используется в связке с настройками timeFromCheckHourMinute и beginPrintDayInterval. Значение по умолчанию – false;
 
* needPrintForAutoChangeStatus - необходимость печати отчета для изменения статуса путевки (true – отчет должен быть распечатан для изменения статуса путевки на значение указанное в autoChangeOrderStatusKey; false – печать отчета не влияет на изменение статуса путевки);
 
* needPrintForAutoChangeIsOutDoc – определяет необходимость печати отчета для изменения отметки о выдаче документов;
 
* permittedPartners – ключи партнеров, к которым привязаны ведущие менеджеры (печать такого отчёта будет возможна только по тем путёвкам, ключ партнёра ведущего менеджера которых есть в этом списке);
 
* serviceStatusKeys – список статусов услуг, через запятую, при которых можно печатать отчёт;
 
* printExcludedServiceKeys – определяет ключи типов услуг через запятую, исключаемых из проверки в настройке serviceStatusKeys;
 
* documentSuperStatus – определяет статус документов, при котором игнорируются настройки печати отчета по статусу путевки, по оплате и по наличию рейсов в путевке с признаком «Разрешен к печати»;
 
* possibleUnderpayment – максимально возможная недоплата по путёвке. Условие срабатывает только при включенной настройке Payed. Исчисляется в национальной валюте. Пересчёт в нац. валюту из валюты тура осуществляется на дату создания путёвки
 
* documentStatuses – ключи статусов документа (DocumentStatus), при которых возможна печать данного отчета.
 
 
Подключаемые отчетные формы обязательно должны быть установлены в ПК Мастер-Тур.
 
<BR>
 
Для подключения стандартных отчетов «Ваучер», «Электронный билет», «Счет» и «Страховка» в теге <reports/> необходимо добавить секции:<BR>
 
<add code="VCHRSTD" title="Распечатать Ваучер" guid="2DF35251-E08F-480F-B870-364AA866F0FB" containServices="3" globalOrderStatusKeys="7" payed="true" hideOnFalseConditions="true"/><BR>
 
<add code="EKTKSTD" title="Распечатать Электронный билет" guid="41969A74-4303-4732-8EBB-E2870D43AB9A" containServices="1" globalOrderStatusKeys="7" <BR>
 
payed="true" additionalUrl="&amp;Language=RUS"/><BR>
 
<add code="ACCNTSTD" title="Распечатать Счет" guid="55F8A40E-0C9D-4522-B335-541DD09601D0" globalOrderStatusKeys="7" userType="0" /><BR>
 
<add code="INSURSTD" title="Распечатать Страховку" guid="75165C7F-5BA5-4769-B215-898577D1376E" containServices="6" globalOrderStatusKeys="7" payed="true" <BR>reportFormat="pdf" userType="1" /><BR>
 
 
Подключение других отчетных форм осуществляется таким же образом, как и подключение стандартных отчетов.<BR>
 
 
Для того, чтобы отчет корректно работал в ПК Мастер-Web, он должен быть определенным образом обработан. Сейчас можно подключать некоторые отчеты серий 4001, 4020, 4080. Для уточнения информации по подключению просьба обращаться по адресу report@megatec.ru.
 
===== Решение проблем=====
 
======Ошибка ‘Padding is invalid and cannot be removed’======
 
Для решения данной проблемы необходимо в конфигурационном файле web.config основного приложения в теге <system.web/> (в самом конце) добавить настройку:
 
  <machineKey validationKey='11111' decryptionKey='22222' validation='SHA1' decryption='AES'/>
 
Сгенерировать machineKey можно по адресу: http://www.orcsweb.com/articles/aspnetmachinekey.aspx. Для этого необходимо нажать кнопку «Generate MachineKey». Нужное значение отобразится в окне «MachineKey».
 
======Ошибка ‘Доступ к реестру запрещен’======
 
Данная ошибка возникает при печати отчетов.<BR>
 
Для решения данной проблемы необходимо открыть редактор реестра (для этого в командной строке нужно набрать команду regedit и нажать кнопку Enter). Далее нужно открыть \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog и кликнув правой кнопкой мыши по разделу EvantLog выбрать пункт «Разрешения»:<BR>
 
[[Файл:592.PNG]]<BR>
 
 
После этого откроется окно редактирования разрешений для раздела EventLog.
 
<BR>
 
[[Файл:593.PNG]]<BR>
 
Здесь необходимо добавить полные права на раздел и все подразделы для сущности Network Service.
 
======  Отображение картинки при регистрации в IIS7======
 
В IIS7 для отображения картинок CaptchaImage в экране «Регистрация» необходимо добавить строчку <add verb="GET" path="CaptchaImage.aspx" name="captcha" type="WebControlCaptcha.CaptchaImageHandler, WebControlCaptcha" /> в конфигурационный файл web.config. Новая запись добавляется в секции:
 
  <system.webServer>
 
    …
 
    <handlers>
 
      …
 
<add verb="GET" path="CaptchaImage.aspx" name="captcha" type="WebControlCaptcha.CaptchaImageHandler, WebControlCaptcha" />
 
    </handlers>
 
  </system.webServer>
 
=====Список филиалов для городов вылета, из которых доступна только отправка заявки по e-mail=====
 
Настройки для формирования списка филиалов в зависимости от города вылета задаются в файле web.config, находящемся в папке MasterWebStandard. <BR>
 
Для включения механизма необходимо добавить в конфигурационный файл web.config в теге <MasterWeb/> секцию: <BR>
 
    <emailOnlyDepartureCities> <BR>
 
      <classes> <BR>
 
        <add name="326" keys="10795,10878,11052"/> <BR>
 
        <add name="266" keys="10762,10805"/> <BR>
 
      </classes> <BR>
 
    </emailOnlyDepartureCities> <BR>
 
 
Здесь значением параметра name является ключ города вылета, из которого доступна только отправка заявок по e-mail, а значением параметра keys являются ключи филиалов, которые будут отображаться в соответствующем списке при переходе в экран «Упрощенная корзина» по турам из этого города вылета. Для каждого города вылета создается отдельная запись <add name="198" keys="10795,10723"/>. <BR>
 
Также необходимо добавить секцию в теге
 
<configSections/> <BR>
 
<sectionGroup name="MasterWeb"/>: <BR>
 
 
<section name="emailOnlyDepartureCities" type="Megatec.Web.Configuration.DynamicClassSection, Megatec.Web.Configuration"/> <BR>
 
====Настройки в файле WEB.CONFIG системы администрирования====
 
{| border="1" align="left" style="text-align:left;"
 
|'''Описание'''
 
|'''Значение'''
 
|'''Настройка'''
 
|-
 
|Настройка, включающая возможность работы с частными лицами в Системе Администрирования ПК Мастер-Web
 
| true – включить возможность работы с частными лицами;- false или отсутствие настройки – не включать возможность
 
|<add key="allowPersonalRegistration" value="true" />
 
|-
 
|Настройка, включающая возможность выставления туров для надстройки «Бронирование авиабилетов»
 
|Ключ пользователя из таблицы Dup_User
 
|<add key="anonymousUserKey" value="2" />
 
|}
 
====Настройки Системы Администрирования====
 
=====Общие настройки=====
 
Общие настройки задаются в разделе «Настройки» Системы Администрирования ПК Мастер-Web.
 
Раздел «Настройки» разделен на несколько блоков:
 
* Настройки дополнительной комиссии
 
* Настройки ввода
 
* Настройки отображения
 
* Права пользователей
 
======Настройки дополнительной комиссии======
 
Дополнительная комиссия – это комиссия, которая прибавляется к комиссии агентства по умолчанию (величина комиссии по умолчанию задается в справочнике Партнеры в базе данных ПК Мастер-Тур).
 
<BR>
 
[[Файл:594.PNG]]<BR>
 
* + ___% к комиссии агентства, если она не более  __% – если комиссия агентства не больше указанной, то при бронировании заявки через систему бронирования будет добавлен дополнительный процент, если больше - дополнительный процент добавляться не будет.
 
* + ___у.е. к комиссии агентства, если она не более ____ у.e. – если комиссия у агентства не более указанной суммы, то можно задать ему дополнительную фиксированную скидку за бронирование туров через систему бронирования.
 
* + ___% к комиссии агентства, если бронирует не менее чем за ____ дней – если агентство бронирует путевку более чем за указанное в настройке количество дней, то можно задать ему дополнительный процент скидки.
 
* Ограничение общей комиссии (только для комиссии данной в %): ____% - максимально возможное значение комиссии для агентств.
 
* Комиссия для туров – дополнительная комиссия для туров, название которых включает определенное слово или фразу.
 
======Настройки ввода======
 
Данные настройки указывают какие данные о туристах должны заполняться при бронировании туров, а также определяют какую информацию можно изменять в уже готовых путевках. Здесь же можно установить желаемый регистр букв и необходимость транслитерации.
 
<BR>
 
[[Файл:595.PNG]]<BR>
 
======Настройки отображения======
 
<BR>
 
[[Файл:596.PNG]]<BR>
 
* Для настройки отображения свободных мест нужно установить переключатель в одно из положений:
 
** Только уполномоченным агентам – отображение количества свободных мест в гостинице в прайс-листе ПК Мастер - Web только для пользователей ПК Мастер - Web, зарегистрированным в системе с правами уполномоченного агента (в подразделе Пользователи системы для клиента отметьте флажком Уполномоченный агент).
 
** Всем – любые пользователи системы увидят в прайс-листе количество свободных мест в гостинице.
 
 
* Для настройки отображения наличия мест «Мало» нужно указать количество свободных мест в %, при котором должен показываться этот статус.
 
 
* Для настройки цветов статусов путевок в экране «Список заявок» нужно выбрать цвет из палитры для каждого из статусов.
 
======Права пользователей======
 
В группе настроек Права пользователей можно настроить права для различных типов пользователей: агентов, уполномоченных агентов и уполномоченных частных лиц.
 
<BR>
 
[[Файл:597.PNG]]<BR>
 
*Аннулирование заявок – пользователи могут аннулировать заявку, и сообщение об этом придет на e-mail ведущего менеджера по туру и администратора системы (подробнее о настройке сообщений см. инструкцию по установке и настройке ПК Мастер - Web);
 
*Редактирование фамилий туристов в заявке - пользователи системы смогут редактировать ФИО туристов в своих заявках, сообщение об этом придет на e-mail ведущего менеджера по туру и администратора системы (подробнее о настройке сообщений см. инструкцию по установке и настройке ПК Мастер - Web);
 
*Редактирование списка услуг для туристов – пользователи системы смогут редактировать список услуг для туристов в экране «Оформление заказа» при бронировании туров через стандартную корзину;
 
*Частные лица – данная настройка определяет возможность бронирования туров пользователям, авторизованным как частные лица.
 
=====Настройки для стран=====
 
Настройки для стран задаются в разделе «Выставить страну в интернет» Системы Администрирования ПК Мастер-Web.
 
<BR>
 
[[Файл:598.PNG]]<BR>
 
=====Настройки для туров=====
 
Настройки для туров задаются в разделе «Выставить тур в интернет» Системы Администрирования ПК Мастер-Web.
 
<BR>
 
[[Файл:599.PNG]]<BR>
 
====Настройки файлов MasterPage====
 
Настройки файлов MasterPage управляют отображением информации в заголовке страницы: панель авторизации, ссылки «Регистрация», «Забыли пароль», «Частное лицо» и т.д.
 
Данные настройки прописываются в файлах с расширением .Master: MasterWeb.Master, MasterWebExtra.Master и т.д.
 
Файл для того или иного экрана определяется настройкой MasterPageFile=, прописанной в aspx-файле этой страницы.
 
Существует несколько настроек, определяющих формат отображения информации в заголовке. Данные настройки прописываются в тегах <cc2:login/> файлов MasterPage.
 
=====Общие настройки=====
 
Данные настройки определяют формат отображения ссылок «Регистрация» (Registration.aspx) и «Частное лицо» (LoginPersonalPage.aspx):
 
* LoginPersonalText="Частное лицо"
 
* RegistrationText="Регистрация"
 
===== Формат отображения информации до авторизации (при настройке personalbooking=false)=====
 
Формат отображения информации в заголовке определяется настройкой FormatBeforeLogin. Значениями данной настройки являются:
 
* {0} – текст "Вы не авторизованы"
 
* {1} – поля ввода логина/пароля
 
* <a href=’{2}’></a> - ссылка на экран регистрации
 
* {3} – текст "Регистрация"
 
* <a href=’{4}’></a> - ссылка на экран восстановления пароля
 
* {5} – текст "Забыли пароль?"
 
 
Пример: FormatBeforeLogin="{0}&nbsp;{1}&nbsp;/&nbsp;<a href='{2}'>{3}</a>&nbsp;/&nbsp;<a href='{4}'>{5}</a>"
 
 
=====Формат отображения информации до авторизации (при настройке personalbooking=true)=====
 
Формат отображения информации в заголовке определяется настройкой FormatBeforeLoginPersonal. Значениями данной настройки являются:
 
* {0} – текст "Вы не авторизованы"
 
* {1} - поля ввода логина/пароля
 
* {2} - ссылка на частное лицо(loginpersonalpage) + текст "Частное лицо"
 
* <a href=’{3}’></a> - ссылка на экран регистрации
 
* {4} - текст "Регистрация"
 
* <a href=’{5}’></a> - ссылка на экран восстановления пароля
 
* {6} – текст "Забыли пароль?"
 
 
Пример: FormatBeforeLoginPersonal=”{0}&nbsp;{1}&nbsp;/&nbsp;{2}&nbsp;/&nbsp;<a href='{3}'>{4}</a>&nbsp;/&nbsp;<a href='{5}'>{6}</a>”
 
====== Формат отображения информации после авторизации======
 
Формат отображения информации в заголовке определяется настройкой FormatAfterLogin. Значениями данной настройки являются:
 
* {0} – имя пользователя
 
* <a href=’{2}’></a>- ссылка на личный кабинет
 
* {3} – текст «Личный кабинет»
 
 
Пример: FormatBeforeLoginPersonal=”{0}&nbsp;/&nbsp;<a href='{2}'>{3}</a>&nbsp;”
 
=====Настройки отображения информации=====
 
Существует возможность выводить различную информацию для различных партнеров, у которых экран «Подбор тура с наличием мест» развернут на сайте во фрейме. Ключ партнера можно передавать через URL (параметр pkey).
 
Разграничение информации для различных партнеров настраивается через файлы профилей, расположенных в папке templates каталога MasterWeb. Названия данных файлов имею вид: partnerProfile_XX.xml. Здесь XX – это ключ партнера, ключ которого будет передаваться через параметр pkey.
 
Файл partnerProfile_0.xml определяет настройки отображения информации для всех партнеров, за исключением тех, для которых созданы отдельные файлы профилей. Важно учесть, что данный файл собирается в архив с обновлением, поэтому если настройки в этом файле изменялись, то нужно быть внимательнее при обновлении приложения на очередной релиз.<BR>
 
Файл partnerProfile_0.xml является обязательным файлом.
 
Если в каталоге templates файл partnerProfile_0.xml отсутствует, то необходимо обратиться в службу поддержки по адресу service@megatec.ru.<BR>
 
 
ВАЖНО!!! Отображение колонок в экране «Список заявок» полностью настраивается в файле partnerProfile_0.xml.
 
 
Настройки orderListPriceInNationalRate, showNationalCurrencyPrice и paymentsLink больше не будут обрабатываться в экране «Список заявок».
 
Настройка displayCurrencies будет работать только при пустом значении настройки DefaultRateCodes в файле профиля.
 
 
Файлы профилей содержат следующие настройки:
 
 
*1. Коды валют, отображаемых в списке курсов валют
 
  <DefaultRateCodes>Eu,$</DefaultRateCodes>
 
 
*2. Отключать ссылки на внешние сайты (например, ссылки на описания туров, отелей)
 
  <HideExternalLinks>false</HideExternalLinks>
 
 
 
*3. Список доменных имен, ссылки на которые отображаются независимо от настройки HideExternalLinks
 
  <ExternalLinksExceptions></ExternalLinksExceptions>
 
 
 
*4. Скрывать информацию о договоре (поле «№ Договора»)
 
  <HideAgentDogovorInfo>false</HideAgentDogovorInfo>
 
 
 
*5. Скрывать кнопки «Запрос на аннуляцию» и «Аннулировать заявку»
 
  <HideAnnulationControl>false</HideAnnulationControl>
 
 
 
*6. Скрывать информацию о курсе валют
 
  <HideExchangeRate>false</HideExchangeRate>
 
   
 
*7. Скрывать блок переписки с менеджером
 
  <HideManagerCorrespondence>false</HideManagerCorrespondence>
 
 
 
*8. Скрывать возможность импорта в Мастер-Агент
 
  <HideMasterAgentExport>false</HideMasterAgentExport>
 
 
 
*9. Скрывать колонки в списке заявок
 
  Названия колонок: FIO,NMen,TourDateBegin,TourDateEnd,CountryName,TourName,
 
  Hotel,OrderStatus,ToPaySum,ToPayNationalSum,PriceNational,PrepaymentSum,
 
  PrepaymentDate,PaymentDate,PayedSum,PayedNationalSum,Owner,CreationDate,
 
  UserLogin,VisaInfo,PartnerName,PrintAccount,PayByAssist,Annulate,Bonus,BonusUnits
 
          <HideOrderListColumns>Owner,UserLogin,PartnerName,PrintAccount,PayByAssist,Annulate</HideOrderListColumns>
 
 
 
*10. Скрывать ссылку «Прайс-лист»
 
  <HidePriceListLink>false</HidePriceListLink>
 
 
 
*11. Скрывать ссылку на регистрацию
 
  <HideRegistrationLink>false</HideRegistrationLink>
 
 
 
*12. Отображаемые отчеты (all / none / список guid для отчетов через dll / список code для отчетов через web.confid)
 
  <ShowReports>all</ShowReports>
 
 
*13.   Заменить target у всех ссылок
 
**_blank - Загружает страницу в новое окно браузера.
 
**_self - Загружает страницу в текущее окно.
 
**_parent - Загружает страницу во фрейм-родитель, если фреймов нет, то этот параметр работает как _self.
 
**_top - Отменяет все фреймы и загружает страницу в полном окне браузера, если фреймов нет, то этот параметр работает как _self.
 
 
  <SetLinksTarget></SetLinksTarget>
 
 
 
 
====Настройки, передаваемые через URL страницы====
 
=====Передача параметров в экран «Поиск»=====
 
Данная настройка предусматривает возможность передачи различных параметров через URL страницы. При этом, если существуют рассчитанные прайсы по данной стране, то при загрузке страницы в фильтре данная страна автоматически будет выбрана в списке стран, и будут загружены значения в других поисковых полях.
 
Пример строки подключения:<BR>
 
http://localhost/MasterWebStandard/Extra/Default.aspx?country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234 
 
(здесь параметры country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234, где «90», «1», «1», «275», «0», «267» и «3234» их значения).
 
Возможные варианты:
 
* сountry= ключ страны
 
* departFrom= ключ города вылета
 
* resort= ключ курорта
 
* city= ключ города
 
* tourtype= ключ типа тура
 
* tour= ключ тура в таблице TP_Tours
 
* tourlistkey= ключ тура в таблице tbl_TurList
 
* hotel= ключ отеля
 
===== Передача параметров в экран «Динамический лист предложений»=====
 
Данная настройка предусматривает возможность передачи ключа страны, тура, отеля и города вылета через URL страницы. При этом, если существуют рассчитанные прайсы по данной стране, то при загрузке страницы в фильтре данная страна автоматически будет выбрана в списке стран, и будут загружены значения в других поисковых полях.<BR>
 
Это удобно при переходе на Динамический лист предложений из разделов сайта с описанием конкретных стран.<BR>
 
Пример строки подключения:<BR>
 
http://localhost/MasterWebStandard/Extra/DynamicOffers.aspx?country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234&room=2&dateFrom=2008-08-15&dateTo=2008-08-25
 
(здесь параметры country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234&room=2&dateFrom=2008-08-15&dateTo=2008-08-25, где «90», «1», «1», «275», «0», «267», «3234», «2», «2008-08-15» и «2008-08-25»  их значения).<BR>
 
Возможные варианты:
 
* сountry= ключ страны
 
* departFrom= ключ города вылета
 
* resort= ключ курорта
 
* city= ключ города
 
* tourtype= ключ типа тура
 
* tour= ключ тура в таблице TP_Tours
 
* tourlistkey= ключ тура в таблице tbl_TurList
 
* hotel= ключ отеля
 
* room= ключ типа номера
 
* dateFrom= дата заезда с
 
* dateTo= дата заезда по
 
===== Передача параметров в экран «Подбор туров с наличием мест»=====
 
Данная настройка предусматривает возможность передачи различных параметров через URL страницы. При этом, если существуют рассчитанные прайсы по данной стране, то при загрузке страницы в фильтре данная страна автоматически будет выбрана в списке стран, и будут загружены значения в других поисковых полях.
 
Пример строки подключения:
 
http://localhost/MasterWebStandard/Extra/QuotedDynamic.aspx?country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234&room=2&dateFrom=2008-08-15&dateTo=2008-08-25&pricelink_target=_top&target=blank   
 
(здесь параметры country=90&departFrom=1&resort=1&city=275&tourtype=0&tour=267&hotel=3234&room=2&dateFrom=2008-08-15&dateTo=2008-08-25&pricelink_target=_top&target=blank,
 
где «90», «1», «1», «275», «0», «267», «3234», «2», «2008-08-15», «2008-08-25», «_top» и «blank» их значения)
 
Возможные варианты:
 
* сountry= ключ страны (обязательный параметр)
 
* departFrom= ключ города вылета (обязательный параметр)
 
* resort= ключи курортов через запятую
 
* city= ключи городов через запятую
 
* tourtype= ключ типа тура
 
* tour= ключ тура в таблице TP_Tours
 
* tourlistkey= ключ тура в таблице tbl_TurList
 
* hotel= ключи отелей через запятую
 
* stars= категории гостиниц через запятую
 
* hotelOption= ключи услуг в отелях через запятую
 
* pansion= ключи типов питания через запятую
 
* room= ключ типа номера
 
* roomCategory= ключ категории номеров
 
* adults= количество взрослых
 
* childs= количество детей
 
* firstChildAge= возраст первого ребенка
 
* secondChildAge= возраст второго ребенка
 
* dateFrom= дата заезда с
 
* dateTo= дата заезда по
 
* pricelink_target= открытие ссылки на корзину (_blank – загружать страницу в новое окно браузера (по умолчанию); _self – загружать страницу в текущее окно; _parent – загружать страницу во фрейм-родитель, если фреймов нет, то этот параметр работает как _self; _top – отменяет все фреймы и загружает страницу в полном окне браузера, если фреймов нет, то этот параметр работает как _self)
 
* target= открытие результатов поиска в отдельном окне (blank – открытие страницы с результатами поиска в отдельном окне)
 
* pkey= ключ партнера, которому должна отправляться копия письма о новом бронировании при оформлении путевок в экранах «Корзина», «Упрощенная корзина» и «Упрощенная корзина 2» (данный параметр удобно использовать, например, если экран «Динамический лист с наличием мест» встроен в сайт агентства с использованием фреймов)
 
* aviaQuotaMask= отметки наличия мест на авиаперелеты (1 – наличие мест «Есть»; 2 – наличие мест «Нет»; 3 – наличие мест «Есть» и «Нет»; 4 – наличие мест «Запрос»; 5 – наличие мест «Есть» и «Запрос»; 6 – наличие мест «Запрос» и «Нет»; 7 – наличие мест «Есть», «Нет» и «Запрос»)
 
* hotelQuotaMask= отметки наличия мест в отеле (1 – наличие мест «Есть»; 2 – наличие мест «Нет»; 3 – наличие мест «Есть» и «Нет»; 4 – наличие мест «Запрос»; 5 – наличие мест «Есть» и «Запрос»; 6 – наличие мест «Запрос» и «Нет»; 7 – наличие мест «Есть», «Нет» и «Запрос»)
 
* showResults= необходимость автоматического отбора данных при переходе в экран по ссылке с параметрами (0 – данные автоматически не отбираются)
 
* priceLimit= цена до
 
* mainOnly= поиск только по основным размещениям
 
* kindOfTours= виды тура (0 – все; 1 – пакетные туры; 2 – наземное обслуживание)
 
* pageSize= количество записей на странице
 
* days= продолжительность в днях
 
* nights= продолжительность в ночах
 
* currency= валюта (cur – у.е.; national – национальная валюта; ISO-код валют через запятую)
 
* additionalinfo= отображение дополнительного описания тура (отображается в самом верху экрана над фильтрами); доступные значения: 0- не отображать, 1 – отображать.
 
 
=====Передача параметров в экран «Динамический лист с ценами по туру»=====
 
Данная настройка предусматривает возможность передачи различных параметров через URL страницы.
 
Пример строки подключения:
 
http://localhost/MasterWebStandard/Extra/TourPriceList.aspx?tour=112&mainOnly=1&round=2
 
(здесь параметры tour=112&mainOnly=1&round=2, где «112», «1» и «2» их значения)<BR>
 
Возможные варианты:
 
* tour= ключ тура из таблицы tp_tours (обязательный параметр)
 
* mainOnly= вывод только основных размещений (1 – выводить только остновные размещения; 0 – выводить все размещения)
 
* round= округление стоимости (количество знаков после запятой)
 
* date= дата заезда
 
=====Передача параметров в экран «Информация по туру»=====
 
Данная настройка предусматривает возможность передачи параметров через URL страницы.
 
Пример строки подключения:
 
http://ip-адрес сервера ПК Мастер-Web/MasterWebStandard/Extra/TourSummary.aspx?tour=112&tourdates=1&tourdatescount=7
 
(здесь параметры tour=112&tourdates=1&tourdatescount=7, где «112», «1» и «7» их значения)<BR>
 
Возможные варианты:
 
* tour= ключ тура из таблицы tp_tours (обязательный параметр)
 
* tourdates= отображать даты заездов вместо дней заездов
 
* tourdatescount= количество дат заезда в одной строке (при включенном параметре tourdates)
 
===== Передача параметров в экран «Список отелей по городу»=====
 
Данная настройка предусматривает возможность передачи параметров через URL страницы.
 
Пример строки подключения:
 
http://localhost/MasterWebStandard/Extra/CityHotels.aspx?city=93
 
(здесь параметр city=93, где «93»  его значение)<BR>
 
Возможные варианты:
 
* city= ключ города, в котором находятся отели, из таблицы CityDictionary (обязательный параметр)
 
=====Передача параметров в экран «Список туров по странам»=====
 
Данная настройка предусматривает возможность передачи параметров через URL страницы.
 
Пример строки подключения:
 
http://localhost/MasterWebStandard/Extra/SimpleTourList.aspx?spo=1
 
(здесь параметр spo=1, где «1»  его значение)<BR>
 
Возможные варианты:
 
* spo= отображение только туров, отмеченных как СПО
 
=====Передача параметров в экран «Спецпредложения»=====
 
Данная настройка предусматривает возможность передачи параметров через URL страницы. Параметры запроса для отображения информации задаются в строке:
 
http://localhost/MasterWebStandard/Extra/SpecialOffers.aspx?country=90&hotel=3229&dateFrom=2008-10-22&dateTo=2008-10-30&spoCount=20&topSalesCount=10&visibleCount=3  (здесь параметры country=90&hotel=3229&dateFrom=2008-10-22&dateTo=2008-10-30&spoCount=20&topSalesCount=10&visibleCount=3, где «90», «3229», «2008-10-22», «2008-10-30», «20», «10» и «3» их значения)<BR>
 
Возможные варианты:
 
* сountry= ключ страны
 
* hotel= ключ отеля
 
* dateFrom= дата заезда с
 
* dateTo= дата заезда по
 
* spoCount= – количество строк в таблице СПО
 
* topSalesCount= – количество строк в таблице Лидеры продаж
 
* visibleCount= – видимое число строк в каждой таблице.
 
Если значение параметров spoCount или topSalesCount равно нулю «0», то таблица не отображается, если равно минус единице «-1», то отображается целиком.
 
=====Передача параметров в экран «Навигатор СПО»=====
 
Данная настройка предусматривает возможность передачи параметров через URL страницы. Параметры запроса для отображения информации задаются в строке:
 
http://localhost/MasterWebStandard/Extra/SPONavigator.aspx?country=90&hotel=3229&dateFrom=2008-10-22&dateTo=2008-10-30 (здесь параметры country=90&hotel=3229&dateFrom=2008-10-22&dateTo=2008-10-30, где «90», «3229», «2008-10-22» и «2008-10-30» их значения)<BR>
 
Возможные варианты:
 
* сountry= ключ страны
 
* hotel= ключ отеля
 
* dateFrom= дата заезда с
 
* dateTo= дата заезда по
 
* resort= ключ курорта
 
=====Передача параметров в экран «Наличие мест на рейсах»=====
 
Данная настройка предусматривает возможность передачи различных параметров через URL страницы. Параметры запроса на отображение информации задаются в строке:
 
http://localhost/MasterWebStandard/Extra/AviaQuotes.aspx?countryFrom=460&cityFrom=1&countryTo=86&cityTo=187&showAnother=1
 
http://localhost/MasterWebStandard/Extra/AviaQuotesEx.aspx?countryFrom=460&cityFrom=1&countryTo=86&cityTo=187
 
(здесь параметры countryFrom=460&cityFrom=1&countryTo=86&cityTo=187, где «460», «1», «86» и «187» их значения)<BR>
 
* countryFrom= ключ страны вылета
 
* cityFrom= ключ города вылета
 
* countryTo= ключ страны прилета
 
* cityTo= ключ города прилета
 
* showAnother= предоставлять или нет выбор других направлений (значение 1 – предоставлять выбор; отсутствие параметра – не предоставлять)
 
Значения параметров для стран берутся из таблицы Country, а для городов – CityDictionary.
 
=====Передача параметров в экран «Наличие мест в отеле»=====
 
Данная настройка предусматривает возможность передачи различных параметров через URL страницы. Параметры запроса на отображение информации задаются в строке:
 
http://localhost/MasterWebStandard/Extra/HotelQuotes.aspx?country=90&departFrom=1&dateFrom=2008-01-25&city=275&resort=1&hotel=3234
 
(здесь параметры country=90&departFrom=1&dateFrom=2008-01-25&city=275&resort=1
 
&hotel=3234, где «90», «1», «2008-01-25», «275», «1» и «3234» их значения)
 
* country= ключ страны
 
* departFrom= ключ города вылета
 
* dateFrom= первая дата для отображения информации
 
* city= ключ города прилета
 
* resort= ключ курорта
 
* hotel= ключ отеля
 
Значения параметров для стран берутся из таблицы tbl_Country, для городов – CityDictionary, для курортов – Resorts, а для отелей - HotelDictionary.
 
=====Передача параметров в экран «Ценовой лист»=====
 
Данная настройка предусматривает возможность передачи различных параметров через URL страницы. Параметры запроса на отображение информации задаются в строке:
 
http://localhost/MasterWebStandard/PriceList/Complex.aspx?country=86&city=187&resort=46&dateFrom=2005-11-30&dateTo=2005-11-31&hotel=15&daysFrom=8&daysTo=15&price=1500&tour=256&departFrom=1
 
(здесь параметры country=86&city=187&resort=46&dateFrom=2005-11-30&dateTo=2005-11-30&hotel=15&daysFrom=8&daysTo=15&price=1500&tour=256&departFrom=1, где «86», «187», «46», «2005-11-30», «2005-11-31», «8», «15», «1500», «256», «1» их значения)
 
* country= ключ страны предоставления тура
 
* city= ключ города предоставления тура
 
* resort= ключ курорта предоставления тура
 
* dateFrom= дата начала периода отображения цен (цена отобразится, только если есть заезд в выбранный период)
 
* dateTo= дата окончания периода отображения цен (цена отобразится, только если есть заезд в выбранный период)
 
* hotel= ключ отеля
 
* daysFrom= минимальная продолжительность тура
 
* daysTo= максимальная прдолжительность тура
 
* price= максимальная цена
 
* tour= ключ тура в таблице TP_Tours
 
* tourlistkey= ключ тура в таблице tbl_TurList
 
* tourtype= ключ типа тура
 
* departFrom= ключ города вылета
 
* additionalinfo= отображение дополнительного описания тура (отображается в самом верху экрана над фильтрами); доступные значения: 0- не отображать, 1 – отображать.
 
Значения параметров для страны берутся из таблицы Country, для городов – из таблицы CityDictionary, для курортов – из таблицы Resorts, для отелей – из таблицы HotelDictionary, а для тура – из таблицы TP_Prices.
 
=====Передача параметров в экран «Необсчитанные туры»=====
 
Данная настройка предусматривает возможность передачи различных параметров через URL страницы. Параметры запроса на отображение информации задаются в строке:
 
http://localhost/MasterWebStandard/PriceList/Tours.aspx?country=86&city=187&dateFrom=2006-01-12&dateTo=2006-02-12&tour=1764 (здесь параметры country=86&city=187& dateFrom=2005-11-30&dateTo=2005-11-30&tour=256, где «86», «187», «2006-01-12», «2006-02-12», «1764» их значения)
 
* country= ключ страны предоставления тура
 
* city= ключ города предоставления тура
 
* dateFrom= дата начала периода отображения цен (цена отобразится, только если есть заезд в выбранный период)
 
* dateTo= дата окончания периода отображения цен (цена отобразится, только если есть заезд в выбранный период)
 
* tour= ключ тура
 
Значения параметров для страны берутся из таблицы Country, для городов – из таблицы CityDictionary, а для тура – из таблицы Turlist.
 
=====Передача параметров в экран «Расширенный поиск»=====
 
Данная настройка предусматривает возможность передачи ключа страны, города, курорта и отеля через URL страницы. При этом если существуют рассчитанные прайсы по данной стране, то при загрузке страницы в фильтре данная страна автоматически будет выбрана в списке стран, и будут загружены значения в других поисковых полях.
 
Это удобно при переходе в «Расширенный поиск» из разделов сайта с описанием конкретных стран.<BR>
 
Пример строки подключения:
 
http://localhost/MasterWebStandard/Extra/AdvancedSearch.aspx?country=90&city=275&hotel=3229&resort=1  (здесь параметры country=90&city=275&hotel=3229&resort=1, где «90», «275», «3229», «1» их значения)
 
* country= ключ страны, в которой находится отель
 
* city= ключ города, в котором находится отель
 
* hotel= ключ отеля
 
* resort= ключ курорта, в котором находится отель
 
* tour= ключ тура в таблице TP_Tours
 
* tourlistkey= ключ тура в таблице tbl_TurList
 
Значения параметров для страны берутся из таблицы Country, для городов – из таблицы CityDictionary, для отеля – из таблицы HotelDictionary, а для курортов – из таблицы Resorts.
 
=====Передача параметров в экран «Остановки продаж»=====
 
Данная настройка предусматривает возможность передачи ключа страны, города, отеля, а также даты через URL страницы. При этом данные страна, город, отель и дата автоматически будут выбрана в соответствующих фильтрах, и результаты, соответствующие указанным фильтрам, автоматически будут выведены на экран.<BR>
 
Пример строки подключения:
 
http://localhost/MasterWebStandard/Extra/StopSale.aspx?country=90&date=09.04.2007&city=275&hotel=3253 (здесь параметры country=90&date=09.04.2007&city=275&hotel=3253, где «90», «09.04.2007», «275», «3253» их значения)
 
* country= ключ страны, в которой находится отель
 
* city= ключ города, в котором находится отель
 
* date= дата начала периода отображения стоп-сейлов
 
Значения параметров для страны берутся из таблицы Country, для городов – из таблицы CityDictionary, а для отеля – из таблицы HotelDictionary.
 
=====Передача параметров в экран «Выставление туров через канал RSS»=====
 
Данная настройка предусматривает возможность передачи параметров через URL страницы.
 
Пример строки подключения:
 
http://ip-адрес сервера ПК Мастер-Web/MasterWebStandard/RSS.aspx?channel=SPOChannel
 
(здесь параметр channel=SPOChannel, где «SPOChannel» его значение).
 
* channel=SPOChannel (обязательный параметр)
 
====Настройки, прописываемые на страницах====
 
=====Настройки на странице Прайс-лист=====
 
Количество отелей на странице.
 
Данная настройка прописывается на странице PriceList\Complex.aspx в теге
 
<uc1:PriceControl id="PriceControl" runat="server" RedirectUrl="../Basket.aspx" PageSize="2"></uc1:PriceControl>
 
Параметр PageSize указывает, цены на какое количество отелей показывать на странице.<BR>
 
По умолчанию показываются цены на 2 отеля.<BR>
 
Количество таблиц на экране равно числу, указанному в данной настройке умноженному на количество питаний.<BR>
 
Название валюты.<BR>
 
Данная настройка прописывается на странице PriceList\Complex.aspx в теге
 
<uc1:SearchOptionsTable id="SearchOptionsTable" runat="server" RateStatic=" у.е."/><BR>
 
Параметр RateStatic указывает какая валюта будет прописываться в поле «Стоимость до:». Например, если цены по всем турам расчитаны в одной и той же валюте, то можно прописать ее название.<BR>
 
Разделение таблиц по типу номера и по категории проживания.
 
Данная настройка прописывается в файле Controls\PriceControl.ascx в теге
 
<cc1:pricelistcontrolnew CssClass="tbl_1" id="PriceListControl" runat="server"<BR>
 
ForeColor="#666666" Font-Names="Arial" Font-Size="9pt" EnableViewState="True"<BR>
 
ContainerCSSClass="tbl_1" QuoteRQCssClass="quoteRQ" QuoteNoCssClass="quoteNo"<BR>
 
QuoteYesCssClass="quoteYes" HeaderCssClass="h1" meta:resourcekey="PriceListControlResource1" QuoteAFewPercent="0" QuoteFewColor="144, 238, 144" <BR>
 
QuoteFewCssClass="" QuoteNoColor="255, 160, 122" QuoteRQColor="240, 230, 140" QuoteYesColor="144, 238, 144" ShowQuoteValue="False" SplitTblsBy="rc" <BR>
 
ButtonImageURL="../Images/price_compare_add.gif"></cc1:pricelistcontrolnew><BR>
 
Параметр SplitTblsBy указывает по какому признаку нужно разделять таблицы:<BR>
 
*- rc – делить таблицы по категории проживания (каждая категория будет выводиться в отдельную таблицу)
 
*- rm – делить таблицы по типу номера (каждый тип номера будет выводиться в отдельную таблицу)
 
=====Настройки на странице «Поиск»=====
 
'''Сортировка туров в фильтре'''<BR>
 
Данная настройка прописывается в файле templates\ bindSchemeDefault.xml в теге<BR>
 
<control name="DdlTour" priority="4" type="Tour" itemType="System.Int32"  firstItem="- любой -" sort="to_name"><BR>
 
<dependency control="DdlCountry" /><BR>
 
<dependency control="DdlResort" /><BR>
 
<dependency control="DdlCity" /><BR>
 
<dependency control="DdlTourType" /><BR>
 
</control><BR>
 
Параметр sort указывает, по какой колонке из таблицы tp_tours необходимо отсортировать туры.<BR>
 
 
'''Открытие ценового листа в отдельном окне'''<BR>
 
Данная настройка прописывается в файле Default.aspx в теге<BR>
 
<uc1:DefaultFilter id="DefaultFilter" runat="server" Target="_blank"></uc1:DefaultFilter><BR>
 
Параметр Target="_blank" отвечает за открытие ценового листа в отдельном окне.<BR>
 
 
'''Отображение результатов на странице поиска'''<BR>
 
Данная настройка прописывается в файле Default.aspx в теге <BR>
 
<input type="hidden" name="RedirectURL" runat="server" id="RedirectURL" value=" "><BR>
 
При пустом значении параметра value=" " результаты отобразятся на странице «Поиск».<BR>
 
При заполненном значении value="~/PriceList/Complex.aspx" результаты поиска отобразятся на странице «Ценовой лист».<BR>
 
 
=====Настройки на странице «Быстрый поиск»=====
 
'''Открытие ценового листа в отдельном окне'''<BR>
 
Данная настройка прописывается в файле Search\Fast.aspx в теге<BR>
 
<uc1:FastFilter id="DefaultFilter" runat="server" BindingScheme="../templates/bindSchemeFast.xml" Target="_blank"></uc1:FastFilter></td><BR>
 
Параметр Target="_blank" отвечает за открытие ценового листа в отдельном окне.<BR>
 
 
=====Настройки на странице «AdvancedBasket»=====
 
'''Возможность добавления доп. размещений'''<BR>
 
Данная настройка прописывается в файле Basket.aspx (только в случае, если используется надстройка AdvancedBasket) в теге
 
<bc:AdvBasketServices id="BasketServices" runat="server" CopiableSvKeys="3"></bc:AdvBasketServices><BR>
 
Параметр CopiableSvKeys="3" открывает возможность копирования услуги «Проживание».
 
 
=====Настройки на странице «Полетные программы»=====
 
'''Формат отображения названия аэропорта'''<BR>
 
Данная настройка прописывается на странице Extra\AviaTimeList в теге <att:timetable id='a1' airport='Name' runat='server'></att:timetable><BR>
 
Параметр airport= указывает формат отображения названия аэропорта. Существует несколько значений параметра:
 
* Name – русское название аэропорта
 
* NameLat – латинское название аэропорта
 
* Code – код аэропорта
 
=====Настройки на странице «Спецпредложения»=====
 
'''Сортировка данных'''<BR>
 
По умолчанию сортировка осуществляется по названию стран.<BR>
 
Чтобы задать свою сортировку (возможна сортировка только по столбцам таблицы стран), надо прописать свойство Sort (регистр важен) контрола на странице Extra\SpecialOffers.aspx.<BR>
 
Пример:<BR>
 
<cc1:specialoffers id="TblSpecialOffers" runat="server" width="100%" sessionkey="SearchResults" pricelisturl="../default.aspx"
 
pricelistfilesurl="../PriceList/files" RedirectURL="../PriceList/Complex.aspx" Sort="cn_order"
 
Height="88px" CssClass="tbl_1" HeaderCssClass="h1" SubHeaderCssClass="h2"></cc1:specialoffers>.<BR>
 
 
В примере сортируем туры по порядку при печати.<BR>
 
Сортировка для разделов «Лидеры продаж» и «Специальные предложения» настраивается отдельно.<BR>
 
 
'''Количество спецпредложений'''<BR>
 
По умолчанию отображается 2 спецпредложения, остальные СПО можно посмотреть нажав на плюсик слева от названия страны.<BR>
 
Чтобы изменить количество СПО, отображаемых по умолчанию, нужно прописать свойство VisibleSpoCount (регистр важен) контрола на странице Extra\SpecialOffers.aspx.<BR>
 
Пример:<BR>
 
<cc1:specialoffers id="TblTopSale" runat="server" width="100%" sessionkey="SearchResults" pricelisturl="../default.aspx" startdate="2004-04-05" pricelistfilesurl="../PriceList/files" RedirectURL="../PriceList/Complex.aspx" CssClass="tbl_1" HeaderCssClass="h1" SubHeaderCssClass="h2" Sort="cn_name" VisibleSpoCount="5"></cc1:specialoffers>
 
 
=====Настройки на странице «Список туров по странам»=====
 
'''Период цен'''<BR>
 
По умолчанию при переходе из экрана «Список туров по странам» в экран «Ценовой лист» отображаются цены на 200 дней вперед. Для того, чтобы изменить период отображаемых цен, нужно открыть в текстовом редакторе файл \MasterWebStandard\templatesSimpleTourListFormatter.xslt и в теге <xsl:value-of select="user:addDaysAndFormat(pt_firsttourdate, 200, 'yyyy-MM-dd')"/> изменить значение 200 на нужное количество дней. Значение этого параметра должно быть целым числом больше нуля.
 
=====Настройки на странице «Статус услуги»=====
 
'''Ключи услуг'''<BR>
 
По умолчанию в экране «Статус услуги» выводится статус всех услуг, входящих в состав тура. Для того, чтобы проверялся статус конкретной услуги или услуг, нужно открыть в текстовом редакторе файл \MasterWebStandard\ServiceStatus.aspx и в теге <uc1:ServiceStatus id="ServiceStatus1" runat="server" ShowOrderStatus="true" ServiceKey="all"></uc1:ServiceStatus> изменить значение параметра ServiceKey="all". Значение этого параметра должно соотвестствовать ключу (ключам) услуги, на которую должен проверяться статус.<BR>
 
По умолчанию значением данной настройки является «all», т.е. выводить статус всех услуг, входящих в состав тура. Для того, чтобы указать услуги, статус которых должен отображаться, нужно прописать их ключи через запятую.<BR>
 
Пример:<BR>
 
<uc1:ServiceStatus id="ServiceStatus1" runat="server" ShowOrderStatus="true" ServiceKey="1,3,5"></uc1:ServiceStatus><BR>
 
 
'''Отображение статуса заявки'''<BR>
 
Данная настройка прописывается на странице \MasterWebStandard\ServiceStatus.aspx в теге <uc1:ServiceStatus id="ServiceStatus1" runat="server" ShowOrderStatus="true" ServiceKey="all"></uc1:ServiceStatus>.<BR>
 
Можно отключить отображение статуса заявки в данном экране. Для этого необходимо изменить значение настройки ShowOrderStatus на false.<BR>
 
Пример: <BR>
 
<uc1:ServiceStatus id="ServiceStatus1" runat="server" ShowOrderStatus="false" ServiceKey="all"></uc1:ServiceStatus>
 
=====Настройки на странице «Статус визы»=====
 
'''Отметки о выдаче документов'''
 
Существует возможность редактирования текста сообщений отметок о выдаче документов. Для того чтобы изменить текст сообщений, нужно открыть в текстовом редакторе файл \MasterWebStandard\Controls\VisaStatus.ascx. Информация с текстами сообщений находится в тегах:<BR>
 
<asp:Label id="lbDocAccepted" runat="server" Visible="False" Text="Документы приняты"></asp:Label><BR>
 
<asp:Label id="lbDocPassedToEmbassy" runat="server" Visible="False" Text="Документы сданы в посольство"></asp:Label><BR>
 
<asp:Label id="lbDocSentFromEmbassy" runat="server" Visible="False" Text="Документы вышли погулять из посольства"></asp:Label><BR>
 
<asp:Label id="lbDocInterviewDate" runat="server" Visible="False" Text="Дата собеседования"></asp:Label><BR>
 
<asp:Label id="lbDocDelivered" runat="server" Visible="False" Text="Документы выданы"></asp:Label><BR>
 
<asp:Label id="lbVisaRejection" runat="server" Visible="False" Text="Отказ в визе"></asp:Label> <BR>
 
<asp:Label id="lbNoInformation" runat="server" Visible="False" Text="нет информации"></asp:Label><BR>
 
<asp:Label id="lbNoData" runat="server" Visible="False" Text="Данные отсутствуют"></asp:Label><BR>
 
<asp:Label id="lbVisaInformationNotFound" runat="server" Visible="False" Text="Информация о визе не найдена.."></asp:Label><BR>
 
<asp:Label id="lbServiceNotProvidedInReservation" runat="server" Visible="False" Text="Услуга в путевке не предусмотрена"></asp:Label><BR>
 
<asp:Label id="lbReservationIsNotFound" runat="server" Visible="False" Text="Заявка не найдена"></asp:Label><BR>
 
<asp:Label id="lbInsertReservationNumber" runat="server" Visible="False" Text="Введите номер заявки"></asp:Label><BR>
 
Для изменения сообщения нужно изменить значение параметра «Text».<BR>
 
 
=====Настройки на странице «Динамический лист с наличием мест»=====
 
'''Отображение названия курорта в фильтре «Отели»'''<BR>
 
Для того, чтобы в фильтре «Отели» отображалось название курорта, нужно открыть в текстовом редакторе файл \MasterWebStandard\templates\ bindSchemeQuotedDynamic.xml и в теге <control name="chklHotel" priority="5" type="HotelLink" itemType="System.Int32" alwaysSelected="false"> изменить значение параметра type="HotelLink" на type="HotelResortLink". <BR>
 
Пример:<BR>
 
<control name="chklHotel" priority="5" type="HotelResortLink" itemType="System.Int32" alwaysSelected="false"><BR>
 
 
'''Изменение фильтра «Город» на фильтр «Курорт»'''<BR>
 
Для того, чтобы в фильтре «Регион» вместо городов отображались курорты, нужно открыть в текстовом редакторе файл \MasterWebStandard\templates\ bindSchemeQuotedDynamic.xml и в теге  <control name="chklRegion" priority="2" type="City" itemType="System.String" alwaysSelected="false"> изменить значение параметра type="City" на type="Resort". <BR>
 
Пример:<BR>
 
<control name="chklRegion" priority="2" type="Resort" itemType="System.String" alwaysSelected="false"><BR>
 
'''Отображение поля «Цена за»'''<BR>
 
Для того чтобы отобразить поле «Цена за» в экране «Динамический лист с наличием мест» нужно открыть в текстовом редакторе файл \MasterWebStandard\Controls\DynamicOffersTable.ascx и в теге <asp:TemplateColumn HeaderText="Цена&lt;br&gt;за" SortExpression="priceFor" Visible="false"> изменить значение параметра Visible="false" на Visible="true"<BR>
 
Пример:<BR>
 
<asp:TemplateColumn HeaderText="Цена&lt;br&gt;за" SortExpression="priceFor" Visible="true" ><BR>
 
'''Отображение колонок наличия мест на перелеты в таблице результатов'''<BR>
 
Для того, чтобы полностью скрыть колонки с наличием мест на перелете в таблице с результатами экрана «Подбор туров с наличием мест» нужно открыть в текстовом редакторе файл \MasterWeb\Controls\QuotedDynamicControl.ascx и в теге <uc2:DynamicOffersTable id="DynamicOffersTable" runat="server" > добавить настройку HideCharterColumns="True".<BR>
 
Пример:<BR>
 
<uc2:DynamicOffersTable id="DynamicOffersTable" runat="server" HideCharterColumns="True"><BR>
 
 
'''Отображение иконки рядом с названием отелей'''<BR>
 
Для того чтобы отобразить иконку рядом с названием отелей в экране «Подбор туров с наличием мест» нужно открыть в текстовом редакторе файл \MasterWebStandard\Controls\DynamicOffersTable.ascx и в теге <%--<asp:Literal ID="htt_img" runat="server" Text='<%# Megatec.Common.DataAccess.Manager.DbObj.ExecuteScalar(string.Format("exec mwGetHotelTypeImageHtml {0}, \"..\\images\\\"", DataBinder.Eval (Container, "DataItem.HotelKey"))).ToString() %>' />--%> убрать теги комментария <%-- --%>.
 
Пример:<BR>
 
<asp:Literal ID="htt_img" runat="server" Text='<%# Megatec.Common.DataAccess.Manager.DbObj.ExecuteScalar(string.Format("exec mwGetHotelTypeImageHtml {0}, \"..\\images\\\"", DataBinder.Eval (Container, "DataItem.HotelKey"))).ToString() %>' />
 
Для работы необходимо заполнить поле HTT_ImageName таблицы HotelTypes.
 
=====Настройки на странице «Информация о заказе»=====
 
Отображение ссылок в виде кнопок<BR>
 
Для того, чтобы в экране «Информация о заказе» ссылка «Импорт в Мастер-Агент» и ссылок на отчеты в виде кнопок, нужно открыть в текстовом редакторе файл \MasterWebStandard\OrderInfo.aspx и в теге <cc2:plugins style="width:100%" CssClass="pluginsTable" id="ReportPlugins" runat="server" LinkCssClass="reportLink" Target="_blank" BtnType="LinkButton" meta:resourcekey="ReportPluginsResource1" /> изменить значение параметра BtnType="LinkButton" на BtnType="PushButton".
 
Пример:<BR>
 
<cc2:plugins style="width:100%" CssClass="pluginsTable" id="ReportPlugins" runat="server" LinkCssClass="reportLink" Target="_blank" BtnType="PushButton" meta:resourcekey="ReportPluginsResource1" /><BR>
 
=====Настройки на странице «Пользователи системы» Блока Администрирвания=====
 
'''Количество отображаемых пользователей'''<BR>
 
Для того, чтобы изменить количество отображаемых пользователей в экране «Список пользователей» Блока Администрирования ПК Мастер-Web, нужно открыть в текстовом редакторе файл \MasterWeb\Admin\Users.aspx и изменить значение параметра PageSize в теге: <BR>
 
<asp:datagrid id="DgUsers" PageSize="30" runat="server" width="90%" CssClass="tbl_1" allowsorting="True" autogeneratecolumns="False" allowpaging="True" meta:resourcekey="DgUsersResource1"><BR>
 
 
====Настройка шаблонов писем====
 
Реализована возможность настройки шаблонов писем, отправляемых из ПК Мастер-Web. Редактируемыми являются все шаблоны писем в формате .xml, лежащие в папках MasterWebStandard/templates и MasterWebStandard/Admin/templates. <BR>
 
Для того, чтобы использовались редактируемые шаблоны, нужно в файле template.xml из соответствующей папки для отчета указать вместо шаблона в формате .xslt шаблон в формате .xml. <BR>
 
Например, для письма о новом бронировании вместо<BR>
 
<template><BR>
 
<class>manager order report</class><BR>
 
<name>manager order report.xslt</name><BR>
 
<format>plain-text</format><BR>
 
</template><BR>
 
нужно указать <BR>
 
<template><BR>
 
<class>manager order report</class><BR>
 
<name>manager order report.xml</name><BR>
 
<format>plain-text</format><BR>
 
</template><BR>
 
Все шаблоны разбиты на 3 секции:<BR>
 
* <subject> - заголовок сообщения
 
* <addresses> - дополнительные адреса, на которые должно приходить данное письмо
 
* <data> - тело сообщения
 
<BR>
 
[[Файл:600.PNG]]<BR>
 
Данные, заключенные в теги <dynamicData/> лучше не трогать, т.к. они тянутся автоматически из БД.
 
При необходимости можно отключить отправку того или иного сообщения. Для этого нужно добавить атрибут IsActive=”No” в теге <template/>:
 
<template IsActive="No">
 
====Письма в формате Html====
 
Существует возможность настроить отправку сообщений в формате HTML. Для этого нужно добавить атрибут IsHtml="true" в теге <template/>:<BR>
 
<template IsHtml="true"><BR>
 
При добавлении тегов html необходимо вместо символа «<» писать &lt ;, а вместо символа «>» - &gt ;.<BR>
 
Пример:<BR>
 
Тег <tr></tr> будет выглядеть так: & lt;tr& gt;& lt;/tr& gt;<BR>
 
 
Пример шаблона, отформатированного в формате html можно посмотреть в папке \templates. Шаблон называется manager order report_html.xml.<BR>
 
====Таблица соответствий шаблонов писем====
 
Письма из основного приложения ПК Мастер-Web:<BR>
 
 
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
 
style='border-collapse:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0cm 0cm 0cm 0cm'>
 
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal><b>Шаблон</b><b><span style='mso-fareast-font-family:Calibri'></span></b></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border:solid black 1.0pt;
 
  border-left:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal><b>Письмо</b><b><span style='mso-fareast-font-family:Calibri'></span></b></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:1'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>annulateReport.xml<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Сообщение об аннуляции путевки<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:2'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>annulateRequest.xml<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Запрос на аннуляцию путевки<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:3'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>changetouristname.xml<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Изменение данных туристов<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:4'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>GuestInfo.xml<span style='mso-fareast-font-family:Calibri'><o:p></o:p></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Запрос на бронирование от частного лица, либо отправка
 
  заявки по е-<span lang=EN-US style='mso-ansi-language:EN-US'>mail</span> (для
 
  агентств не имеющих пароля в системе)<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:5'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>manager order report.xml<span style='mso-fareast-font-family:
 
  Calibri'><o:p></o:p></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Новая заявка от агентства<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:6;height:4.95pt'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt;height:4.95pt'>
 
  <p class=MsoNormal>messageToManager.xml<o:p></o:p></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt;height:4.95pt'>
 
  <p class=MsoNormal>Примечание по заявке<o:p></o:p></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:7'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>passwordrecovery.xml<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Восстановление пароля<span style='mso-fareast-font-family:
 
  Calibri'></span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:8'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>personalRegistration.xml<span style='mso-fareast-font-family:
 
  Calibri'><o:p></o:p></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Регистрация частных лиц<span style='mso-fareast-font-family:
 
  Calibri'><o:p></o:p></span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:9'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>personal order report.xml</p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Новая заявка от частного лица</p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:10'>
 
  <td width=321 valign=top style='width:240.4pt;border-top:none;border-left:
 
  solid black 1.0pt;border-bottom:solid windowtext 1.0pt;border-right:solid black 1.0pt;
 
  mso-border-left-alt:solid black 1.0pt;mso-border-bottom-alt:solid windowtext .5pt;
 
  mso-border-right-alt:solid black 1.0pt;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>registration.xml<span style='mso-fareast-font-family:Calibri'><o:p></o:p></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid windowtext 1.0pt;border-right:solid black 1.0pt;
 
  mso-border-bottom-alt:solid windowtext .5pt;mso-border-right-alt:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Регистрация агентств<span style='mso-fareast-font-family:
 
  Calibri'><o:p></o:p></span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:11;mso-yfti-lastrow:yes'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid windowtext 1.0pt;
 
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>siteError.xml<span style='mso-fareast-font-family:Calibri'></span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
 
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
 
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Ошибка в системе<span style='mso-fareast-font-family:Calibri'></span></p>
 
  </td>
 
</tr>
 
</table>
 
 
Письма из Блока Администрирования ПК Мастер-Web:<BR>
 
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0
 
style='border-collapse:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0cm 0cm 0cm 0cm'>
 
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal><b>Шаблон</b><b><span style='mso-fareast-font-family:Calibri'>  </span></b></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border:solid black 1.0pt;
 
  border-left:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal><b>Письмо</b><b><span style='mso-fareast-font-family:Calibri'>  </span></b></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:1'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>annulateReport.xml<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Сообщение об аннуляции путевки<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:2'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>annulateRequest.xml<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Запрос на аннуляцию путевки<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:3'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>changetouristname.xml<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Изменение данных туристов<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:4'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>GuestInfo.xml<span style='mso-fareast-font-family:Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Запрос на бронирование от частного лица, либо отправка
 
  заявки по е-<span lang=EN-US style='mso-ansi-language:EN-US'>mail</span> (для
 
  агентств не имеющих пароля в системе)<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:5'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>manager order report.xml<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Новая заявка от агентства<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:6;height:4.95pt'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt;height:4.95pt'>
 
  <p class=MsoNormal>messageToManager.xml  </p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt;height:4.95pt'>
 
  <p class=MsoNormal>Примечание по заявке  </p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:7'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>passwordrecovery.xml<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Восстановление пароля<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:8'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>personalRegistration.xml<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Регистрация частных лиц<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:9'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid black 1.0pt;
 
  border-top:none;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>personal order report.xml  </p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Новая заявка от частного лица  </p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:10'>
 
  <td width=321 valign=top style='width:240.4pt;border-top:none;border-left:
 
  solid black 1.0pt;border-bottom:solid windowtext 1.0pt;border-right:solid black 1.0pt;
 
  mso-border-left-alt:solid black 1.0pt;mso-border-bottom-alt:solid windowtext .5pt;
 
  mso-border-right-alt:solid black 1.0pt;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>registration.xml<span style='mso-fareast-font-family:Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid windowtext 1.0pt;border-right:solid black 1.0pt;
 
  mso-border-bottom-alt:solid windowtext .5pt;mso-border-right-alt:solid black 1.0pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Регистрация агентств<span style='mso-fareast-font-family:
 
  Calibri'>  </span></p>
 
  </td>
 
</tr>
 
<tr style='mso-yfti-irow:11;mso-yfti-lastrow:yes'>
 
  <td width=321 valign=top style='width:240.4pt;border:solid windowtext 1.0pt;
 
  border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
 
  padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>siteError.xml<span style='mso-fareast-font-family:Calibri'>  </span></p>
 
  </td>
 
  <td width=317 valign=top style='width:238.05pt;border-top:none;border-left:
 
  none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
 
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
 
  mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt'>
 
  <p class=MsoNormal>Ошибка в системе<span style='mso-fareast-font-family:Calibri'>  </span></p>
 
  </td>
 
</tr>
 
</table>
 
Кроме общих настроек, существуют также дополнительные настройки для конкретных шаблонов.
 
 
=====Письмо о новом бронировании=====
 
Дополнительными настройками шаблона письма о новом бронировании являются:
 
* <dynamicData name = "managerMail" /> - отправка письма на адрес ведущего менеджера по путевке (в зависимости от значения настройки managerPriority в файле web.config)
 
* <dynamicData name = "email" /> - отправка письма на email агентства, забронировавшего тур
 
 
Данные настройки заключаются в теги <addresses/>
 
 
* <dynamicData name = "filialAddress" /> - адрес филиала, выбранного агентством при бронировании
 
* <dynamicData name = "filialPhone" /> - телефон филиала, выбранного агентством при бронировании
 
* <dynamicData name="partnerNumber" /> - реестровый номер лицензии партнера (поле PR_RegisterNumber)
 
 
 
=====Письмо о новом бронировании частного лица=====
 
Дополнительными настройками шаблона письма о новом бронировании являются:
 
* <dynamicData name = "filialAddress" /> - адрес филиала, выбранного агентством при бронировании
 
* <dynamicData name = "filialPhone" /> - телефон филиала, выбранного агентством при бронировании
 
=====Письмо для активации аккаунта при регистрации частных лиц=====
 
Дополнительными настройками шаблона письма для активации аккаунта являются:
 
* <dynamicData name="login" /> - логин пользователя
 
* <dynamicData name="password" /> - пароль пользователя
 
 
===== Письмо о новой регистрации агентства=====
 
Дополнительными настройками шаблона письма о новой регистрации агентства являются:
 
* <dynamicData name="agentINN" /> - ИНН агентства
 
 
====Ведение лога====
 
Существует возможность настроить запись лог-файла. В данном файле хранится статистика посещения приложения пользователями, информация об открытии экранов, бронировании путевок и ошибки, возникающие при работе.<BR>
 
Для включения возможности логирования необходимо добавить настройку в конфигурационный файл web.config.<BR>
 
Также необходимо создать файл nlog.config в корневой папке приложения Мастер-Web. Этот файл должен содержать следующую информацию:<BR>
 
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><BR>
 
<targets><BR>
 
<target name="f" xsi:type="File" filename="${basedir}/logs/performance-log.txt" layout="${date:format=dd\-MM\-yyyy HH\:mm\:ss}  ${message}  ${stacktrace}" /><BR>
 
</targets><BR>
 
<rules><BR>
 
<logger name="*" minlevel="Trace" writeTo="f" /><BR>
 
</rules><BR>
 
</nlog><BR>
 
Строка filename="${basedir}/logs/performance-log.txt" – это путь к файлу, в который будет писаться лог.
 
====Печать посольских анкет====
 
В ПК Мастер-Web cуществует возможность печати посольских анкет. Данная возможность реализована в надстройке «Печать посольских анкет».
 
Надстройка и сами анкеты не входят в стандартную поставку ПК Мастер-Web и приобретаются отдельно.
 
====Интеграция с ПК «Мастер-Агент»====
 
Существует возможность импортировать заявки из ПК «Мастер-Web» в ПК «Мастер-Агент». Для этого нужно, добавить настройку "tourML" в файл конфигурации web.config (У агентства, которое хочет импортировать заявку, на компьютере обязательно должен быть установлен ПК «Мастер-Агент»).
 
Для того, чтобы из системы онлайн-бронирования Мастер-Веб 2.0. можно было загрузить путевку в Мастер-агент, необходимо:
 
 
*1. Чтобы в папке bin в мастер-вебе были файлы
 
TourMLEngine.dll    и  ESystem.Protocol.dll
 
*2. Чтобы в web.config была секция<BR>
 
<httpHandlers><BR>
 
<add verb="*" path="*.tourml" type="Megatec.MasterWebStandard.TourMLEngine.TourMLHandler, TourMLEngine" /><BR>
 
</httpHandlers><BR>
 
[[Файл:601.PNG]]<BR>
 
*3. Чтобы в IIS на приложении Мастер-Web был зарегистрирован формат tourml:
 
<BR>
 
[[Файл:602.PNG]]<BR>
 
<BR>
 
[[Файл:603.PNG]]<BR>
 
*4. В папке Мастер-Web должен лежать пустой файл file.tourml. Если его нет, создайте.
 
 
==Дополнительные возможности при работе с фреймами==
 
===Разграничение доступа между пользователями основного приложения Мастер-Web и приложения, развернутого во фрейме===
 
 
Существует возможность настроить разграничение доступа пользователей основного приложения и пользователей приложения, развернутого на стороннем сайте во фрейме.
 
Пользователи приложения, развернутого на стороннем сайте во фрейме помечаются признаком «Пользователь фрейма» в Блоке Администрирования ПК Мастер-Web.
 
Для ограничения доступа пользователю фрейма к основному приложению необходимо создать для него представление на таблицу DUP_User:
 
 
create view [USERNAME].[dup_user] as select * from dup_user where us_attribute & 4 = 0
 
GO
 
 
Где USERNAME – это логин пользователя из таблицы USERLIST в БД, на которую настроено приложение, развернутое во фрейме, и который прописан в строке подключения в конфигурационном файле этого приложения.
 
 
Для ограничения доступа пользователю основного приложения к приложению во фрейме необходимо создать для него представление на таблицу DUP_User:
 
 
create view [USERNAME].[dup_user] as select * from dbo.dup_user where us_attribute & 4 > 0
 
GO
 
 
Где USERNAME – это логин пользователя из таблицы USERLIST в БД, на которую настроено основное приложение, и который прописан в строке подключения в конфигурационном файле этого приложения.
 
===Отображение информации для партнеров из фрейма===
 
 
Существует возможность выводить различную информацию для различных партнеров, у которых экран «Подбор тура с наличием мест» развернут на сайте во фрейме. Ключ партнера можно передавать через URL (параметр pkey).
 
Разграничение информации для различных партнеров настраивается через файлы профилей, расположенных в папке templates каталога MasterWeb. Названия данных файлов имею вид: partnerProfile_XX.xml. Здесь XX – это ключ партнера, ключ которого будет передаваться через параметр pkey.
 
Файл partnerProfile_0.xml определяет настройки отображения информации для всех партнеров, за исключением тех, для которых созданы отдельные файлы профилей. Важно учесть, что данный файл собирается в архив с обновлением, поэтому если настройки в этом файле изменялись, то нужно быть внимательнее при обновлении приложения на очередной релиз.
 
Файлы профилей содержат следующие настройки:
 
 
*1. Коды валют, отображаемых в списке курсов валют
 
  <DefaultRateCodes>Eu,$</DefaultRateCodes>
 
 
*2. Отключать ссылки на внешние сайты (например, ссылки на описания туров, отелей)
 
  <HideExternalLinks>false</HideExternalLinks>
 
 
 
*3. Список доменных имен, ссылки на которые отображаются независимо от настройки HideExternalLinks
 
  <ExternalLinksExceptions></ExternalLinksExceptions>
 
 
 
*4. Скрывать информацию о договоре (поле «№ Договора»)
 
  <HideAgentDogovorInfo>false</HideAgentDogovorInfo>
 
 
 
*5. Скрывать кнопки «Запрос на аннуляцию» и «Аннулировать заявку»
 
  <HideAnnulationControl>false</HideAnnulationControl>
 
 
 
*6. Скрывать информацию о курсе валют
 
  <HideExchangeRate>false</HideExchangeRate>
 
   
 
*7. Скрывать блок переписки с менеджером
 
  <HideManagerCorrespondence>false</HideManagerCorrespondence>
 
 
 
*8. Скрывать возможность импорта в Мастер-Агент
 
  <HideMasterAgentExport>false</HideMasterAgentExport>
 
 
 
*9. Скрывать колонки в списке заявок
 
  Названия колонок: FIO,NMen,TourDateBegin,TourDateEnd,CountryName,TourName,
 
  Hotel,OrderStatus,ToPaySum,ToPayNationalSum,PriceNational,PrepaymentSum,
 
  PrepaymentDate,PaymentDate,PayedSum,PayedNationalSum,Owner,CreationDate,
 
  UserLogin,VisaInfo,PartnerName,PrintAccount,PayByAssist,Annulate,Bonus,BonusUnits
 
          <HideOrderListColumns>Owner,UserLogin,PartnerName,PrintAccount,PayByAssist,Annulate</HideOrderListColumns>
 
 
 
*10. Скрывать ссылку «Прайс-лист»
 
<HidePriceListLink>false</HidePriceListLink>
 
 
 
*11. Скрывать ссылку на регистрацию
 
<HideRegistrationLink>false</HideRegistrationLink>
 
 
 
*12. Отображаемые отчеты (all / none / список guid для отчетов через dll / список code для отчетов через web.confid)
 
<ShowReports>all</ShowReports>
 
 
*13. Заменить target у всех ссылок
 
**_blank - Загружает страницу в новое окно браузера.
 
**_self - Загружает страницу в текущее окно.
 
**_parent - Загружает страницу во фрейм-родитель, если фреймов нет, то этот параметр работает как _self.
 
**_top - Отменяет все фреймы и загружает страницу в полном окне браузера, если фреймов нет, то этот параметр работает как _self.
 
<SetLinksTarget></SetLinksTarget>
 
 
==Локализация==
 
===Перевод данных, вынесенных в файлы ресурсов===
 
Часть данных в ПК Мастер-Web вынесена в отдельные файлы ресурсов. Файлы ресурсов находятся в папках App_LocalResources каталога Master-Web и его подпапок.
 
Для перевода данных, вынесенных в файлы ресурсов, на язык, отличный от русского и английского, необходимо:
 
*1. Создать в папке App_LocalResources копию файла ресурса, данные из которого необходимо перевести на другой язык (копировать нужно ресурсы с расширением aspx.en.resx или ascx.en.resx).
 
*2. В названии скопированного файла ресурсов необходимо изменить код культуры на значение, соответствующее тому языку, перевод на который осуществляется.
 
*3. Открыть скопированный и переименованный файл ресурсов в текстовом редакторе.
 
*4. Внести необходимый перевод. Перевод вносится в тегах:
 
<data name="название константы" xml:space="preserve"><BR>
 
<value>английское слово / фраза, перевод которого необходимо изменить</value><BR>
 
</data><BR>
 
Изменять необходимо только данные в теге <value/>. Названия констант изменять ни в коем случае нельзя!
 
*5. Сохранить изменения.
 
 
===Пример===
 
Рассмотрим пример перевода данных для экрана «Упрощенная корзина» на французский язык.
 
*1. Открываем папку MasterWeb\App_LocalResources, находим в ней файл SimpleBasket.aspx.en.resx и создаем его копию (в этой же папке).
 
*2. Изменяем название скопированного файла на SimpleBasket.aspx.fr.resx.
 
*3. Открываем файл SimpleBasket.aspx.fr.resx в текстовом редакторе и вносим перевод имеющихся в нем данных.
 
Пример: переводим название заголовка «Страна». Для этого вместо:<BR>
 
<data name="LbTitle1Resource1.Text" xml:space="preserve"><BR>
 
<value>Country:</value><BR>
 
</data><BR>
 
Прописываем:<BR>
 
<data name="LbTitle1Resource1.Text" xml:space="preserve"><BR>
 
<value>Pays:</value><BR>
 
</data><BR>
 
 
*4. Сохраняем изменения.
 
 
===Перевод данных, хранящихся в коде программы===
 
Часть данных в ПК Мастер-Web хранится в коде программы. <BR>
 
Для перевода данных, хранящихся в коде программы, на язык, отличный от русского и английского, необходимо:
 
*1. Установить Microsoft .NET Framework SDK v2.0 на компьютер, на котором будет выполняться перевод.
 
*2. Сохранить каталог Localizer на локальный диск (данный каталог будет приложен к письму в архиве, либо будет предоставлена ссылка для его скачивания).
 
*3. Открыть каталог Localizer, найти в нем файл AllResources.en.resx и создать его копию (в этой же папке).
 
*4. В названии скопированного файла AllResources.en.resx необходимо изменить код культуры на значение, соответствующее тому языку, перевод на который осуществляется.
 
*6. Открыть скопированный и переименованный файл ресурсов в текстовом редакторе.
 
*7. Внести необходимый перевод. Перевод вносится в тегах:
 
<data name="название константы" xml:space="preserve"><BR>
 
<value>английское слово / фраза, перевод которого необходимо изменить</value><BR>
 
</data><BR>
 
Изменять необходимо только данные в теге <value/>. Названия констант изменять ни в коем случае нельзя!
 
*8. Сохранить изменения.
 
*9. Запустить Пуск – Программы – Microsoft .NET Framework SDK v2.0 – SDK Command Prompt.
 
*10. Запустить файл Localizer\makeresource.bat из командной строки .NET Framework (SDK Command Prompt) с параметром, равным коду культуры, соответствующему тому языку, перевод на который осуществляется. В каталоге Localizer должна создаться папка с названием, равным коду культуры, соответствующему тому языку, перевод на который осуществляется.
 
Ни в коем случае нельзя изменять название папки вручную!
 
*11. Скопировать создавшуюся папку в каталог MasterWeb\bin.
 
 
===Пример===
 
Рассмотрим пример перевода данных на французский язык.
 
*1. Открываем каталог Localizer, находим в нем файл AllResources.en.resx и создаем его копию (в этой же папке).
 
*2. Изменяем название скопированного файла на AllResources.fr.resx.
 
*3. Открываем файл AllResources.fr.resx в текстовом редакторе и вносим перевод имеющихся в нем данных.
 
*4. Сохраняем изменения.
 
*5. Запускаем Пуск – Программы – Microsoft .NET Framework SDK v2.0 – SDK Command Prompt.
 
*6. Запускаем файл Localizer\makeresource.bat из командной строки .NET Framework (SDK Command Prompt) с параметром fr:
 
<BR>
 
[[Файл:604.PNG]]<BR>
 
*7. В каталоге Localizer создалась папка с названием «fr»:
 
<BR>
 
[[Файл:605.PNG]]<BR>
 
*8. Копируем создавшуюся папку fr в каталог MasterWeb\bin.
 
 
===Изменение языка в ПК Мастер-Web ===
 
Для изменение языка в ПК Мастер-Web необходимо открыть конфигурационный файл web.config, находящийся в корневом каталоге ПК Мастер-Web, в текстовом редакторе и в теге
 
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="ru-RU" uiCulture="ru"/><BR>
 
Изменить значения параметров culture и uiCulture. <BR>
 
Значением параметра culture являются язык и региональные параметры по умолчанию для обработки входящих веб-запросов.<BR>
 
Значение параметра uiCulture должно соответствовать названию папки, созданной при запуске файла Localizer\makeresource.bat из командной строки .NET Framework (SDK Command Prompt) с параметром, равным коду культуры, соответствующему тому языку, перевод на который осуществляется.<BR>
 
 
==Web-сервисы==
 
===Сервис по работе с курсами валют (Rates.asmx)===
 
Данный web-сервис предназначен для работы с курсами валют.
 
Для корректной работы сервиса необходимо, чтобы были заполнены справочники «Курс национальной валюты» и «Реальные кросс-курсы валют».
 
Результаты возвращаются в виде xml-файлов.
 
===Exchange===
 
Exchange предназначен для пересчета стоимости из одной валюты в другую.
 
<BR>
 
[[Файл:606.PNG]]<BR>
 
Для получения результата необходимо передать следующие значения:
 
* «cost» - сумма или стоимость, которую нужно пересчитать
 
* «rateCodeFrom» - код валюты, из которой нужно произвести конвертацию
 
* «rateCodeTo» - код валюты, в которую необходимо конвертировать стоимость
 
* «exchangeDate» - дата, на которую необходимо взять курсы валют.
 
===GetCourse ===
 
GetCourse предназначен для получения кросс-курса валют.
 
<BR>
 
[[Файл:607.PNG]]<BR>
 
Для получения результата необходимо передать следующие значения:
 
* «rateCodeFrom» - код валюты, кросс-курс которой нужно вывести
 
* «rateCodeTo» - код валюты 2
 
* «exchangeDate» - дата, на которую необходимо взять курсы валют.
 
===GetNationalCourse===
 
GetNationalCourse предназначен для получения курса валюты.
 
<BR>
 
[[Файл:609.PNG]]<BR>
 
===GetNationalCourseToday===
 
GetNationalCourseToday предназначен для получения курса валюты на текущую дату.
 
 
Для получения результата необходимо передать следующие значения:
 
* «rateCode - код валюты, курс которой нужно получить
 
<BR>
 
[[Файл:610.PNG]]<BR>
 
 
===GetNationalRateCode===
 
GetNationalRateCode предназначен для получения кода национальной валюты.
 
<BR>
 
[[Файл:611.PNG]]<BR>
 
 
Данный метод не принимает параметров.
 
 
==Поисковый сервис (Search.asmx)==
 
Данный модуль предназначен для осуществления поиска и подбора туров из внешних приложений.
 
 
===Описание класса SearchFilter ===
 
 
    /// <summary>
 
    /// Класс, описывающий параметры подбора тура
 
    /// </summary>
 
    public class SearchParams
 
    {
 
        /// <summary>
 
        /// Идентификатор агенства, от имени которого производится поиск
 
        /// </summary>
 
        [XmlAttribute("Agent")]
 
        public int AgentKey = 0;
 
        /// <summary>
 
        /// Разделять квоты на агентские/неагентские или игнорировать агентские квоты.
 
        /// Настройка web.config: "checkAgentQuotesEnabled".
 
        /// Значение по умолчанию: true.
 
        /// </summary>
 
        [XmlAttribute("CheckAQ")]
 
        public bool CheckAgentQuota = true;
 
        /// <summary>
 
        /// Проверять общую квоту, если агентская закончилась.
 
        /// Настройка web.config: "checkAgentAndCommonQuote".
 
        /// Значение по умолчанию: true.
 
        /// </summary>
 
        [XmlAttribute("CheckCQ")]
 
        public bool CheckCommonQuota = true;
 
        /// <summary>
 
        /// При подборе перелета поиск производится в том же пакете цен, что и перелет в обсчитанном туре,
 
        /// иначе цены в расчет на принимается, а используется только расписание перелетов.
 
        /// Используется только, если FindFlight = true.
 
        /// Настройка web.config: "checkFlightPacket".
 
        /// Значение по умолчанию: true.
 
        /// </summary>
 
        [XmlAttribute("CheckFP")]
 
        public bool CheckFlightPacket = true;
 
        /// <summary>
 
        /// Проверять квоты без продолжительности после того, как закончатся квоты на продолжительность.
 
        /// Настройка web.config: "checkNoLongQuota".
 
        /// Значение по умолчанию: true
 
        /// </summary>
 
        [XmlAttribute("CheckNLQ")]
 
        public bool CheckNoLongQuota = true;
 
        /// <summary>
 
        /// Проверять квоты от всех различных партнеров.
 
        /// Настройка web.config: "checkAllPartnersQuota".
 
        /// Значение по умолчанию: false
 
        /// </summary>
 
        [XmlAttribute("CheckAPQ")]
 
        public bool CheckAllPartnersQuota = true;
 
        /// <summary>
 
        /// Результат возвращаемый, если у квоты истек релиз-период.
 
        /// Настройка web.config: "expiredReleaseQuoteResult".
 
        /// Значение по умолчанию: QuotaResult.Status.Request.
 
        /// </summary>
 
        [XmlAttribute("ExpRelRes")]
 
        public QuotaResult.Status ExpiredReleaseResult = QuotaResult.Status.Request;
 
        /// <summary>
 
        /// Подбирать авиаперелет по туру, на который есть свободные места.
 
        /// </summary>
 
        [XmlAttribute("FindFlight")]
 
        public bool FindFlight = true;
 
        /// <summary>
 
        /// Список классов перелета (ключи бизнес- и эконом-класса)
 
        /// </summary>
 
        [XmlAttribute("FlightGroups")]
 
        public string FlightGroups = String.Empty;
 
        /// <summary>
 
        /// Использовать таблицу TP_Tours как источник данных, иначе - таблицу tbl_TurList
 
        /// Настройка web.config: "quotedDynamicPriceTour".
 
        /// Значение по умолчанию: true.
 
        /// </summary>
 
        [XmlAttribute("IsPT")]
 
        public bool IsPriceTour = true;
 
        /// <summary>
 
        /// Результат возвращаемый при наличии квоты, но отсутствии свободных мест.
 
        /// Настройка web.config: "noPlacesQuoteResult".
 
        /// Значение по умолчанию: QuotaResult.Status.No.
 
        /// </summary>
 
        [XmlAttribute("NPResult")]
 
        public QuotaResult.Status NoPlacesResult = QuotaResult.Status.No;
 
        /// <summary>
 
        /// Тип отбора
 
        /// </summary>
 
        [XmlAttribute("PagingType")]
 
        public short PagingType = Megatec.Search.PagingType.Simple;
 
        /// <summary>
 
        /// Возращать ли поле, содержащее список ключей классов услуг по туру
 
        /// </summary>
 
        [XmlAttribute("Services")]
 
        public bool Services = false;
 
        /// <summary>
 
        /// Отображать статус "Запрос", если релиз-период = 0, независимо от количества свободных мест.
 
        /// Настройка web.config: "setRequestIfReleaseIsZero".
 
        /// Значение по умолчанию: false.
 
        /// </summary>
 
        [XmlAttribute("SetRequestOnRelease")]
 
        public bool SetRequestOnRelease = false;
 
        /// <summary>
 
        /// Параметры сортировки (выражение ORDER BY)
 
        /// </summary>
 
        [XmlAttribute("Sort")]
 
        public string Sort = string.Empty;
 
        /// <summary>
 
        /// Производить сортировку на сервере БД или на клиенте
 
        /// </summary>
 
        [XmlAttribute("SortInDB")]
 
        public bool SortInDB = true;
 
        /// <summary>
 
        /// Интерфейс, реализующий функцию межвалютной конвертации цен по туру
 
        /// </summary>
 
        [XmlIgnore]
 
        public Megatec.Types.IMoneyConverter MoneyConverter = null;
 
    }
 
 
===Описание класса SearchParams ===
 
 
    /// <summary>
 
    /// Класс, описывающий параметры подбора тура
 
    /// </summary>
 
    public class SearchParams
 
    {
 
        /// <summary>
 
        /// Идентификатор агенства, от имени которого производится поиск
 
        /// </summary>
 
        [XmlAttribute("Agent")]
 
        public int AgentKey = 0;
 
        /// <summary>
 
        /// Разделять квоты на агентские/неагентские или игнорировать агентские квоты.
 
        /// Настройка web.config: "checkAgentQuotesEnabled".
 
        /// Значение по умолчанию: true.
 
        /// </summary>
 
        [XmlAttribute("CheckAQ")]
 
        public bool CheckAgentQuota = true;
 
        /// <summary>
 
        /// Проверять общую квоту, если агентская закончилась.
 
        /// Настройка web.config: "checkAgentAndCommonQuote".
 
        /// Значение по умолчанию: true.
 
        /// </summary>
 
        [XmlAttribute("CheckCQ")]
 
        public bool CheckCommonQuota = true;
 
        /// <summary>
 
        /// При подборе перелета поиск производится в том же пакете цен, что и перелет в обсчитанном туре,
 
        /// иначе цены в расчет на принимается, а используется только расписание перелетов.
 
        /// Используется только, если FindFlight = true.
 
        /// Настройка web.config: "checkFlightPacket".
 
        /// Значение по умолчанию: true.
 
        /// </summary>
 
        [XmlAttribute("CheckFP")]
 
        public bool CheckFlightPacket = true;
 
        /// <summary>
 
        /// Проверять квоты без продолжительности после того, как закончатся квоты на продолжительность.
 
        /// Настройка web.config: "checkNoLongQuota".
 
        /// Значение по умолчанию: true
 
        /// </summary>
 
        [XmlAttribute("CheckNLQ")]
 
        public bool CheckNoLongQuota = true;
 
        /// <summary>
 
        /// Проверять квоты от всех различных партнеров.
 
        /// Настройка web.config: "checkAllPartnersQuota".
 
        /// Значение по умолчанию: false
 
        /// </summary>
 
        [XmlAttribute("CheckAPQ")]
 
        public bool CheckAllPartnersQuota = true;
 
        /// <summary>
 
        /// Результат возвращаемый, если у квоты истек релиз-период.
 
        /// Настройка web.config: "expiredReleaseQuoteResult".
 
        /// Значение по умолчанию: QuotaResult.Status.Request.
 
        /// </summary>
 
        [XmlAttribute("ExpRelRes")]
 
        public QuotaResult.Status ExpiredReleaseResult = QuotaResult.Status.Request;
 
        /// <summary>
 
        /// Подбирать авиаперелет по туру, на который есть свободные места.
 
        /// </summary>
 
        [XmlAttribute("FindFlight")]
 
        public bool FindFlight = true;
 
        /// <summary>
 
        /// Список классов перелета (ключи бизнес- и эконом-класса)
 
        /// </summary>
 
        [XmlAttribute("FlightGroups")]
 
        public string FlightGroups = String.Empty;
 
        /// <summary>
 
        /// Использовать таблицу TP_Tours как источник данных, иначе - таблицу tbl_TurList
 
        /// Настройка web.config: "quotedDynamicPriceTour".
 
        /// Значение по умолчанию: true.
 
        /// </summary>
 
        [XmlAttribute("IsPT")]
 
        public bool IsPriceTour = true;
 
        /// <summary>
 
        /// Результат возвращаемый при наличии квоты, но отсутствии свободных мест.
 
        /// Настройка web.config: "noPlacesQuoteResult".
 
        /// Значение по умолчанию: QuotaResult.Status.No.
 
        /// </summary>
 
        [XmlAttribute("NPResult")]
 
        public QuotaResult.Status NoPlacesResult = QuotaResult.Status.No;
 
        /// <summary>
 
        /// Тип отбора
 
        /// </summary>
 
        [XmlAttribute("PagingType")]
 
        public short PagingType = Megatec.Search.PagingType.Simple;
 
        /// <summary>
 
        /// Возращать ли поле, содержащее список ключей классов услуг по туру
 
        /// </summary>
 
        [XmlAttribute("Services")]
 
        public bool Services = false;
 
        /// <summary>
 
        /// Отображать статус "Запрос", если релиз-период = 0, независимо от количества свободных мест.
 
        /// Настройка web.config: "setRequestIfReleaseIsZero".
 
        /// Значение по умолчанию: false.
 
        /// </summary>
 
        [XmlAttribute("SetRequestOnRelease")]
 
        public bool SetRequestOnRelease = false;
 
        /// <summary>
 
        /// Параметры сортировки (выражение ORDER BY)
 
        /// </summary>
 
        [XmlAttribute("Sort")]
 
        public string Sort = string.Empty;
 
        /// <summary>
 
        /// Производить сортировку на сервере БД или на клиенте
 
        /// </summary>
 
        [XmlAttribute("SortInDB")]
 
        public bool SortInDB = true;
 
        /// <summary>
 
        /// Интерфейс, реализующий функцию межвалютной конвертации цен по туру
 
        /// </summary>
 
        [XmlIgnore]
 
        public Megatec.Types.IMoneyConverter MoneyConverter = null;
 
    }
 
 
===Описание класса SearchResult ===
 
 
    [XmlInclude(typeof(SearchResultItem))]
 
    public class SearchResult
 
    {
 
        /// <summary>
 
        /// Общее количество найденных записей
 
        /// </summary>
 
        [XmlAttribute("Total")]
 
        public int TotalCount
 
        /// <summary>
 
        /// Количество отобранных записей
 
        /// </summary>
 
        [XmlAttribute("Parsed")]
 
        public int ParsedCount
 
        /// <summary>
 
        /// Не используется
 
        /// </summary>
 
        [XmlAttribute("Step")]
 
        public double DynamicPriceStepValue
 
        /// <summary>
 
        /// Коллекция найденных результатов
 
        /// </summary>
 
        [XmlElement("SearchResultItem")]
 
        public List<SearchResultItem> Items
 
    }
 
 
===Описание класса SearchResultItem ===
 
 
    public class SearchResultItem: IRoomDescription
 
    {
 
        /// <summary>
 
        /// Количество основных мест
 
        /// </summary>
 
        [XmlAttribute]
 
        public int MainPlaces
 
        /// <summary>
 
        /// Количество неосновных мест
 
        /// </summary>
 
        [XmlAttribute]
 
        public int AddPlaces
 
        /// <summary>
 
        /// Основное или неосновное размещение
 
        /// </summary>
 
        [XmlAttribute]
 
        public bool IsMain
 
        /// <summary>
 
        /// Дата, до которой актуален тур
 
        /// </summary>
 
        [XmlAttribute]
 
        public DateTime TourValid
 
        /// <summary>
 
        /// Дата создания тура
 
        /// </summary>
 
        [XmlAttribute]
 
        public DateTime TourCreated
 
        /// <summary>
 
        /// Дата заезда
 
        /// </summary>
 
        [XmlAttribute]
 
        public DateTime TourDate
 
        /// <summary>
 
        /// Продолжительность тура в днях
 
        /// </summary>
 
        [XmlAttribute]
 
        public int Days
 
        /// <summary>
 
        /// Количество ночей проживания в туре
 
        /// </summary>
 
        [XmlAttribute]
 
        public int Nights
 
        /// <summary>
 
        /// Ключ страны
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CountryKey
 
        /// <summary>
 
        /// Ключ города отправления
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CityFromKey
 
        /// <summary>
 
        /// Ключ города прилета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CityToKey
 
        /// <summary>
 
        /// Ключ аэропорта вылета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int AirportFromKey
 
        /// <summary>
 
        /// Ключ аэропорта прилета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int AirportToKey
 
        /// <summary>
 
        /// Ключ расчитанного тура (TP_Tours)
 
        /// </summary>
 
        [XmlAttribute]
 
        public int TourKey
 
        /// <summary>
 
        /// Ключ типа тура (TipTur)
 
        /// </summary>
 
        [XmlAttribute]
 
        public int TourTypeKey
 
        /// <summary>
 
        /// Ключ тура из конструктора туров (turList)
 
        /// </summary>
 
        [XmlAttribute]
 
        public int TurListKey
 
        /// <summary>
 
        /// Ключ расчитанного варианта (TP_Lists)
 
        /// </summary>
 
        [XmlAttribute]
 
        public int PriceListKey
 
        /// <summary>
 
        /// Ключ цены (TP_Prices)
 
        /// </summary>
 
        [XmlAttribute]
 
        public int PriceKey
 
        /// <summary>
 
        /// Цена
 
        /// </summary>
 
        [XmlAttribute]
 
        public decimal Price
 
        /// <summary>
 
        /// Ключ главного отеля
 
        /// </summary>
 
        [XmlAttribute]
 
        public int HotelKey
 
        /// <summary>
 
        /// Ключ партнера для главного отеля
 
        /// </summary>
 
        [XmlAttribute]
 
        public int HotelPartnerKey
 
        /// <summary>
 
        /// Ключ курорта главного отеля
 
        /// </summary>
 
        [XmlAttribute]
 
        public int ResortKey
 
        /// <summary>
 
        /// Ключ города главного отеля
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CityKey
 
        /// <summary>
 
        /// Звездность главного отеля
 
        /// </summary>
 
        [XmlAttribute]
 
        public string HotelCategory
 
        /// <summary>
 
        /// Ключ питания главного отеля
 
        /// </summary>
 
        [XmlAttribute]
 
        public int PansionKey
 
        /// <summary>
 
        /// Ключ номера в главном отеле
 
        /// </summary>
 
        [XmlAttribute]
 
        public int HotelRoomKey
 
        /// <summary>
 
        /// Ключ типа номера в главном отеле
 
        /// </summary>
 
        [XmlAttribute]
 
        public int RoomKey
 
        /// <summary>
 
        /// Ключ категории номера в главном отеле
 
        /// </summary>
 
        [XmlAttribute]
 
        public int RoomCategoryKey
 
        /// <summary>
 
        /// Ключ размещения в главном отеле
 
        /// </summary>
 
        [XmlAttribute]
 
        public int AccomodationKey
 
        /// <summary>
 
        /// Минимальный возраст первого ребенка
 
        /// </summary>
 
        [XmlAttribute]
 
        public int ChildAgeFrom
 
        /// <summary>
 
        /// Максимальный возраст первого ребенка
 
        /// </summary>
 
        [XmlAttribute]
 
        public int ChildAgeTo
 
        /// <summary>
 
        /// Минимальный возраст второго ребенка
 
        /// </summary>
 
        [XmlAttribute]
 
        public int ChildAgeFrom2
 
        /// <summary>
 
        /// Максимальный возраст второго ребенка
 
        /// </summary>
 
        [XmlAttribute]
 
        public int ChildAgeTo2
 
        /// <summary>
 
        /// Название отеля
 
        /// </summary>
 
        [XmlAttribute]
 
        public string HotelName
 
        /// <summary>
 
        /// Название тура
 
        /// </summary>
 
        [XmlAttribute]
 
        public string TourName
 
        /// <summary>
 
        /// Название питания
 
        /// </summary>
 
        [XmlAttribute]
 
        public string PansionName
 
        /// <summary>
 
        /// Код питания
 
        /// </summary>
 
        [XmlAttribute]
 
        public string PansionCode
 
        /// <summary>
 
        /// Название типа номера
 
        /// </summary>
 
        [XmlAttribute]
 
        public string RoomName
 
        /// <summary>
 
        /// Код типа номера
 
        /// </summary>
 
        [XmlAttribute]
 
        public string RoomCode
 
        /// <summary>
 
        /// Название категории номера
 
        /// </summary>
 
        [XmlAttribute]
 
        public string RoomCategoryName
 
        /// <summary>
 
        /// Код категории номера
 
        /// </summary>
 
        [XmlAttribute]
 
        public string RoomCategoryCode
 
        /// <summary>
 
        /// Название размещения
 
        /// </summary>
 
        [XmlAttribute]
 
        public string AccomodationName
 
        /// <summary>
 
        /// Код размещения
 
        /// </summary>
 
        [XmlAttribute]
 
        public string AccomodationCode
 
        /// <summary>
 
        /// Название курорта
 
        /// </summary>
 
        [XmlAttribute]
 
        public string ResortName
 
        /// <summary>
 
        /// Название города
 
        /// </summary>
 
        [XmlAttribute]
 
        public string CityName
 
        /// <summary>
 
        /// Порядок сортировки типа номера
 
        /// </summary>
 
        [XmlAttribute]
 
        public int RoomOrder
 
        /// <summary>
 
        /// Порядок сортировки категории номера
 
        /// </summary>
 
        [XmlAttribute]
 
        public int RoomCategoryOrder
 
        /// <summary>
 
        /// Порядок сортировки размещения
 
        /// </summary>
 
        [XmlAttribute]
 
        public int AccomodationOrder
 
        /// <summary>
 
        /// Валюта
 
        /// </summary>
 
        [XmlAttribute]
 
        public string Currency
 
        /// <summary>
 
        /// Ключи услуг, входящих в тур (через запятую)
 
        /// </summary>
 
        [XmlAttribute]
 
        public string Services
 
        /// <summary>
 
        /// Ключ прямого перелета (Charter)
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CharterKey
 
        /// <summary>
 
        /// Ключ обратного перелета (Charter)
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CharterBackKey
 
        /// <summary>
 
        /// День предоставления проживания
 
        /// </summary>
 
        [XmlAttribute]
 
        public int HotelDay
 
        /// <summary>
 
        /// Количество ночей проживания в отеле
 
        /// </summary>
 
        [XmlAttribute]
 
        public int HotelNights
 
        /// <summary>
 
        /// День прямого перелета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CharterDay
 
        /// <summary>
 
        /// День обратного перелета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CharterBackDay
 
        /// <summary>
 
        /// Пакет прямого перелета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CharterPacketKey
 
        /// <summary>
 
        /// Партнер прямого перелета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CharterPartnerKey
 
        /// <summary>
 
        /// Пакет обратного перелета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CharterBackPacketKey
 
        /// <summary>
 
        /// Партнер обратного перелета
 
        /// </summary>
 
        [XmlAttribute]
 
        public int CharterBackPartnerKey
 
        /// <summary>
 
        /// Наличие мест в отеле: больше нуля - места есть (количество мест в квоте), 0 - мест нет, меньше 0 - места по запросу
 
        /// </summary>
 
        [XmlAttribute]
 
        public string HotelQuota
 
        /// <summary>
 
        /// Наличие мест на прямом перелете: больше нуля - места есть (количество мест в квоте), 0 - мест нет, меньше 0 - места по запросу
 
        /// </summary>
 
        [XmlAttribute]
 
        public string CharterThereQuota
 
        /// <summary>
 
        /// Наличие мест на обратном перелете: больше нуля - места есть (количество мест в квоте), 0 - мест нет, меньше 0 - места по запросу
 
        /// </summary>
 
        [XmlAttribute]
 
        public string CharterBackQuota
 
        /// <summary>
 
        /// Номер строки
 
        /// </summary>
 
        [XmlAttribute]
 
        public int Id
 
        /// <summary>
 
        /// Номер строки
 
        /// </summary>
 
        [XmlAttribute]
 
        public int Key
 
        /// <summary>
 
        /// URL с описанием отеля
 
        /// </summary>
 
        [XmlAttribute]
 
        public string HotelURL
 
        /// <summary>
 
        /// URL с описанием тура
 
        /// </summary>
 
        [XmlAttribute]
 
        public string TourURL
 
        /// <summary>
 
        /// Текстовая строка с информацией о прямом перелете (авиакомпания, рейс, время, аэропорт вылета/прилета)
 
        /// </summary>
 
        [XmlAttribute]
 
        public string CharterInfo
 
        /// <summary>
 
        /// Текстовая строка с информацией об обратном перелете (авиакомпания, рейс, время, аэропорт вылета/прилета)
 
        /// </summary>
 
        [XmlAttribute]
 
        public string CharterBackInfo
 
        /// <summary>
 
        /// Текстовая строка, содержащая ключи всех отелей в пакете услуг (через запятую)
 
        /// </summary>
 
        [XmlAttribute]
 
        public string AllHotelKeys
 
        /// <summary>
 
        /// Текстовая строка, содержащая ключи всех номеров в пакете услуг (через запятую)
 
        /// </summary>
 
        [XmlAttribute]
 
        public string AllHotelRoomKeys
 
        /// <summary>
 
        /// Текстовая строка, содержащая все продолжительности проживаний в пакете услуг (через запятую)
 
        /// </summary>
 
        [XmlAttribute]
 
        public string AllHotelNights
 
        /// <summary>
 
        /// Текстовая строка, содержащая все категории проживаний в пакете услуг (через запятую)
 
        /// </summary>
 
        [XmlAttribute]
 
        public string AllHotelStars
 
        /// <summary>
 
        /// Текстовая строка, содержащая ключи всех питаний в пакете услуг (через запятую)
 
        /// </summary>
 
        [XmlAttribute]
 
        public string AllPansionKeys
 
        /// <summary>
 
        /// Текущий индекс динамического изменения цены для отеля (текущая цена = базовая цена + значение шага изменения цены * текущий индекс динамического изменения цены)
 
        /// </summary>
 
        [XmlAttribute]
 
        public int DynamicHotelPriceStepIndex
 
        /// <summary>
 
        /// Корректировка базовой цены для отеля (пока в шагах)
 
        /// </summary>
 
        [XmlAttribute]
 
        public double DynamicHotelPriceCorrection
 
    }
 
 
===Использование сервиса подборов тура ===
 
 
Для использования сервиса подборов тура необходимо вызвать метод DoSearch у сервиса Search.asmx со следующими параметрами:<BR>
 
 
SearchFilter filter – объект класса, описывающего критерии подбора тура<BR>
 
int pageNumber – порядковый номер запрашиваемой страницы<BR>
 
SearchParams searchParams – объект класса, описывающего параметры подбора тура<BR>
 
 
Сервис возвращает объект класса SearchResult, содержащий коллекцию объектов класса SearchResultItem.<BR>
 
 
 
==Сервис по работе с заявками (BookingManager.asmx)==
 
 
Данный модуль предназначен для работы с заявками, в которых были произведены изменения.
 
===Получение списка измененных путевок (метод GetChangedBookings)===
 
 
====Описание метода====
 
 
Формирует список путевок, по которым были произведены изменения за заданный период.
 
 
====Сигнатура метода====
 
 
List<SimpleDogovor> GetChangedBookings(DateTime dateFrom, DateTime dateTo)
 
 
====Описание принимаемых методом параметров====
 
* dateFrom - дата, начиная с которой ищутся изменения;
 
* dateTo - дата, заканчивая которой ищутся изменения.
 
 
====Возвращаемое значение====
 
 
Коллекция путевок представленных классом SimpleDogovor (см. п.3.1.)
 
 
===Определение наличия изменений в путевке (метод VerifyBookingChanges)===
 
 
====Описание метода====
 
 
Определяет, были ли произведены изменения по конкретной путевке.
 
 
====Сигнатура метода ====
 
 
bool VerifyBookingChanges(int dogovorKey, DateTime dateFrom, DateTime dateTo)
 
 
====Описание принимаемых методом параметров====
 
* dogovorKey – ключ путевки, по которой определяется наличие изменений;
 
* dateFrom - дата, начиная с которой ищутся изменения;
 
* dateTo - дата, заканчивая которой ищутся изменения.
 
====Возвращаемое значение====
 
 
Метод, возвращающий булевскую переменную, определяющую, были ли произведены изменения по путевке за указанный период.
 
 
===Вспомогательные классы===
 
 
====Класс SimpleDogovor====
 
 
=====Назначение класса=====
 
 
Данный класс представляет собой упрощенное представление путевки.
 
 
=====Описание класса=====
 
 
public class SimpleDogovor
 
{
 
public SimpleDogovor() { }
 
 
public SimpleDogovor(int key, string code) { }
 
       
 
/// <summary>
 
/// Ключ путевки
 
/// </summary>
 
public int Key { get; set; }
 
 
/// <summary>
 
/// Код путевки
 
/// </summary>
 
public string Code  { get; set; }
 
}
 
 
 
==Сервис для отправки запроса на аннуляцию путевки (AnnulateService.asmx)==
 
 
Данный модуль предназначен для отправки запроса на аннуляцию путевки из сторонних приложений.
 
 
===Отправка заявки на аннуляцию (метод SendAnnulate)===
 
 
====Описание метода====
 
 
Данный метод предоставляет возможность отправлять заявку на аннуляцию путевки от имени on-line пользователя указанного в параметрах вызова метода. Работает аналогично функции "Отправить запрос на аннуляцию" в экране "Информация о заказе".
 
====Сигнатура метода ====
 
 
string SendAnnulate(string code, string login, string password)
 
 
====Описание принимаемых методом параметров====
 
 
* code - строковая переменная, представляющая собой код предлагаемой к аннуляции путевки;
 
* login - строковая переменная, представляющая собой логин пользователя, от имени которого отправляется заявка на аннуляцию;
 
* password - строковая переменная, представляющая собой пароль для доступа в систему on-line бронирования пользователя, от имени которого отправляется заявка на аннуляцию.
 
====Возвращаемые значения====
 
 
Метод возвращает результат своей работы в виде строкового значения. Возможны следующие значения:
 
* Вам запретили доступ к системе.
 
* Вы ввели неправильный пароль \ Попробуйте еще раз. Обратите внимание, не включен ли у Вас Caps Lock \ и на каком языке Вы вводите пароль.
 
* Договор с туроператором не заключен или его действие закончилось!
 
* Путевка {0} не найдена!
 
* Неверно задан пользователь!
 
* У указанного пользователя нет прав на аннуляцию заданной путевки!
 
* Запрос на аннулирование заявки {0} по стране {1} успешно отослан.
 
* Ошибка. Не удалось отправить запрос.
 
 
 
==Сервис для шифрования строковых значений (EncryptionService.asmx)==
 
 
Данный модуль предназначен для шифрования и дешифрации строковых значений.
 
 
===Шифрация строкового значения (метод EncryptString)===
 
====Описание метода====
 
 
Данный метод предоставляет возможность шифрации строкового значения методом, используемым в продуктах Мастер-Тур и Мастер-Веб.
 
 
====Сигнатура метода====
 
 
string EncryptString(string source)
 
 
====Описание принимаемых методом параметров====
 
*source - строковое значение, подвергаемое шифрации.
 
====Возвращаемое значение====
 
 
Метод возвращает строку, представляющую собой зашифрованный вид полученного на вход значения.
 
 
===Дешифрация строкового значения (метод DecryptString)===
 
 
====Описание метода====
 
 
Данный метод предоставляет возможность дешифрации строкового значения, ранее зашифрованного методом, используемым в продуктах Мастер-Тур и Мастер-Веб.
 
 
====Сигнатура метода====
 
 
string DecryptString(string source)
 
 
====Описание принимаемых методом параметров====
 
*source - строковое значение подвергаемое дешифрации.
 
 
====Возвращаемое значение====
 
 
Метод возвращает строку, представляющую собой исходное значение полученной на вход зашифрованной строки.
 
 
==Подключение дизайна сайта==
 
Верх и низ сайта подключаются через файлы header.ascx и footer.ascx в директории Controls, расположенной в папке, куда был установлен ПК Мастер-Web. Для этого нужно открыть эти файлы в текстовом редакторе и прописать код дизайна.
 
Для изменения стилей отображения таблиц, шрифтов и других элементов экранов необходимо внести соответствующие изменения в файле styles.css, находящемся в корне каталога MasterWeb.
 
Некоторые настройки отображения можно внести прямо на страницах приложения (см. пункт 5.2.6 настоящей инструкции), но при этом важно учитывать, что при обновлении релизов, страницы приложения могут обновляться.
 
 
 
 
[[Category:Мастер-Web_Архив7.2]]
 

Текущая версия на 12:14, 30 ноября 2015