/**
* Строковые константы интернационализации
*
* © Evgeniy Malyarov http://www.oknosoft.ru 2014-2016
*
* @module common
* @submodule i18n
*/
/**
* ### Сообщения пользователю и строки интернационализации
*
* @class Messages
* @static
* @menuorder 61
* @tooltip i18n
*/
function Messages(){
this.toString = function(){return "Интернационализация сообщений"};
/**
* Добавляет коллекциям менеджеров и метаданным русские синонимы, как свойства объекта _window_
* @method russian_names
*/
this.russian_names = function(){
if($p.job_prm.russian_names){
// глобальный контекст
window.__define({
"Метаданные": {
get: function(){return $p.md},
enumerable: false
},
"Справочники": {
get: function(){return $p.cat},
enumerable: false
},
"Документы": {
get: function(){return $p.doc},
enumerable: false
},
"РегистрыСведений": {
get: function(){return $p.ireg},
enumerable: false
},
"РегистрыНакопления": {
get: function(){return $p.areg},
enumerable: false
},
"РегистрыБухгалтерии": {
get: function(){return $p.accreg},
enumerable: false
},
"Обработки": {
get: function(){return $p.dp},
enumerable: false
},
"Отчеты": {
get: function(){return $p.rep},
enumerable: false
},
"ОбластьКонтента": {
get: function(){return $p.iface.docs},
enumerable: false
},
"Сообщить": {
get: function(){return $p.msg.show_msg},
enumerable: false
},
"Истина": {
value: true,
enumerable: false
},
"Ложь": {
value: false,
enumerable: false
}
});
// свойства и методы менеджеров
DataManager.prototype.__define({
"ФормаВыбора": {
get: function(){return this.form_selection},
enumerable: false
},
"ФормаОбъекта": {
get: function(){return this.form_obj},
enumerable: false
},
"Найти": {
get: function(){return this.find},
enumerable: false
},
"НайтиСтроки": {
get: function(){return this.find_rows},
enumerable: false
},
"НайтиПоНаименованию": {
get: function(){return this.by_name},
enumerable: false
}
}
);
// свойства и методы объектов данных
DataObj.prototype.__define({
"ФормаОбъекта": {
get: function(){return this.form_obj},
enumerable: false
}
}
);
}
};
/**
* расширяем мессанджер
*/
if(typeof window !== "undefined" && "dhtmlx" in window){
/**
* Показывает информационное сообщение или confirm
* @method show_msg
* @param attr {object} - атрибуты сообщения attr.type - [info, alert, confirm, modalbox, info-error, alert-warning, confirm-error]
* @param [delm] - элемент html в тексте которого сообщение будет продублировано
* @example
* $p.msg.show_msg({
* title:"Important!",
* type:"alert-error",
* text:"Error"});
*/
this.show_msg = function(attr, delm){
if(!attr)
return;
if(typeof attr == "string"){
if($p.iface.synctxt){
$p.iface.synctxt.show_message(attr);
return;
}
attr = {type:"info", text:attr };
}
if(delm && typeof delm.setText == "function")
delm.setText(attr.text);
dhtmlx.message(attr);
};
/**
* Проверяет корректность ответа сервера
* @method check_soap_result
* @param res {XMLHttpRequest|Object} - полученный с сервера xhr response
* @return {boolean} - true, если нет ошибки
*/
this.check_soap_result = function(res){
if(!res){
$p.msg.show_msg({
type: "alert-error",
text: $p.msg.empty_response,
title: $p.msg.error_critical});
return true;
}else if(res.error=="limit_query"){
$p.iface.docs.progressOff();
$p.msg.show_msg({
type: "alert-warning",
text: $p.msg.limit_query.replace("%1", res["queries"]).replace("%2", res["queries_avalable"]),
title: $p.msg.srv_overload});
return true;
}else if(res.error=="network" || res.error=="empty"){
$p.iface.docs.progressOff();
$p.msg.show_msg({
type: "alert-warning",
text: $p.msg.error_network,
title: $p.msg.error_critical});
return true;
}else if(res.error && res.error_description){
$p.iface.docs.progressOff();
if(res.error_description.indexOf("Недостаточно прав") != -1){
res["error_type"] = "alert-warning";
res["error_title"] = $p.msg.error_rights;
}
$p.msg.show_msg({
type: res["error_type"] || "alert-error",
text: res.error_description,
title: res["error_title"] || $p.msg.error_critical
});
return true;
}else if(res.error && !res.messages){
$p.iface.docs.progressOff();
$p.msg.show_msg({
type: "alert-error",
title: $p.msg.error_critical,
text: $p.msg.unknown_error.replace("%1", "unknown_error")
});
return true;
}
};
/**
* Показывает модальное сообщение о нереализованной функциональности
* @method show_not_implemented
*/
this.show_not_implemented = function(){
$p.msg.show_msg({type: "alert-warning",
text: $p.msg.not_implemented,
title: $p.msg.main_title});
};
}
}
if(typeof window !== "undefined" && window.dhx4){
dhx4.dateFormat.ru = "%d.%m.%Y";
dhx4.dateLang = "ru";
dhx4.dateStrings = {
ru: {
monthFullName: ["Январь","Февраль","Март","Апрель","Maй","Июнь","Июль","Август","Сентябрь","Oктябрь","Ноябрь","Декабрь"],
monthShortName: ["Янв","Фев","Maр","Aпр","Maй","Июн","Июл","Aвг","Сен","Окт","Ноя","Дек"],
dayFullName: ["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],
dayShortName: ["Вс","Пн","Вт","Ср","Чт","Пт","Сб"]
}
};
}
/**
* строки ФИАС адресного классификатора
*/
$p.fias = function FIAS(){};
(function (fias){
fias.toString = function(){return "Коды адресного классификатора"};
fias.types = ["владение", "здание", "помещение"];
// Код, Наименование, Тип, Порядок, КодФИАС
fias["1010"] = {name: "дом", type: 1, order: 1, fid: 2, syn: [" д.", " д ", " дом"]};
fias["1020"] = {name: "владение", type: 1, order: 2, fid: 1, syn: [" вл.", " вл ", " влад.", " влад ", " владен.", " владен ", " владение"]};
fias["1030"] = {name: "домовладение", type: 1, order: 3, fid: 3};
fias["1050"] = {name: "корпус", type: 2, order: 1, syn: [" к.", " к ", " корп.", " корп ", "корпус"]};
fias["1060"] = {name: "строение", type: 2, order: 2, fid: 1, syn: [" стр.", " стр ", " строен.", " строен ", "строение"]};
fias["1080"] = {name: "литера", type: 2, order: 3, fid: 3, syn: [" л.", " л ", " лит.", " лит ", "литера"]};
fias["1070"] = {name: "сооружение", type: 2, order: 4, fid: 2, syn: [" соор.", " соор ", " сооруж.", " сооруж ", "сооружение"]};
fias["1040"] = {name: "участок", type: 2, order: 5, syn: [" уч.", " уч ", "участок"]};
fias["2010"] = {name: "квартира", type: 3, order: 1, syn: ["кв.", "кв ", "кварт.", "кварт ", "квартира", "-"]};
fias["2030"] = {name: "офис", type: 3, order: 2, syn: ["оф.", "оф ", "офис", "-"]};
fias["2040"] = {name: "бокс", type: 3, order: 3};
fias["2020"] = {name: "помещение", type: 3, order: 4};
fias["2050"] = {name: "комната", type: 3, order: 5, syn: ["комн.", "комн ", "комната"]};
// // сокращения 1C для поддержки обратной совместимости при парсинге
// fias["2010"] = {name: "кв.", type: 3, order: 6};
// fias["2030"] = {name: "оф.", type: 3, order: 7};
// Уточняющие объекты
fias["10100000"] = {name: "Почтовый индекс"};
fias["10200000"] = {name: "Адресная точка"};
fias["10300000"] = {name: "Садовое товарищество"};
fias["10400000"] = {name: "Элемент улично-дорожной сети, планировочной структуры дополнительного адресного элемента"};
fias["10500000"] = {name: "Промышленная зона"};
fias["10600000"] = {name: "Гаражно-строительный кооператив"};
fias["10700000"] = {name: "Территория"};
})($p.fias);
/**
* Строки сообщений и элементов интерфейса
*/
(function (msg){
// публичные методы, экспортируемые, как свойства $p.msg
msg.store_url_od = "https://chrome.google.com/webstore/detail/hcncallbdlondnoadgjomnhifopfaage";
msg.argument_is_not_ref = "Аргумент не является ссылкой";
msg.addr_title = "Ввод адреса";
msg.cache_update_title = "Обновление кеша браузера";
msg.cache_update = "Выполняется загрузка измененных файлов<br/>и их кеширование в хранилище браузера";
msg.cancel = "Отмена";
msg.delivery_area_empty = "Укажите район доставки";
msg.empty_login_password = "Не указаны имя пользователя или пароль";
msg.empty_response = "Пустой ответ сервера";
msg.empty_geocoding = "Пустой ответ геокодера. Вероятно, отслеживание адреса запрещено в настройках браузера";
msg.error_geocoding = "Ошибка геокодера";
msg.error_auth = "Авторизация пользователя не выполнена";
msg.error_critical = "Критическая ошибка";
msg.error_metadata = "Ошибка загрузки метаданных конфигурации";
msg.error_network = "Ошибка сети или сервера - запрос отклонен";
msg.error_rights = "Ограничение доступа";
msg.error_low_acl = "Недостаточно прав для выполнения операции";
msg.file_size = "Запрещена загрузка файлов<br/>размером более ";
msg.file_confirm_delete = "Подтвердите удаление файла ";
msg.file_new_date = "Файлы на сервере обновлены<br /> Рекомендуется закрыть браузер и войти<br />повторно для применения обновления";
msg.file_new_date_title = "Версия файлов";
msg.init_catalogues = "Загрузка справочников с сервера";
msg.init_catalogues_meta = ": Метаданные объектов";
msg.init_catalogues_tables = ": Реструктуризация таблиц";
msg.init_catalogues_nom = ": Базовые типы + номенклатура";
msg.init_catalogues_sys = ": Технологические справочники";
msg.init_login = "Укажите имя пользователя и пароль";
msg.requery = "Повторите попытку через 1-2 минуты";
msg.limit_query = "Превышено число обращений к серверу<br/>Запросов за минуту:%1<br/>Лимит запросов:%2<br/>" + msg.requery;
msg.long_operation = "Длительная операция";
msg.logged_in = "Авторизован под именем: ";
msg.log_out_title = "Отключиться от сервера?";
msg.log_out_break = "<br/>Завершить синхронизацию?";
msg.sync_title = "Обмен с сервером";
msg.sync_complite = "Синхронизация завершена";
msg.main_title = "Окнософт: заказ дилера ";
msg.mark_delete_confirm = "Пометить объект %1 на удаление?";
msg.mark_undelete_confirm = "Снять пометку удаления с объекта %1?";
msg.meta = {
cat: "Справочник",
doc: "Документ",
cch: "План видов характеристик",
cacc: "Планы счетов",
tsk : "Задача",
ireg: "Регистр сведений",
areg: "Регистр накопления",
bp: "Бизнес процесс",
ts_row: "Строка табличной части",
dp: "Обработка",
rep: "Отчет"
},
msg.meta_cat = "Справочники";
msg.meta_doc = "Документы";
msg.meta_cch = "Планы видов характеристик";
msg.meta_cacc = "Планы счетов";
msg.meta_tsk = "Задачи";
msg.meta_ireg = "Регистры сведений";
msg.meta_areg = "Регистры накопления";
msg.meta_mgr = "Менеджер";
msg.meta_cat_mgr = "Менеджер справочников";
msg.meta_doc_mgr = "Менеджер документов";
msg.meta_enn_mgr = "Менеджер перечислений";
msg.meta_ireg_mgr = "Менеджер регистров сведений";
msg.meta_areg_mgr = "Менеджер регистров накопления";
msg.meta_accreg_mgr = "Менеджер регистров бухгалтерии";
msg.meta_dp_mgr = "Менеджер обработок";
msg.meta_task_mgr = "Менеджер задач";
msg.meta_bp_mgr = "Менеджер бизнес-процессов";
msg.meta_reports_mgr = "Менеджер отчетов";
msg.meta_charts_of_accounts_mgr = "Менеджер планов счетов";
msg.meta_charts_of_characteristic_mgr = "Менеджер планов видов характеристик";
msg.meta_extender = "Модификаторы объектов и менеджеров";
msg.modified_close = "Объект изменен<br/>Закрыть без сохранения?";
msg.mandatory_title = "Обязательный реквизит";
msg.mandatory_field = "Укажите значение реквизита '%1'";
msg.no_metadata = "Не найдены метаданные объекта '%1'";
msg.no_selected_row = "Не выбрана строка табличной части '%1'";
msg.no_dhtmlx = "Библиотека dhtmlx не загружена";
msg.not_implemented = "Не реализовано в текущей версии";
msg.offline_request = "Запрос к серверу в автономном режиме";
msg.onbeforeunload = "Окнософт: легкий клиент. Закрыть программу?";
msg.order_sent_title = "Подтвердите отправку заказа";
msg.order_sent_message = "Отправленный заказ нельзя изменить.<br/>После проверки менеджером<br/>он будет запущен в работу";
msg.report_error = "<i class='fa fa-exclamation-circle fa-2x fa-fw'></i> Ошибка";
msg.report_prepare = "<i class='fa fa-spinner fa-spin fa-2x fa-fw'></i> Подготовка отчета";
msg.report_need_prepare = "<i class='fa fa-info fa-2x fa-fw'></i> Нажмите 'Сформировать' для получения отчета";
msg.report_need_online = "<i class='fa fa-plug fa-2x fa-fw'></i> Нет подключения. Отчет недоступен в автономном режиме";
msg.request_title = "Окнософт: Запрос регистрации";
msg.request_message = "Заявка зарегистрирована. После обработки менеджером будет сформировано ответное письмо";
msg.select_from_list = "Выбор из списка";
msg.select_grp = "Укажите группу, а не элемент";
msg.select_elm = "Укажите элемент, а не группу";
msg.select_file_import = "Укажите файл для импорта";
msg.srv_overload = "Сервер перегружен";
msg.sub_row_change_disabled = "Текущая строка подчинена продукции.<br/>Строку нельзя изменить-удалить в документе<br/>только через построитель";
msg.sync_script = "Обновление скриптов приложения:";
msg.sync_data = "Синхронизация с сервером выполняется:<br />* при первом старте программы<br /> * при обновлении метаданных<br /> * при изменении цен или технологических справочников";
msg.sync_break = "Прервать синхронизацию";
msg.sync_no_data = "Файл не содержит подходящих элементов для загрузки";
msg.unsupported_browser_title = "Браузер не поддерживается";
msg.unsupported_browser = "Несовместимая версия браузера<br/>Рекомендуется Google Chrome";
msg.supported_browsers = "Рекомендуется Chrome, Safari или Opera";
msg.unsupported_mode_title = "Режим не поддерживается";
msg.unsupported_mode = "Программа не установлена<br/> в <a href='" + msg.store_url_od + "'>приложениях Google Chrome</a>";
msg.unknown_error = "Неизвестная ошибка в функции '%1'";
msg.value = "Значение";
})($p.msg);