diff --git a/README.md b/README.md index 553108a14..b4fb4ed77 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![Quality Gate](https://sonar.openbsl.ru/api/project_badges/measure?project=yaxunit&metric=alert_status)](https://sonar.openbsl.ru/dashboard?id=yaxunit) [![Maintainability](https://sonar.openbsl.ru/api/project_badges/measure?project=yaxunit&metric=sqale_rating)](https://sonar.openbsl.ru/dashboard?id=yaxunit) -Обсудить в [телеграмм чате](https://t.me/BIAOpenTools/12) +Обсудить в [Telegram чате](https://t.me/BIAOpenTools/12) ---- diff --git a/documentation/blog/2023/05/25-engine-release.md b/documentation/blog/2023/05/25-engine-release.md new file mode 100644 index 000000000..3844926a6 --- /dev/null +++ b/documentation/blog/2023/05/25-engine-release.md @@ -0,0 +1,40 @@ +--- +title: YaxUnit. Версия 23.05 +authors: alkoleft +tags: [releases, yaxunit] +--- + +[Release 23.05](https://github.com/bia-technologies/edt-test-runner/releases/tag/23.05) + +## Новое в версии + +### Тестовые данные + +* Научили конструктор тестовых данных создавать данные в регистрах [#69](https://github.com/bia-technologies/yaxunit/pull/69) +* Реализовано удаление тестовых данных созданных на клиенте [#74](https://github.com/bia-technologies/yaxunit/pull/74) +* Добавлена возможность создания объекта без записи и формирование вариантов параметров [#86](https://github.com/bia-technologies/yaxunit/pull/86) +* Реализована поддержка параметров заполнения для функции "Фикция" в тестовых данных [#75](https://github.com/bia-technologies/yaxunit/pull/75) +* Сброс признака ОбменДанными.Загрузка после создании объекта через методы движка [#92](https://github.com/bia-technologies/yaxunit/pull/92) +* Поддержка генератором тестовых данных создания группы [#90](https://github.com/bia-technologies/yaxunit/pull/90) +* Возможность создавать несколько конструкторов тестовых данных [#55](https://github.com/bia-technologies/yaxunit/pull/55) +* В конструктор тестовых данных добавлен метод заполнения обязательных полей фиктивными данными [#93](https://github.com/bia-technologies/yaxunit/pull/93) + +### Мокито + +* Использование предикатов при указании параметров мокируемого метода [#98](https://github.com/bia-technologies/yaxunit/pull/98) +* Исправлена ошибка неправильного сравнение параметров при проверке вызовов Мокито [#76](https://github.com/bia-technologies/yaxunit/pull/76). Спасибо [@alexandr-yang](https://github.com/alexandr-yang) +* Исправлена ошибка подбора реакции Мокито [#62](https://github.com/bia-technologies/yaxunit/pull/62) + +### Утверждения + +* Утверждения для проверки таблиц информационной базы [#70](https://github.com/bia-technologies/yaxunit/pull/70) + +### Запросы + +* Расширение API для работы с запросами [#94](https://github.com/bia-technologies/yaxunit/pull/94) + +### Прочее + +* Добавлена картинка подсистемы 16*16 [#78](https://github.com/bia-technologies/yaxunit/pull/78). Спасибо [@petypen](https://github.com/petypen) +* Исправлены некоторые ошибки [#85](https://github.com/bia-technologies/yaxunit/pull/85). Спасибо [@potoyalo](https://github.com/potoyalo) +* Добавлена настройки выполнения на уровень модуля [#84](https://github.com/bia-technologies/yaxunit/pull/84) diff --git a/documentation/blog/2023/07/31-engine-release.md b/documentation/blog/2023/07/31-engine-release.md new file mode 100644 index 000000000..4843c53f0 --- /dev/null +++ b/documentation/blog/2023/07/31-engine-release.md @@ -0,0 +1,35 @@ +--- +title: YaxUnit. Версия 23.07 +authors: alkoleft +tags: [releases, yaxunit] +--- + +[Release 23.07](https://github.com/bia-technologies/edt-test-runner/releases/tag/23.07) + +## Новое в версии + +### Тестовые данные + +* Faker for YaxUnit (Генерация валидных бизнес), [#88](https://github.com/bia-technologies/yaxunit/issues/88), [#80](https://github.com/bia-technologies/yaxunit/issues/80). Спасибо [@Daabramov](https://github.com/Daabramov) + +### Запросы + +* Добавлены новые методы модуля ЮТЗапросы, [#122](https://github.com/bia-technologies/yaxunit/pull/122). Спасибо [@potoyalo](https://github.com/potoyalo) + +### Прочее + +* Переопределение обработчиков событий тестового модуля, [#124](https://github.com/bia-technologies/yaxunit/pull/124). Спасибо [@potoyalo](https://github.com/potoyalo) +* Необязательное значение дополнительного свойства [#106](https://github.com/bia-technologies/yaxunit/pull/106). Спасибо [@alexandr-yang](https://github.com/alexandr-yang) +* В репозиторий добавлена конфигурация для прогона тестов, [#123](https://github.com/bia-technologies/yaxunit/pull/123) + +## Исправленные ошибки + +### Мокито + +* Исправлена ошибка определения предикатов при обучении, [#108](https://github.com/bia-technologies/yaxunit/issues/108). Спасибо [@dlyubanevich](https://github.com/dlyubanevich) +* Исправлена ошибка анализа количества вызовов мокируемого метода, [#118](https://github.com/bia-technologies/yaxunit/pull/118) +* Исправлена ошибка при мокировании метода вызываемого при установке параметров сеанса, [#116](https://github.com/bia-technologies/yaxunit/issues/116) + +### Утверждения + +* Исправлена ошибка проверки равенства значения соответствия, если ключом соответствия является не строка, [#114](https://github.com/bia-technologies/yaxunit/issues/114). Спасибо [@alexandr-yang](https://github.com/alexandr-yang) \ No newline at end of file diff --git a/documentation/contributing/index.md b/documentation/contributing/index.md index af0c2e5c0..e54bb3683 100644 --- a/documentation/contributing/index.md +++ b/documentation/contributing/index.md @@ -5,3 +5,9 @@ sidebar_position: 1 # Руководство разработчика Здесь будут собраны материалы по доработке тестового движка. + +## Тестирование + +Для прогона тестов используется [доработанная демо-конфигурация](https://github.com/bia-technologies/yaxunit/tree/develop/fixtures/demo-configuration) от фирмы [1С](https://github.com/1C-Company). + +Вам необходимо импортировать ее в рабочую область и привязать к ней проект yaxunit, запустить тесты. diff --git a/documentation/docs/first-test.md b/documentation/docs/first-test.md index b62ba53df..a81b84616 100644 --- a/documentation/docs/first-test.md +++ b/documentation/docs/first-test.md @@ -1,6 +1,6 @@ --- sidebar_position: 2 -tags: [Getting started] +tags: [Начало] --- # Пишем первый тест diff --git a/documentation/docs/install/install.md b/documentation/docs/install/install.md index 4bf7bd96b..b1823f835 100644 --- a/documentation/docs/install/install.md +++ b/documentation/docs/install/install.md @@ -1,6 +1,6 @@ --- sidebar_position: 1 -tags: [Getting started] +tags: [Начало] --- # Установка diff --git a/documentation/docs/user-api/assertions.md b/documentation/docs/user-api/assertions/assertions-base.md similarity index 92% rename from documentation/docs/user-api/assertions.md rename to documentation/docs/user-api/assertions/assertions-base.md index 92f51cd87..84d7c4dfd 100644 --- a/documentation/docs/user-api/assertions.md +++ b/documentation/docs/user-api/assertions/assertions-base.md @@ -1,26 +1,16 @@ --- -tags: [Getting started, Asserts] +tags: [Начало, Утверждения] --- -# Утверждения +# Базовые утверждения -Каждый тестовый сценарий должен проверить результат работы тестируемого метода, будь то функция или процедура. - -Для написания таких проверок реализован механизм утверждений, позволяющий в лаконичной форме описать свои ожидания, требования к результату. +Утверждения для проверки значений Доступ к утверждениям обеспечивает метод `ЮТест.ОжидаетЧто`, который возвращает инициализированный модуль `ЮТУтверждения`, реализующий работу с утверждениями. -## Особенности реализации утверждений - -* Реализованы по модели [текучих выражений](https://ru.wikipedia.org/wiki/Fluent_interface), с целью повышения удобства и читаемости тестов - - ```bsl - ЮТест.ОжидаетЧто(Контекст) - .ИмеетТип("Структура") - .Свойство("ПрефиксОшибки").Равно("Контекст метода с параметрами") - .Свойство("ИмяМетода").Заполнено().Равно("МетодБезИсключение") - .Свойство("ПараметрыМетода").ИмеетТип("Массив").ИмеетДлину(1); - ``` +:::tip +Не рекомендуется обращаться к модулю `ЮТУтверждения` напрямую, используйте `ЮТест.ОжидаетЧто` +::: * Реализован минимально необходимый набор проверок * Большая часть методов - это сравнения фактического и ожидаемого результатов, но есть несколько методов настройки @@ -92,6 +82,10 @@ tags: [Getting started, Asserts] * `ЛюбойЭлементСодержитСвойство` - проверяет, что в коллекции есть элемент содержащий указанное свойство * `ЛюбойЭлементСодержитСвойствоСоЗначением` - проверяет, что в коллекции есть элемент содержащий указанное свойство, которое равно ожидаемому значению +:::tip +Полный и актуальный набор методов смотрите в описании API +::: + ### Проверка методов объекта Для проверки работы методов объекта есть набор утверждений среди описанных выше (`ВыбрасываетИсключение` и `НеВыбрасываетИсключение`), но для их работы необходимо выполнить предварительные настройки. diff --git a/documentation/docs/user-api/assertions/assertions-db.md b/documentation/docs/user-api/assertions/assertions-db.md new file mode 100644 index 000000000..290dda00f --- /dev/null +++ b/documentation/docs/user-api/assertions/assertions-db.md @@ -0,0 +1,44 @@ +--- +tags: [Начало, Утверждения, ДанныеИБ] +--- + +# Утверждения для проверки данных информационной базы + +Большая часть тестируемых методов так или иначе оставляет свой след в базе, создает или изменяет записи в ИБ. + +Для проверки правильности работы метода нам необходимо проверить, что изменилось в базе. В этом могут помочь утверждения проверяющие записи ИБ. + +Доступ к утверждениям обеспечивает метод `ЮТест.ОжидаетЧтоТаблицаБазы`, который возвращает инициализированный модуль `ЮТУтвержденияИБ`, реализующий работу с утверждениями для ИБ. + +Утверждения позволяют проверить наличие и отсутствие записей по различным условиям, для задания условий используются [предикаты](../predicates.md) + +```bsl + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары") + .НеСодержитЗаписи(); // В базе нет товаров + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары") + .СодержитЗаписи(); // В базе есть товары + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары") + .СодержитЗаписи(ЮТест.Предикат() // В базе есть товары определенного поставщика + .Реквизит("Поставщик").Равно(ДанныеСправочника.Поставщик)); + ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют") + .НеСодержитЗаписи(ЮТест.Предикат() // Курс валюты не установлен + .Реквизит("Валюта").Равно(ДанныеРегистра.Валюта) + .Реквизит("Период").БольшеИлиРавно(ДанныеРегистра.Период)); +``` + +## Доступные методы + +* `СодержитЗаписи` - проверяет наличие записей по условиям +* `НеСодержитЗаписи` - проверяет отсутствие записей по условиям +* `СодержитЗаписиСНаименованием` - проверяет наличие в таблице записей с указанным наименованием +* `СодержитЗаписиСКодом` - проверяет наличие в таблице записей с указанным кодом +* `СодержитЗаписиСНомером` - проверяет наличие в таблице записей с указанным номером +* `НеСодержитЗаписиСНаименованием` - проверяет отсутствие в таблице записей с указанным наименованием +* `НеСодержитЗаписиСКодом` - проверяет отсутствие в таблице записей с указанным кодом +* `НеСодержитЗаписиСНомером` - проверяет отсутствие в таблице записей с указанным номером + +:::tip + +[Предлагайте](https://github.com/bia-technologies/yaxunit/issues) и [добавляйте](https://github.com/bia-technologies/yaxunit/pulls) свои утверждения + +::: \ No newline at end of file diff --git a/documentation/docs/user-api/assertions/assertions.md b/documentation/docs/user-api/assertions/assertions.md new file mode 100644 index 000000000..78cbca29c --- /dev/null +++ b/documentation/docs/user-api/assertions/assertions.md @@ -0,0 +1,26 @@ +--- +tags: [Начало, Утверждения] +--- + +# Утверждения + +Каждый тестовый сценарий должен проверить результат работы тестируемого метода, будь то функция или процедура. + +Для написания таких проверок реализован механизм утверждений, позволяющий в лаконичной форме описать свои ожидания, требования к результату. + + +Как и большая часть API, утверждения реализованы по модели [текучих выражений](https://ru.wikipedia.org/wiki/Fluent_interface), с целью повышения удобства и читаемости тестов + + ```bsl + ЮТест.ОжидаетЧто(Контекст) + .ИмеетТип("Структура") + .Свойство("ПрефиксОшибки").Равно("Контекст метода с параметрами") + .Свойство("ИмяМетода").Заполнено().Равно("МетодБезИсключение") + .Свойство("ПараметрыМетода").ИмеетТип("Массив").ИмеетДлину(1); + ``` + +YaxUnit содержит утверждения для: + +* Проверки [значений](assertions-base.md#доступные-методы) +* Проверки [методов объекта на выброс исключений](assertions-base.md#проверка-методов-объекта) +* Проверки [данных информационной базы](assertions-db.md) \ No newline at end of file diff --git a/documentation/docs/user-api/context.md b/documentation/docs/user-api/context.md index d6bbfb17e..46a2e8a09 100644 --- a/documentation/docs/user-api/context.md +++ b/documentation/docs/user-api/context.md @@ -1,27 +1,33 @@ --- -tags: [Getting started] +tags: [Начало, Контекст] --- # Контекст +## Механизм контекстов + Одним из важнейших блоков работы тестового движка является механизм контекстов. Он позволяет: -1. хранить промежуточные данные и обеспечивать работу механизма текучих выражений -2. передавать между тестами необходимые данные -3. удалять тестовые данные (пока только временные файлы) +1. Хранить промежуточные данные и обеспечивать работу механизма текучих выражений. +2. Передавать между тестами необходимые данные. +3. Удалять тестовые данные. И имеет несколько ограничений: -1. Не синхронизируется между клиентом и сервером -2. Тестовые контексты имеют ограниченное время жизни, например, контекст теста "живет" только в рамках теста и событиях "ПередКаждымТестом", "ПослеКаждогоТеста". +1. Не синхронизируется между клиентом и сервером. +2. Тестовые контексты имеют ограниченное время жизни. Например, контекст теста "живет" только в рамках теста и событиях "ПередКаждымТестом", "ПослеКаждогоТеста". Для различных механизмов движка существуют различные контексты, такие как контекст утверждений, контекст теста и тд. +## Контексты тестового модуля + Разработчику тестов будут интересны следующие контексты: -* Контекст теста (`ЮТест.КонтекстТеста`) - живет в рамках одного теста, также доступен в обработчиках событий `ПередКаждымТестом` и `ПослеКаждогоТеста` +* Контекст теста (`ЮТест.КонтекстТеста`) - живет в рамках одного теста. Доступен в каждом тесте и в обработчиках событий + * `ПередКаждымТестом` + * `ПослеКаждогоТеста` * Контекст тестового набора (`ЮТест.КонтекстТестовогоНабора`) - живет в рамках набора тестов. Доступен в каждом тесте набора и в обработчиках событий * `ПередТестовымНабором` * `ПослеТестовогоНабора` @@ -34,3 +40,13 @@ tags: [Getting started] * `ПослеТестовогоНабора` * `ПередКаждымТестом` * `ПослеКаждогоТеста` + +На каждом уровне исполнения есть возможность переопределить обработчики событий соответствующего контекста исполнения при помощи методов `Перед()` и `После()`. Настроенный обработчик события будет вызван _вместо_ основного. Пример: +```bsl +ЮТТесты + .ДобавитьТестовыйНабор("Набор1") // Будет вызван основной обработчик ПередТестовымНабором() + .ДобавитьТест("Тест1") + .ДобавитьТестовыйНабор("Набор2").Перед("Перед_Набор2") // Будет вызван обработчик Перед_Набор2() + .ДобавитьТест("Тест2"); + +``` diff --git a/documentation/docs/user-api/index.md b/documentation/docs/user-api/index.md index 3f63f66ea..08a927400 100644 --- a/documentation/docs/user-api/index.md +++ b/documentation/docs/user-api/index.md @@ -1,18 +1,27 @@ --- -description: Create a doc page with rich content. -tags: [Getting started] +tags: [Начало] --- # Пользовательский API -Для разработчиков тестов расширение предоставляет API для: +Для разработчиков тестов расширение предоставляет API: * [Регистрации тестовых сценариев](test-registration.md) -* Формирования [утверждений](assertions.md) для проверки результата работы различных механизмов системы. -* Создания [тестовых данных](test-data.md) -* Передачи данных между тестами используя [контекст](context.md) +* Формирования [утверждений](assertions/assertions.md) для проверки результата работы различных механизмов системы. +* Создания [тестовых данных](test-data/test-data.md) +* Сохранения состояния и обмена данными между тестами используя [контекст](context.md) * [Подмены](mockito.md) алгоритмов работы системы +* [Предикаты](predicates.md), которые используются во многих механизмах движка +* [Получения данных](queries.md) информационной базы * [Интерфейс](yaxunit-ui.md) для просмотра отчета и настройки параметров запуска тестов -* [Предикаты](predicates.md) для проверки коллекций + +Доступ к API осуществляется через методы модуля `ЮТест`, например + +* `ЮТест.Данные()` для доступа к методам работы с тестовыми данными +* `ЮТест.ОжидаетЧто()` для доступа к утверждения Планируется расширять существующий API и реализовать нужный недостающий функционал. + +:::tip +Не рекомендуется обращаться к модулям API напрямую, используйте `ЮТест` +::: diff --git a/documentation/docs/user-api/mockito.md b/documentation/docs/user-api/mockito.md index 2823e1d23..95d3e2eb3 100644 --- a/documentation/docs/user-api/mockito.md +++ b/documentation/docs/user-api/mockito.md @@ -1,6 +1,7 @@ --- -tags: [Getting started, Mock] +tags: [Начало, Мокирование] --- + # Мокито Мокито - модуль созданный по образу популярного java-фреймворка для тестирования [Mockito](https://site.mockito.org/). Расширяет возможности тестирования, позволяет легко менять логику работы системы подменяя результаты работы методов, отключая какие-либо алгоритмы и проверки. @@ -136,7 +137,6 @@ flowchart LR Условия можно задать на равенство определенному значению, на проверку типа переданного значения или же безусловно принимать любый параметры - Существует 2 основных подхода к формированию условий вызова: 1. Явный вызов метода с параметрами: `Обучение(РаботаСHTTP).Когда(РаботаСHTTP.ОтправитьОбъектНаСервер(ИсточникДанных, Данные)).Вернуть(2)` @@ -236,6 +236,24 @@ flowchart LR * `Больше` - количество вызовов попавших под условия больше указанного значения * `Меньше` - количество вызовов попавших под условия меньше указанного значения +### Ограничения параметров + +При обучении (а также при проверке) не редко мы не может указать конкретные значения, которые придут в метод. для этих целей имеются. + +* Маски параметров + * `ЛюбойПараметр` - ожидаем любой параметр + * `ЧисловойПараметр` - ожидаем только числовой параметр + * `СтроковыйПараметр` - ожидаем только строковый параметр + * `ТипизированныйПараметр` - ожидаем параметр указанного типа +* [Предикаты](predicates.md) позволяющие сформировать почти любые условия на параметры + +Примеры + +* `Когда(Метод(1, 2))` +* `Когда(Метод(Мокито.ЧисловойПараметр(), 2))` +* `Когда(Метод(ЮТест.Предикат().Больше(0), 2))` + + ## Кейсы использования\* \* *В примерах опускается часть добавления метода в расширение* diff --git a/documentation/docs/user-api/predicates.md b/documentation/docs/user-api/predicates.md index f175be4b6..01a285b86 100644 --- a/documentation/docs/user-api/predicates.md +++ b/documentation/docs/user-api/predicates.md @@ -1,24 +1,59 @@ +--- +tags: [Начало, Предикаты, Утверждения, Запросы, Мокирование] +--- + # Предикаты -Механизм предикатов позволяет: +Предикаты это утверждения, которые вы можете передавать в качестве параметров. +Они расширяют и унифицируют функциональность тестового движка. -* Формировать наборы утверждений и передавать в методы проверки -* Методы для формирования предикатов имеют такой же синтаксис как и утверждения для тестов (`ЮТест.ОжидаетЧто()`) -* Проверять элементы коллекций на соответствие утверждениям +```bsl +Процедура АктуализацияУведомлений() Экспорт + + ИмяРегистра = "РегистрСведений.ОповещенияПользователя"; + Объект = ТестовыеДанные.Объект(); + + УсловиеУведомления = ЮТест.Предикат() + .Реквизит("Источник").Равно(Объект) + .Реквизит("ТипОповещения").Равно(Справочники.ТипыОповещенийПользователя.Уведомление1) + .Получить(); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра) + .НеСодержитЗаписи(УсловиеУведомления); + + УведомленияВызовСервера.АктуализацияУведомлений(); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяРегистра) + .СодержитЗаписи(УсловиеУведомления); + + ДанныеУведомления = ЮТЗапросы.Запись(ИмяРегистра, УсловиеУведомления); + + ЮТест.ОжидаетЧто(ДанныеУведомления) + .Свойство("Прочитано").ЭтоЛожь() + .Свойство("Пользователь").Равно(Справочники.ГруппыОповещенийПользователей.Инженер); + +КонецПроцедуры +``` -Например +Механизм предикатов: -```bsl +* позволяет формировать наборы утверждений и передавать их в качества параметров; +* используется для проверки коллекций, записей базы и так далее; +* построен по модели текучих выражения и имеет схожий с базовыми утверждениями синтаксис (`ЮТест.ОжидаетЧто()`); + +## Примеры использования + +* Проверка коллекции + + ```bsl ЮТест.ОжидаетЧто(Коллекция) - .ЛюбойЭлементСоответствуетПредикату(Ютест.Предикат() + .ЛюбойЭлементСоответствуетПредикату(ЮТест.Предикат() .Реквизит("Число").Равно(2)); // Проверят, что в коллекции есть элементы с реквизитом `Число`, которое равно `2` - + ЮТест.ОжидаетЧто(Коллекция) - .КаждыйЭлементСоответствуетПредикату(Ютест.Предикат() + .КаждыйЭлементСоответствуетПредикату(ЮТест.Предикат() .Заполнено().ИмеетТип("Массив")); // Проверят, что каждый элемент коллекции это заполненный массив -``` - -## Планы развития + ``` * Описания параметров метода при мокировании @@ -26,11 +61,11 @@ ```bsl Мокито.Обучение(Модуль) - .Когда(Модуль.Посчитать(Мокито.Предикат() + .Когда(Модуль.Посчитать(ЮТест.Предикат() .Реквизит("Оператор").Равно("Сложить"))) .ВернутьРезультат(Результат1) - .Когда(Модуль.Посчитать(Мокито.Предикат() + .Когда(Модуль.Посчитать(ЮТест.Предикат() .Реквизит("Оператор").Равно("Вычесть"))) .ВернутьРезультат(Результат2); ``` @@ -45,4 +80,57 @@ ); ``` -* Перевести обычные утверждения на предикаты +* Получение записей из базы + + ```bsl + ДанныеТовара = ЮТЗапросы.Запись("Справочник.Товары", ЮТест.Предикат() + .Реквизит("Наименование").Равно("Товар 1") + .Реквизит("Ссылка").НеРавно(Исключение)); + ``` + +## Особенности + +### Особенности контекста + +Предикаты как и большинство механизмов построены на текучих выражениях с сохранением состояния в глобальном контексте. + +Это приводит к тому, что вы не можете сразу использовать несколько предикатов, например + +```bsl +Мокито.Обучение(Модуль) + .Когда(Модуль.СделатьЧтоТо( + ЮТест.Предикат().ИмеетТип("Строка"), + ЮТест.Предикат().ИмеетТип("Число"))) + .ВернутьРезультат(Результат1); +``` + +В этом примере 1С сначала вычислит выражения для всех параметров, а потом передаст их в метод и мы получим для обоих параметров один и тот же предикат, ожидающий тип `Число`. +Потому что состояние первого предиката будет заменено вторым. Для обхода этой проблемы можно использовать метод `Получить`, который возвращает текущее состояние. + +```bsl +Мокито.Обучение(Модуль) + .Когда(Модуль.СделатьЧтоТо( + ЮТест.Предикат().ИмеетТип("Строка").Получить(), + ЮТест.Предикат().ИмеетТип("Число"))) + .ВернутьРезультат(Результат1); +``` + +Такая же история при сохранение предикатов в переменные. + +```bsl +ПроверкаСтрока = ЮТест.Предикат().ИмеетТип("Строка"); +ПроверкаЧисло = ЮТест.Предикат().ИмеетТип("Число"); +``` + +`ПроверкаСтрока` и `ПроверкаЧисло` будут равны и содержать одинаковые условия. Проблему также можно обойти используя метод `Получить`. + +```bsl +ПроверкаСтрока = ЮТест.Предикат().ИмеетТип("Строка").Получить(); +ПроверкаЧисло = ЮТест.Предикат().ИмеетТип("Число").Получить(); +``` + +### Особенности реализации + +Сам модуль предикатов используется только для формирования утверждений/условий. + +Реализацией проверок и формированием условий занимаются другие модули и возможна ситуация, когда некоторые предикаты еще не реализованы или не поддерживаются каким-либо механизмом. Например, проверка заполненности не поддерживается запросами. \ No newline at end of file diff --git a/documentation/docs/user-api/queries.md b/documentation/docs/user-api/queries.md new file mode 100644 index 000000000..c8330ed7d --- /dev/null +++ b/documentation/docs/user-api/queries.md @@ -0,0 +1,20 @@ +--- +tags: [Начало, ДанныеИБ] +--- + +# Запросы + +Для получения данных базы предоставлен API выполнения запросов `ЮТЗапросы` + +Позволяет как с сервера, так и с клиента получать данные информационной базы и имеет следующие методы + +* `ЗначенияРеквизитов` - Возвращает значения реквизитов ссылки +* `ЗначениеРеквизита` - Возвращает значение реквизита ссылки +* `Запись` - Возвращает первую запись таблицы, соответствующую условиям +* `Записи` - Возвращает записи таблицы, соответствующую условиям +* `ЗначенияРеквизитовЗаписи` - Возвращает значения реквизитов первой записи таблицы, соответствующей условиям +* `ЗначениеРеквизитаЗаписи` - Возвращает значение реквизита первой записи таблицы, соответствующей условиям +* `ТаблицаСодержитЗаписи` - Вернет признак, содержит ли таблица записи, удовлетворяющие переданным условиям +* `РезультатЗапроса` - Возвращает результат выполнения простого запроса, используя описание запроса +* `РезультатПустой` - Определяет, есть ли в результате записи, используя описание запроса +* `ОписаниеЗапроса` - Формирует описание простого запроса diff --git a/documentation/docs/user-api/test-data/test-data-deletion.md b/documentation/docs/user-api/test-data/test-data-deletion.md new file mode 100644 index 000000000..905a076ad --- /dev/null +++ b/documentation/docs/user-api/test-data/test-data-deletion.md @@ -0,0 +1,99 @@ +--- +tags: [Начало, Тестовые данные] +--- + +# Удаление тестовых данных + +При использовании тестовых данных нередко необходимо удалять созданные объекты. + +Для этого вы можете использовать + +## Автоматические транзакции + +Для включения нужно при регистрации теста вызвать метод `ВТранзакции()` + +```bsl title=ВТранзакции.bsl +ЮТТесты + .ДобавитьТест("Фикция").ВТранзакции() // Использование транзакции для конкретного теста + +ЮТТесты + .ДобавитьТестовыйНабор("Основной).ВТранзакции() // Использование транзакции для набора тестов + .ДобавитьТест("Фикция") + +ЮТТесты.ВТранзакции() // Использование транзакции для тестов модуля + .ДобавитьТест("Фикция") + +``` + +И тогда тестовый движок будет оборачивать в транзакцию каждый серверный тест (для клиентских будет игнорироваться) + +:::caution Учитывайте +В транзакцию оборачивается тест, а не модуль или набор, поэтому данные созданные вне теста не будут удалены. +Такие данные необходимо удалять самостоятельно при необходимости. +::: + +## Механизм удаления тестовых данных + +Для включения нужно при регистрации теста вызвать метод `УдалениеТестовыхДанных()` + +```bsl title=УдалениеТестовыхДанных.bsl +ЮТТесты + .ДобавитьТест("Фикция").УдалениеТестовыхДанных() // Использование для конкретного теста + +ЮТТесты + .ДобавитьТестовыйНабор("Основной).УдалениеТестовыхДанных() // Использование для всех тестов набора + .ДобавитьТест("Фикция") + +ЮТТесты.УдалениеТестовыхДанных() // Использование для всех тестов модуля + .ДобавитьТест("Фикция") + +ЮТТесты.ВТранзакции().УдалениеТестовыхДанных() // Совместно с транзакцией + .ДобавитьТест("Фикция") + +``` + +Механизм не использует транзакции, а запоминает в контексте все созданные с помощью API объекты и записи регистров сведений. +Позволяет: + +* Удалять данные созданные с клиента +* Удалять данные созданные вне теста (в обработчиках событий) + +:::caution Удаление и только +Механизм только удаляет созданные объекты, изменения не откатываются +::: + +:::tip Разное время жизни данных +Механизм понимает в рамках какого контекста исполнения (тест, набор, модуль) были созданы данные и удаляет их по выходу из него. +::: + +Рассмотрим время жизни объектов созданных на разных этапах тестирования, например имеем такой модуль. + +```bsl title=УдалениеТестовыхДанныхВремяЖизни.bsl +Процедура ПередВсемиТестами() Экспорт + ДанныеМодуля = ЮТест.Данные().СоздатьЭлемент(); +КонецПроцедуры + +Процедура ПередТестовымНабором() Экспорт + ДанныеНабора = ЮТест.Данные().СоздатьЭлемент(); +КонецПроцедуры + +Процедура ПослеВсехТестов() Экспорт + ДанныеТеста = ЮТест.Данные().СоздатьЭлемент(); +КонецПроцедуры + +Процедура Тест() Экспорт + Ссылка = ЮТест.Данные().СоздатьЭлемент(); +КонецПроцедуры +``` + +Для переменных получим разное время жизни + +* `ДанныеМодуля` - Живет, пока исполняются тесты модуля одного контекста (Сервер, Клиент). +* `ДанныеНабора` - Живет, пока исполняются тесты набора. +* `ДанныеТеста` и `Ссылка` - Живут, пока исполняется тест. + +:::caution Механизм имеет ряд ограничений и не работает для следующих кейсов: + +* Данные создан не через API +* Данные созданы в клиентском модуле через вызов своего серверного модуля, даже если он использует API тестового движка +::: diff --git a/documentation/docs/user-api/test-data.md b/documentation/docs/user-api/test-data/test-data.md similarity index 95% rename from documentation/docs/user-api/test-data.md rename to documentation/docs/user-api/test-data/test-data.md index 8e26512fb..bcb33d2e5 100644 --- a/documentation/docs/user-api/test-data.md +++ b/documentation/docs/user-api/test-data/test-data.md @@ -1,5 +1,5 @@ --- -tags: [Getting started, Test data] +tags: [Начало, Тестовые данные] --- # Тестовые данные @@ -22,12 +22,17 @@ tags: [Getting started, Test data] Если грамотно распределить тестовые данные на способы создания, мы можем добиться оптимального результата. Например, можно статичные данные создать вручную, сложные кейсы данных засунуть в макеты, а для программного создания реализовать методы-конструкторы, которые будем переиспользовать. Таким образом, сможем уйти от минусов данного подхода или минимизировать их вред. -В текущей версии тестовый движок предоставляет api для программного создания тестовых данных. За это отвечает общий модуль `ЮТТестовыеДанные`, к которому можно обратиться через метод `ЮТест.Данные`. +В текущей версии тестовый движок предоставляет api для программного создания тестовых данных. За это отвечает общий модуль `ЮТТестовыеДанные`, к которому можно обратиться через метод `ЮТест.Данные()`. -Сейчас это минимальный набор методов, который в дальнейшем будет развиваться. Он позволяет: +:::tip +Не рекомендуется обращаться к модулю `ЮТТестовыеДанные` напрямую, используйте `ЮТест.Данные()` +::: + +Он позволяет: * Создавать данные информационной базы * Генерировать случайные значения +* Автоматически удалять созданные данные (для этого необходимо включить настройку теста `УдалениеТестовыхДанных()`) * Работать с файлами * Использовать таблицы markdown в качестве макетов данных @@ -46,7 +51,7 @@ tags: [Getting started, Test data] .Фикция("Поставщик") .Фикция("Склад") .Фикция("Валюта") - .Фикция("Организация") + .Установить("Организация", ЮТест.Данные().КонструкторОбъекта("Справочники.Организации").Установить("КакойТоТамУчет", Истина)) .ТабличнаяЧасть("Товары"); Для Инд1 = 1 По ЮТест.Данные().СлучайноеЧисло(1, 5) Цикл diff --git a/documentation/docs/user-api/test-registration.md b/documentation/docs/user-api/test-registration.md index 9ce39a196..24e7a80b0 100644 --- a/documentation/docs/user-api/test-registration.md +++ b/documentation/docs/user-api/test-registration.md @@ -1,6 +1,7 @@ --- -tags: [Getting started] +tags: [Начало] --- + # Регистрация тестовых методов (ЮТТесты) Кроме того, чтобы написать тестовые сценарии, разработчик должен зарегистрировать их в движке. diff --git a/documentation/src/pages/index.md b/documentation/src/pages/index.md index 0c31afcc1..ec54d86a0 100644 --- a/documentation/src/pages/index.md +++ b/documentation/src/pages/index.md @@ -13,7 +13,7 @@ slug: / [![Quality Gate](https://sonar.openbsl.ru/api/project_badges/measure?project=yaxunit&metric=alert_status)](https://sonar.openbsl.ru/dashboard?id=yaxunit) [![Maintainability](https://sonar.openbsl.ru/api/project_badges/measure?project=yaxunit&metric=sqale_rating)](https://sonar.openbsl.ru/dashboard?id=yaxunit) -Обсудить в [телеграмм чате](https://t.me/BIAOpenTools/12) +Обсудить в [Telegram чате](https://t.me/BIAOpenTools/12) ---- diff --git a/exts/yaxunit/.settings/com.e1c.v8codestyle.bsl.prefs b/exts/yaxunit/.settings/com.e1c.v8codestyle.bsl.prefs index c634a6bd2..67c99dfb6 100644 --- a/exts/yaxunit/.settings/com.e1c.v8codestyle.bsl.prefs +++ b/exts/yaxunit/.settings/com.e1c.v8codestyle.bsl.prefs @@ -1,3 +1,3 @@ -addModuleStrictTypesAnnotation=true +addModuleStrictTypesAnnotation=false createModuleStructure=true eclipse.preferences.version=1 diff --git a/exts/yaxunit/.settings/templates/common_module.bsl b/exts/yaxunit/.settings/templates/common_module.bsl index daedcb227..6b1c22842 100644 --- a/exts/yaxunit/.settings/templates/common_module.bsl +++ b/exts/yaxunit/.settings/templates/common_module.bsl @@ -18,39 +18,6 @@ #Область СлужебныйПрограммныйИнтерфейс -Процедура ИсполняемыеСценарии() Экспорт - - ЮТТесты - .ДобавитьТест("ТестовыйМетод") - .ДобавитьТест("ТестовыйМетод").СПараметрами(1, 2, 3); - ; - -КонецПроцедуры - -#Область События - -Процедура ПередВсемиТестами() Экспорт - -КонецПроцедуры - -Процедура ПередКаждымТестом() Экспорт - -КонецПроцедуры - -Процедура ПослеКаждогоТеста() Экспорт - -КонецПроцедуры - -Процедура ПослеВсехТестов() Экспорт - -КонецПроцедуры - -#КонецОбласти - -Процедура ТестовыйМетод() Экспорт - -КонецПроцедуры - #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index ee6c500da..c06777638 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -51,15 +51,18 @@ // // Параметры: // Объект - Произвольный - Объект, методы которого хотим подменить. -// +// СброситьСтарыеНастройки - Булево - Необходимо удалить старые настройки по объекту. +// + `Истина` - все предыдущие настройки мокирования объекта будут забыты. +// + `Ложь` - будет выполнено дообучение объекта. +// // Возвращаемое значение: // ОбщийМодуль - см. МокитоОбучение -Функция Обучение(Объект) Экспорт +Функция Обучение(Объект, СброситьСтарыеНастройки = Истина) Экспорт Режимы = МокитоСлужебный.РежимыРаботы(); МокитоСлужебный.УстановитьРежим(Режимы.Обучение); - Возврат МокитоОбучение.Обучение(Объект); + Возврат МокитоОбучение.Обучение(Объект, СброситьСтарыеНастройки); КонецФункции @@ -148,7 +151,6 @@ // // Возвращаемое значение: // Структура - Описание маски параметра: -// * МаскаСопоставленияПараметров - Булево - Признак, что это маска параметра (значение: `Истина`) // * Режим - Строка - Тип маски (значение: `Тип`) // * Приоритет - Число - Приоритет маски, используется если значение подпадает под несколько масок (значение: `10`) // * Тип - Тип - Тип, которому должен соответствовать параметр @@ -220,7 +222,6 @@ // Произвольный - Подменный результат работы метода Функция АнализВызова(Объект, ИмяМетода, ПараметрыМетода, ПрерватьВыполнение) Экспорт - ЮТОбщий.ВызовУстаревшегоМетода("Мокито.АнализВызова", "МокитоСлужебный.АнализВызова"); Возврат МокитоСлужебный.АнализВызова(Объект, ИмяМетода, ПараметрыМетода, ПрерватьВыполнение); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" index c86e82f3f..8bbd95e70 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\236\320\261\321\203\321\207\320\265\320\275\320\270\320\265/Module.bsl" @@ -27,12 +27,16 @@ // // Параметры: // Объект - Произвольный - Обучаемый объект, с методами которого хотим работать. +// СброситьСтарыеНастройки - Булево - Необходимо удалить старые настройки по объекту. +// + `Истина` - все предыдущие настройки мокирования объекта будут забыты. +// + `Ложь` - будет выполнено дообучение объекта. // // Возвращаемое значение: // ОбщийМодуль - Этот же модуль, для замыкания -Функция Обучение(Объект) Экспорт +Функция Обучение(Объект, СброситьСтарыеНастройки = Истина) Экспорт УстановитьПараметрыОбучения(Объект); + МокитоСлужебный.ЗарегистрироватьПерехватОбъекта(Объект, СброситьСтарыеНастройки); Возврат МокитоОбучение; @@ -198,35 +202,8 @@ Функция СоздатьОписаниеУсловнойРеакции(СтруктураВызоваМетода) - Возврат Новый Структура("УсловиеРеакции, Действие", УсловиеРеакции(СтруктураВызоваМетода), Неопределено); - -КонецФункции - -Функция УсловиеРеакции(СтруктураВызоваМетода) - - Параметры = СтруктураВызоваМетода.Параметры; - - Если Параметры = Неопределено Тогда - Возврат Неопределено; - КонецЕсли; - - Условия = Новый Массив; - - Для Каждого Параметр Из Параметры Цикл - - Если МокитоСлужебный.ЭтоМаскаПарамера(Параметр) Тогда - - Условия.Добавить(Параметр); - - Иначе - - Условия.Добавить(Новый Структура("Режим, Значение, Приоритет", "Значение", Параметр, 100)); - - КонецЕсли; - - КонецЦикла; - - Возврат Условия; + Условия = МокитоСлужебный.УсловиеИзПараметров(СтруктураВызоваМетода.Параметры); + Возврат Новый Структура("УсловиеРеакции, Действие", Условия, Неопределено); КонецФункции @@ -255,7 +232,6 @@ ПараметрыОбучения = Новый Структура("ОбучаемыйОбъект, РеакцияТекущегоВыражения", Объект, Неопределено); МокитоСлужебный.Настройки().ПараметрыОбучения = ПараметрыОбучения; - МокитоСлужебный.ЗарегистрироватьПерехватОбъекта(Объект); КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" index 7f29e17df..87b5f5023 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270/Module.bsl" @@ -197,6 +197,7 @@ Если ЗначениеЗаполнено(СтруктураВызоваМетода.Параметры) Тогда + УсловияПроверки = МокитоСлужебный.УсловиеИзПараметров(СтруктураВызоваМетода.Параметры); Результат = Новый Массив(); Для Каждого ВызовМетода Из ВызовыМетода Цикл @@ -205,19 +206,15 @@ ВызватьИсключение "Сигнатура метода содержит меньше параметров"; КонецЕсли; - КоличествоПараметров = СтруктураВызоваМетода.Параметры.Количество(); + КоличествоУсловий = УсловияПроверки.Количество(); Успешно = Истина; - Для Инд = 0 По КоличествоПараметров - 1 Цикл + Для Инд = 0 По КоличествоУсловий - 1 Цикл Параметр = ВызовМетода.Параметры[Инд]; - Условие = СтруктураВызоваМетода.Параметры[Инд]; + Условие = УсловияПроверки[Инд]; - Если МокитоСлужебный.ЭтоМаскаПарамера(Условие) Тогда - Успешно = МокитоСлужебный.ПроверитьПараметр(Параметр, Условие); - Иначе - Успешно = Параметр = Условие; - КонецЕсли; + Успешно = МокитоСлужебный.ПроверитьПараметр(Параметр, Условие); Если НЕ Успешно Тогда Прервать; @@ -258,7 +255,8 @@ Если МокитоСлужебный.ЭтоСтруктураВызоваМетода(ИмяМетода) Тогда СтруктураВызоваМетода = ИмяМетода; Иначе - СтруктураВызоваМетода = МокитоСлужебный.СтруктураВызоваМетода(Параметры.ПроверяемыйОбъект, ИмяМетода, ПараметрыВызова); + Условия = МокитоСлужебный.УсловиеИзПараметров(ПараметрыВызова); + СтруктураВызоваМетода = МокитоСлужебный.СтруктураВызоваМетода(Параметры.ПроверяемыйОбъект, ИмяМетода, Условия); КонецЕсли; Если СтруктураВызоваМетода.Объект <> Параметры.ПроверяемыйОбъект Тогда diff --git "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index a01e37232..4d2adc6a4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\234\320\276\320\272\320\270\321\202\320\276\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -159,6 +159,7 @@ Типы.Вставить("Значение", "Значение"); Типы.Вставить("Тип", "Тип"); Типы.Вставить("ОписаниеТипа", "ОписаниеТипа"); + Типы.Вставить("Предикат", "Предикат"); Возврат Новый ФиксированнаяСтруктура(Типы); @@ -172,12 +173,13 @@ // // Возвращаемое значение: // Структура - Описание маски параметра: -// * МаскаСопоставленияПараметров - Булево - Признак, что это маска параметра // * Режим - Строка - см. ТипыУсловийПараметров // * Приоритет - Число - Приоритет маски, используется если значение подпадает под несколько масок, чем выше приоритет, тем лучше Функция ОписаниеМаскиПараметра(ТипУсловия, Приоритет) Экспорт - МаскаПараметра = Новый Структура("МаскаСопоставленияПараметров", Истина); + МаскаПараметра = Новый Структура; + ЮТОбщий.УказатьТипСтруктуры(МаскаПараметра, "МаскаПараметра"); + МаскаПараметра.Вставить("Режим", ТипУсловия); МаскаПараметра.Вставить("Приоритет", Приоритет); @@ -187,7 +189,7 @@ Функция ЭтоМаскаПарамера(Параметр) Экспорт - Возврат ТипЗнч(Параметр) = Тип("Структура") И Параметр.Свойство("МаскаСопоставленияПараметров") И Параметр.МаскаСопоставленияПараметров; + Возврат ТипЗнч(Параметр) = Тип("Структура") И ЮТОбщий.ТипСтруктуры(Параметр) = "МаскаПараметра"; КонецФункции @@ -212,6 +214,11 @@ Совпадает = Условие.Тип.СодержитТип(ТипЗнч(Параметр)); + ИначеЕсли Условие.Режим = ТипыУсловий.Предикат Тогда + + Результат = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Параметр, Условие.Предикат); + Совпадает = Результат.Успешно; + КонецЕсли; Возврат Совпадает; @@ -265,14 +272,17 @@ КонецФункции -Процедура ЗарегистрироватьПерехватОбъекта(Знач Объект) Экспорт +Процедура ЗарегистрироватьПерехватОбъекта(Знач Объект, СброситьСтарыеНастройки = Истина) Экспорт Если ЭтоОбъект(Объект) Тогда Объект = Объект.Ссылка; КонецЕсли; ПараметрыПерехвата = ПараметрыПерехвата(); - ПараметрыПерехвата.Вставить(Объект, ОписаниеПараметровПерехватаОбъекта(Объект)); + + Если СброситьСтарыеНастройки ИЛИ ПараметрыПерехвата[Объект] = Неопределено Тогда + ПараметрыПерехвата.Вставить(Объект, ОписаниеПараметровПерехватаОбъекта(Объект)); + КонецЕсли; КонецПроцедуры @@ -420,6 +430,11 @@ Для Каждого Реакция Из ПараметрыПерехватаМетода.Реакции Цикл ПриоритетРеакции = ПроверитьРеакцию(Реакция, ПараметрыВызова); + + Если ПриоритетРеакции < 0 Тогда + Продолжить; + КонецЕсли; + ПриоритетыРеакций.Добавить(Новый Структура("Приоритет, Реакция", ПриоритетРеакции, Реакция)); Если ЛучшийПриоритет < ПриоритетРеакции Тогда @@ -428,7 +443,12 @@ КонецЦикла; + Если ЛучшийПриоритет <= 0 Тогда + Возврат Неопределено; + КонецЕсли; + Реакция = Неопределено; + Для Каждого ПриоритетРеакции Из ПриоритетыРеакций Цикл Если ПриоритетРеакции.Приоритет = ЛучшийПриоритет Тогда @@ -459,7 +479,7 @@ Если НЕ ПроверитьПараметр(ПараметрыМетода[Инд], Реакция.УсловиеРеакции[Инд]) Тогда - Возврат 0; + Возврат -1; КонецЕсли; @@ -552,4 +572,40 @@ КонецФункции +Функция УсловиеИзПараметров(Параметры) Экспорт + + Если Параметры = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Условия = Новый Массив; + + ТипыУсловий = ТипыУсловийПараметров(); + + Для Каждого Параметр Из Параметры Цикл + + Если ЭтоМаскаПарамера(Параметр) Тогда + + Условия.Добавить(Параметр); + + ИначеЕсли ЮТПредикатыКлиентСервер.ЭтоПредикат(Параметр) Тогда + + Маска = ОписаниеМаскиПараметра(ТипыУсловий.Предикат, 90); + Маска.Вставить("Предикат", ЮТПредикатыКлиентСервер.НаборПредикатов(Параметр)); + Условия.Добавить(Маска); + + Иначе + + Маска = ОписаниеМаскиПараметра(ТипыУсловий.Значение, 100); + Маска.Вставить("Значение", Параметр); + Условия.Добавить(Маска); + + КонецЕсли; + + КонецЦикла; + + Возврат Условия; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" new file mode 100644 index 000000000..b117f9013 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" @@ -0,0 +1,201 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +/////////////////////////////////////////////////////////////////// +// Расширяет возможности тестирования, +// позволяет в упрощенной форме получать данны из информационной базы +// как с сервера так и с клиента. +/////////////////////////////////////////////////////////////////// +#Область ПрограммныйИнтерфейс + +// Возвращает значения реквизитов ссылки +// +// Параметры: +// Ссылка - ЛюбаяСсылка +// ИменаРеквизитов - Строка - Имена получаемых реквизитов, разделенные запятой. +// Важно, нельзя указывать реквизиты через точку. +// +// Возвращаемое значение: +// Структура Из Произвольный - Значения реквизитов ссылки +Функция ЗначенияРеквизитов(Ссылка, ИменаРеквизитов) Экспорт + + //@skip-check constructor-function-return-section + Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, Ложь); + +КонецФункции + +// Возвращает значение реквизита ссылки +// +// Параметры: +// Ссылка - ЛюбаяСсылка +// ИмяРеквизита - Строка - Имя получаемого реквизита, можно указать путь к вложенному реквизиту через точку +// +// Возвращаемое значение: +// Произвольный - Значение реквизита ссылки +Функция ЗначениеРеквизита(Ссылка, ИмяРеквизита) Экспорт + + Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИмяРеквизита, Истина); + +КонецФункции + +// Возвращает первую запись таблицы соответствующую условиям +// +// Параметры: +// ИмяТаблицы - Строка - Имя таблицы базы +// Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить +// - см. ЮТФабрика.ВыражениеПредиката +// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат +// - Неопределено - Проверит, что таблица не пустая +// Возвращаемое значение: +// Структура, Неопределено - Содержит все данные записи, включая табличный части +Функция Запись(ИмяТаблицы, Предикат) Экспорт + + ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*"); + //@skip-check constructor-function-return-section + Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Истина); + +КонецФункции + +// Возвращает записи таблицы соответствующую условиям +// +// Параметры: +// ИмяТаблицы - Строка - Имя таблицы базы +// Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить +// - см. ЮТФабрика.ВыражениеПредиката +// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат +// - Неопределено - Проверит, что таблица не пустая +// Возвращаемое значение: +// Массив из Структура - Найденные записи, включая табличный части +Функция Записи(ИмяТаблицы, Предикат) Экспорт + + ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, "*"); + Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь); + +КонецФункции + +// Возвращает значения реквизитов первой записи таблицы, соответствующей условиям +// +// Параметры: +// ИмяТаблицы - Строка +// Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить +// - см. ЮТФабрика.ВыражениеПредиката +// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат +// ИменаРеквизитов - Строка - Имена получаемых реквизитов +// +// Возвращаемое значение: +// Произвольный - Значение реквизита записи +// +Функция ЗначенияРеквизитовЗаписи(ИмяТаблицы, Предикат, ИменаРеквизитов) Экспорт + + ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИменаРеквизитов); + Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Ложь); + +КонецФункции + +// Возвращает значение реквизита первой записи таблицы, соответствующей условиям +// +// Параметры: +// ИмяТаблицы - Строка +// Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить +// - см. ЮТФабрика.ВыражениеПредиката +// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат +// ИмяРеквизита - Строка - Имя получаемого реквизита +// +// Возвращаемое значение: +// Структура Из Произвольный - Значения реквизитов записи +// +Функция ЗначениеРеквизитаЗаписи(ИмяТаблицы, Предикат, ИмяРеквизита) Экспорт + + ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИмяРеквизита); + //@skip-check constructor-function-return-section + Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Истина); + +КонецФункции + +// Вернет признак содержит ли таблица записи удовлетворяющие переданным условиям +// +// Параметры: +// ИмяТаблицы - Строка - Имя таблицы базы +// Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить +// - см. ЮТФабрика.ВыражениеПредиката +// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат +// - Неопределено - Проверит, что таблица не пустая +// Возвращаемое значение: +// Булево - Таблица содержит записи +Функция ТаблицаСодержитЗаписи(ИмяТаблицы, Предикат = Неопределено) Экспорт + + ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат); + Возврат НЕ РезультатПустой(ОписаниеЗапроса); + +КонецФункции + +// Возвращает результат выполнения простого запроса. +// +// Параметры: +// ОписаниеЗапроса - см. ОписаниеЗапроса +// +// Возвращаемое значение: +// - ТаблицаЗначений - Результат запроса для сервера +// - Массив из Структура - Результат запроса для клиента +Функция РезультатЗапроса(ОписаниеЗапроса) Экспорт + +#Если Клиент Тогда + Возврат ЮТЗапросыВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Истина); +#Иначе + Возврат ЮТЗапросыВызовСервера.РезультатЗапроса(ОписаниеЗапроса, Ложь); +#КонецЕсли + +КонецФункции + +// Определяет, есть ли в результате записи +// +// Параметры: +// ОписаниеЗапроса - см. ОписаниеЗапроса +// +// Возвращаемое значение: +// Булево - Результат пустой +Функция РезультатПустой(ОписаниеЗапроса) Экспорт + + Возврат ЮТЗапросыВызовСервера.РезультатПустой(ОписаниеЗапроса); + +КонецФункции + +// Описание простого запроса +// +// Возвращаемое значение: +// Структура - Описание запроса: +// * ИмяТаблицы - Строка - +// * ВыбираемыеПоля - Массив из Строка +// * КоличествоЗаписей - Число, Неопределено - Ограничение количества выбираемых записей +// * Условия - Массив из Строка - Коллекция выражений условий, которые будут объединены через `И` +// * ЗначенияПараметров - Структура - Набор параметров запроса +Функция ОписаниеЗапроса() Экспорт + + Описание = Новый Структура(); + Описание.Вставить("ИмяТаблицы", ""); + Описание.Вставить("ВыбираемыеПоля", Новый Массив); + Описание.Вставить("КоличествоЗаписей", Неопределено); + Описание.Вставить("Условия", Новый Массив()); + Описание.Вставить("ЗначенияПараметров", Новый Структура()); + + //@skip-check constructor-function-return-section + Возврат Описание; + +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213.mdo" new file mode 100644 index 000000000..892f6961d --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213.mdo" @@ -0,0 +1,11 @@ + + + ЮТЗапросы + + ru + Запросы + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" new file mode 100644 index 000000000..638979098 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -0,0 +1,267 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Функция РезультатЗапроса(ОписаниеЗапроса, ДляКлиента) Экспорт + + Запрос = Запрос(ОписаниеЗапроса); + РезультатЗапроса = Запрос.Выполнить(); + + Возврат ВыгрузитьРезультатЗапроса(РезультатЗапроса, ДляКлиента); + +КонецФункции + +// Результат пустой. +// +// Параметры: +// ОписаниеЗапроса - см. ЮТЗапросы.ОписаниеЗапроса +// +// Возвращаемое значение: +// Булево - Результат пустой +Функция РезультатПустой(Знач ОписаниеЗапроса) Экспорт + + Запрос = Запрос(ОписаниеЗапроса); + РезультатЗапроса = Запрос.Выполнить(); + + Возврат РезультатЗапроса.Пустой(); + +КонецФункции + +// Возвращает значения реквизитов ссылки +// +// Параметры: +// Ссылка - ЛюбаяСсылка +// ИменаРеквизитов - Строка +// ОдинРеквизит - Булево +// +// Возвращаемое значение: +// - Структура Из Произвольный - Значения реквизитов ссылки при получении значений множества реквизитов +// - Произвольный - Значение реквизита ссылки при получении значения одного реквизита +Функция ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, ОдинРеквизит) Экспорт + + ИмяТаблицы = Ссылка.Метаданные().ПолноеИмя(); + + ТекстЗапроса = СтрШаблон("ВЫБРАТЬ ПЕРВЫЕ 1 %1 ИЗ %2 ГДЕ Ссылка = &Ссылка", ИменаРеквизитов, ИмяТаблицы); + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("Ссылка", Ссылка); + + Если ОдинРеквизит Тогда + Возврат ЗначениеИзЗапроса(Запрос, 0); + Иначе + Возврат ЗначенияИзЗапроса(Запрос, ИменаРеквизитов); + КонецЕсли; + +КонецФункции + +// Возвращяет записи результат запроса +// +// Параметры: +// ОписаниеЗапроса - см. ЮТЗапросы.ОписаниеЗапроса +// ОднаЗапись - Булево - Вернуть первую запись +// +// Возвращаемое значение: +// Массив из Структура, Структура, Неопределено - Записи +Функция Записи(ОписаниеЗапроса, ОднаЗапись) Экспорт + + Если ОднаЗапись Тогда + ОписаниеЗапроса.КоличествоЗаписей = 1; + КонецЕсли; + + Запрос = Запрос(ОписаниеЗапроса); + РезультатЗапроса = Запрос.Выполнить(); + + Записи = ВыгрузитьРезультатЗапроса(РезультатЗапроса, Истина); + + Если НЕ ОднаЗапись Тогда + Возврат Записи; + ИначеЕсли Записи.Количество() Тогда + Возврат Записи[0]; + Иначе + Возврат Неопределено; + КонецЕсли; + +КонецФункции + +// Возвращает значения реквизитов записи +// +// Параметры: +// ОписаниеЗапроса - см. ЮТЗапросы.ОписаниеЗапроса +// ОдинРеквизит - Булево +// +// Возвращаемое значение: +// - Структура Из Произвольный - Значения множества реквизитов записи +// - Произвольный - Значение одного реквизита записи +// +Функция ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, ОдинРеквизит) Экспорт + + Запись = Записи(ОписаниеЗапроса, Истина); + + Если ТипЗнч(Запись) <> Тип("Структура") Тогда + Если ОдинРеквизит Тогда + Возврат Неопределено; + Иначе + Реквизиты = СтрСоединить(ПсеводнимыВыбираемыхПолей(ОписаниеЗапроса), ","); + Возврат Новый Структура(Реквизиты); + КонецЕсли; + КонецЕсли; + + Если ОдинРеквизит Тогда + Для каждого КлючЗнач Из Запись Цикл + Возврат КлючЗнач.Значение; + КонецЦикла; + Иначе + Возврат Запись; + КонецЕсли; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Запрос. +// +// Параметры: +// ОписаниеЗапроса - см. ЮТЗапросы.ОписаниеЗапроса +// +// Возвращаемое значение: +// Запрос +Функция Запрос(ОписаниеЗапроса) + + Строки = Новый Массив(); + Строки.Добавить("ВЫБРАТЬ "); + + Если ОписаниеЗапроса.КоличествоЗаписей <> Неопределено Тогда + Строки.Добавить("ПЕРВЫЕ " + ЮТОбщий.ЧислоВСтроку(ОписаниеЗапроса.КоличествоЗаписей)); + КонецЕсли; + + Если ОписаниеЗапроса.ВыбираемыеПоля.Количество() Тогда + ВыбираемыеПоля = ОписаниеЗапроса.ВыбираемыеПоля; + Иначе + ВыбираемыеПоля = ЮТОбщий.ЗначениеВМассиве("1 КАК Поле"); + КонецЕсли; + + Строки.Добавить(СтрСоединить(ВыбираемыеПоля, "," + Символы.ПС)); + Строки.Добавить("ИЗ " + ОписаниеЗапроса.ИмяТаблицы); + + Если ОписаниеЗапроса.Условия.Количество() Тогда + Строки.Добавить("ГДЕ ("); + Строки.Добавить(СтрСоединить(ОписаниеЗапроса.Условия, ") И (" + Символы.ПС)); + Строки.Добавить(")"); + КонецЕсли; + + Запрос = Новый Запрос(СтрСоединить(Строки, Символы.ПС)); + ЮТОбщий.ОбъединитьВСтруктуру(Запрос.Параметры, ОписаниеЗапроса.ЗначенияПараметров); + + Возврат Запрос; + +КонецФункции + +Функция ЗначенияИзЗапроса(Запрос, Реквизиты) + + Результат = Новый Структура(Реквизиты); + Выборка = Запрос.Выполнить().Выбрать(); + + Если Выборка.Следующий() Тогда + ЗаполнитьЗначенияСвойств(Результат, Выборка); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +Функция ЗначениеИзЗапроса(Запрос, Реквизит) + + Выборка = Запрос.Выполнить().Выбрать(); + + Если Выборка.Следующий() Тогда + Возврат Выборка[Реквизит]; + Иначе + Возврат Неопределено; + КонецЕсли; + +КонецФункции + +Функция ВыгрузитьРезультатЗапроса(РезультатЗапроса, ВМассив) + + Если НЕ ВМассив Тогда + Возврат РезультатЗапроса.Выгрузить(); + Иначе + Результат = Новый Массив(); + КонецЕсли; + + Если РезультатЗапроса.Пустой() Тогда + Возврат Результат; + КонецЕсли; + + Реквизиты = Новый Массив(); + ТабличныеЧасти = Новый Массив(); + + ТипРезультатЗапроса = Тип("РезультатЗапроса"); + Для Каждого Колонка Из РезультатЗапроса.Колонки Цикл + + Реквизиты.Добавить(Колонка.Имя); + + Если Колонка.ТипЗначения.СодержитТип(ТипРезультатЗапроса) Тогда + ТабличныеЧасти.Добавить(Колонка.Имя); + КонецЕсли; + + КонецЦикла; + + ПараметрыКонструктора = СтрСоединить(Реквизиты, ","); + + Выборка = РезультатЗапроса.Выбрать(); + + Пока Выборка.Следующий() Цикл + + Запись = Новый Структура(ПараметрыКонструктора); + ЗаполнитьЗначенияСвойств(Запись, Выборка); + + Для Каждого ТабличнаяЧасть Из ТабличныеЧасти Цикл + Запись[ТабличнаяЧасть] = ВыгрузитьРезультатЗапроса(Выборка[ТабличнаяЧасть], ВМассив); + КонецЦикла; + + Результат.Добавить(Запись); + + КонецЦикла; + + Возврат Результат; + +КонецФункции + +Функция ПсеводнимыВыбираемыхПолей(ОписаниеЗапроса) + + Псевдонимы = Новый Массив; + + Запрос = Запрос(ОписаниеЗапроса); + + СхемаЗапроса = Новый СхемаЗапроса(); + СхемаЗапроса.УстановитьТекстЗапроса(Запрос.Текст); + + Для каждого ЗапросСЗ Из СхемаЗапроса.ПакетЗапросов Цикл + Для каждого КолонкаСЗ Из ЗапросСЗ.Колонки Цикл + Псевдонимы.Добавить(КолонкаСЗ.Псевдоним); + КонецЦикла; + КонецЦикла; + + Возврат Псевдонимы; + +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" new file mode 100644 index 000000000..10fbfd8d8 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" @@ -0,0 +1,10 @@ + + + ЮТЗапросыВызовСервера + + ru + Запросы вызов сервера + + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" new file mode 100644 index 000000000..6fecc3072 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -0,0 +1,128 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Функция ОписаниеЗапроса(ИмяТаблицы, ПредикатыУсловия, ВыбираемыеПоля = Неопределено) Экспорт + + Описание = ЮТЗапросы.ОписаниеЗапроса(); + Описание.ИмяТаблицы = ИмяТаблицы; + Если ВыбираемыеПоля = Неопределено Тогда + Описание.ВыбираемыеПоля.Добавить("1 КАК Проверка"); + Иначе + ЗаполнитьВыбираемыеПоля(Описание, ВыбираемыеПоля); + КонецЕсли; + + СформироватьУсловия(ПредикатыУсловия, Описание.Условия, Описание.ЗначенияПараметров); + + Возврат Описание; + +КонецФункции + +Процедура СформироватьУсловия(Предикат, КоллекцияУсловий, ЗначенияПараметров) Экспорт + + Если Предикат = Неопределено Тогда + Возврат; + КонецЕсли; + + Предикаты = ЮТПредикатыКлиентСервер.НаборПредикатов(Предикат); + ВидыСравнения = ЮТПредикаты.Выражения(); + + Для Каждого ВыражениеПредиката Из Предикаты Цикл + + ИмяПараметра = "Параметр_" + ЮТОбщий.ЧислоВСтроку(ЗначенияПараметров.Количество() + 1); + Шаблон = ШаблонУсловия(ВыражениеПредиката.ВидСравнения, ВидыСравнения); + + Условие = СтрШаблон(Шаблон, ВыражениеПредиката.ИмяРеквизита, ИмяПараметра); + + КоллекцияУсловий.Добавить(Условие); + ЗначенияПараметров.Вставить(ИмяПараметра, ВыражениеПредиката.Значение); + + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ШаблонУсловия(Знач Выражение, ВыраженияПредикатов) + + Отрицание = ЮТПредикатыКлиентСервер.ЭтоВыраженияОтрицания(Выражение); + Если Отрицание Тогда + Выражение = ЮТПредикатыКлиентСервер.ВыраженияБезОтрицания(Выражение); + КонецЕсли; + + Если Выражение = ВыраженияПредикатов.Равно Тогда + Шаблон = "%1 = &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.Больше Тогда + Шаблон = "%1 > &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.БольшеРавно Тогда + Шаблон = "%1 >= &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.Меньше Тогда + Шаблон = "%1 < &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.МеньшеРавно Тогда + Шаблон = "%1 <= &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.ИмеетТип Тогда + Шаблон = "ТИПЗНАЧЕНИЯ(%1) = &%2"; + ИначеЕсли Выражение = ВыраженияПредикатов.Содержит Тогда + Шаблон = "%1 ПОДОБНО ""%%"" + &%2 + ""%%"""; + ИначеЕсли Выражение = ВыраженияПредикатов.Заполнено Тогда + // TODO Реализовать + ВызватьИсключение "Проверка заполненности пока не поддерживается"; + Иначе + ВызватьИсключение "Неподдерживаемое выражения предикатов " + Выражение; + КонецЕсли; + + Если Отрицание Тогда + Шаблон = СтрШаблон("НЕ (%1)", Шаблон); + КонецЕсли; + + Возврат Шаблон; + +КонецФункции + +Процедура ЗаполнитьВыбираемыеПоля(ОписаниеЗапроса, Знач ВыбираемыеПоля) + + ТипПараметра = ТипЗнч(ВыбираемыеПоля); + + Если ТипПараметра = Тип("Строка") Тогда + ВыбираемыеПоля = ЮТОбщий.РазложитьСтрокуВМассивПодстрок(ВыбираемыеПоля, ",", Истина); + ТипПараметра = Тип("Массив"); + КонецЕсли; + + Если ТипПараметра = Тип("Массив") Тогда + + ОписаниеЗапроса.ВыбираемыеПоля = ВыбираемыеПоля; + + ИначеЕсли ТипПараметра = Тип("Структура") Тогда + + Для Каждого Поле Из ВыбираемыеПоля Цикл + Выражение = СтрШаблон("%1 КАК %2", Поле.Значение, Поле.Ключ); + ОписаниеЗапроса.ВыбираемыеПоля.Добавить(Выражение); + КонецЦикла; + + Иначе + + ВызватьИсключение ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТЗапросыКлиентСервер.ЗаполнитьВыбираемыеПоля", ВыбираемыеПоля); + + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.mdo" new file mode 100644 index 000000000..f0a712979 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.mdo" @@ -0,0 +1,11 @@ + + + ЮТЗапросыКлиентСервер + + ru + Запросы клиент сервер + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 029504aa9..52f420d5f 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\230\321\201\320\277\320\276\320\273\320\275\320\270\321\202\320\265\320\273\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -31,9 +31,6 @@ Возврат Наборы; КонецЕсли; - Уровни = ЮТФабрика.УровниИсполнения(); - ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.Модуль; - ЮТСобытия.ПередВсемиТестамиМодуля(ТестовыйМодуль); Если ЕстьОшибки(ТестовыйМодуль) Тогда @@ -51,8 +48,6 @@ КонецЦикла; - ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.Модуль; - ЮТСобытия.ПослеВсехТестовМодуля(ТестовыйМодуль); Если ЕстьОшибки(ТестовыйМодуль) Тогда @@ -71,9 +66,6 @@ Функция ВыполнитьНаборТестов(Набор, ТестовыйМодуль) - Уровни = ЮТФабрика.УровниИсполнения(); - ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.НаборТестов; - Набор.ДатаСтарта = ТекущаяУниверсальнаяДатаВМиллисекундах(); ЮТСобытия.ПередТестовымНабором(ТестовыйМодуль, Набор); @@ -82,7 +74,6 @@ КонецЕсли; Результаты = Новый Массив(); - ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.Тест; Для Каждого Тест Из Набор.Тесты Цикл @@ -98,7 +89,6 @@ КонецЦикла; - ЮТКонтекст.КонтекстИсполнения().Уровень = Уровни.НаборТестов; ЮТСобытия.ПослеТестовогоНабора(ТестовыйМодуль, Набор); Набор.Длительность = ТекущаяУниверсальнаяДатаВМиллисекундах() - Набор.ДатаСтарта; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" index 5a3c974ca..e7140744f 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262/Module.bsl" @@ -45,11 +45,20 @@ // Параметр3 - Произвольный // Параметр4 - Произвольный // Параметр5 - Произвольный +// Параметр6 - Произвольный +// Параметр7 - Произвольный // // Возвращаемое значение: // ОбщийМодуль - Этот же модуль, для замыкания -Функция Добавить(Параметр1, Параметр2 = Неопределено, Параметр3 = Неопределено, Параметр4 = Неопределено, Параметр5 = Неопределено) Экспорт - +Функция Добавить(Параметр1, + Параметр2 = Неопределено, + Параметр3 = Неопределено, + Параметр4 = Неопределено, + Параметр5 = Неопределено, + Параметр6 = Неопределено, + Параметр7 = Неопределено) Экспорт +// BSLLS:MagicNumber-off +// BSLLS:NumberOfValuesInStructureConstructor-off Варианты = ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()); Если Варианты.КоличествоРеквизитов = 1 Тогда @@ -62,8 +71,13 @@ Вариант = Новый Структура(Варианты.Реквизиты, Параметр1, Параметр2, Параметр3, Параметр4); ИначеЕсли Варианты.КоличествоРеквизитов = 5 Тогда Вариант = Новый Структура(Варианты.Реквизиты, Параметр1, Параметр2, Параметр3, Параметр4, Параметр5); + ИначеЕсли Варианты.КоличествоРеквизитов = 6 Тогда + Вариант = Новый Структура(Варианты.Реквизиты, Параметр1, Параметр2, Параметр3, Параметр4, Параметр5, Параметр6); + ИначеЕсли Варианты.КоличествоРеквизитов = 7 Тогда + Вариант = Новый Структура(Варианты.Реквизиты, Параметр1, Параметр2, Параметр3, Параметр4, Параметр5, Параметр6, Параметр7); КонецЕсли; - +// BSLLS:NumberOfValuesInStructureConstructor-on +// BSLLS:MagicNumber-on Варианты.Варианты.Добавить(Вариант); Возврат ЮТКонструкторВариантов; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" new file mode 100644 index 000000000..bb9daf196 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -0,0 +1,200 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура Установить(Контекст, ИмяРеквизита, Значение) Экспорт + + Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда + ТекущаяЗапись = ДанныеСтроки(Контекст); + Иначе + ТекущаяЗапись = Контекст.Данные; + КонецЕсли; + + ТекущаяЗапись.Вставить(ИмяРеквизита, Значение); + +КонецПроцедуры + +Процедура Фикция(Контекст, ИмяРеквизита, РеквизитыЗаполнения = Неопределено) Экспорт + + Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда + ОписаниеРеквизита = Контекст.Метаданные.ТабличныеЧасти[Контекст.ТекущаяТабличнаяЧасть][ИмяРеквизита]; + ТекущаяЗапись = ДанныеСтроки(Контекст); + Иначе + ОписаниеРеквизита = Контекст.Метаданные.Реквизиты[ИмяРеквизита]; + ТекущаяЗапись = Контекст.Данные; + КонецЕсли; + + Значение = ЮТТестовыеДанныеСлужебный.Фикция(ОписаниеРеквизита.Тип, РеквизитыЗаполнения); + ТекущаяЗапись.Вставить(ИмяРеквизита, Значение); + +КонецПроцедуры + +Процедура ФикцияОбязательныхПолей(Контекст) Экспорт + + Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда + Реквизиты = Контекст.Метаданные.ТабличныеЧасти[Контекст.ТекущаяТабличнаяЧасть]; + ТекущаяЗапись = ДанныеСтроки(Контекст); + Иначе + Реквизиты = Контекст.Метаданные.Реквизиты; + ТекущаяЗапись = Контекст.Данные; + КонецЕсли; + + Для Каждого Элемент Из Реквизиты Цикл + Реквизит = Элемент.Значение; + Если Реквизит.Обязательный И НЕ Контекст.Данные.Свойство(Реквизит.Имя) Тогда + Значение = ЮТТестовыеДанныеСлужебный.Фикция(Реквизит.Тип); + ТекущаяЗапись.Вставить(Реквизит.Имя, Значение); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +Процедура ТабличнаяЧасть(Контекст, ИмяТабличнойЧасти) Экспорт + + Контекст.ТекущаяТабличнаяЧасть = ИмяТабличнойЧасти; + Контекст.Данные.Вставить(ИмяТабличнойЧасти, Новый Массив()); + +КонецПроцедуры + +Процедура ДобавитьСтроку(Контекст) Экспорт + + Запись = Новый Структура(); + ДанныеТабличнойЧасти(Контекст).Добавить(Запись); + +КонецПроцедуры + +Процедура УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение = Неопределено) Экспорт + + Контекст.ДополнительныеСвойства.Вставить(ИмяСвойства, Значение); + +КонецПроцедуры + +Функция Записать(Контекст, ВернутьОбъект = Ложь, ОбменДаннымиЗагрузка = Ложь) Экспорт + + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства; + ПараметрыЗаписи.ОбменДаннымиЗагрузка = ОбменДаннымиЗагрузка; + + Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект); + + ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка); + + Возврат Ссылка; + +КонецФункции + +Функция НовыйОбъект(Контекст) Экспорт + + Возврат ЮТТестовыеДанныеВызовСервера.НовыйОбъект(Контекст.Менеджер, Контекст.Данные, Контекст.ДополнительныеСвойства); + +КонецФункции + +Функция Провести(Контекст, ВернутьОбъект = Ложь) Экспорт + + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства; + ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение; + + Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект); + + ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка); + + Возврат Ссылка; + +КонецФункции + +Функция ДанныеСтроки(Контекст) Экспорт + + Если ПустаяСтрока(Контекст.ТекущаяТабличнаяЧасть) Тогда + Возврат Неопределено; + КонецЕсли; + + ДанныеТабличнойЧасти = ДанныеТабличнойЧасти(Контекст); + + Если ДанныеТабличнойЧасти.Количество() Тогда + Возврат ДанныеТабличнойЧасти[ДанныеТабличнойЧасти.ВГраница()]; + Иначе + ВызватьИсключение "Сначала необходимо добавить строку табличной части"; + КонецЕсли; + +КонецФункции + +Функция ДанныеОбъекта(Контекст) Экспорт + + Возврат Контекст.Данные; + +КонецФункции + +// Инициализирует конструктор тестовых данных +// +// Параметры: +// Менеджер - Строка - Имя менеджера. Примеры: Справочники.Товары, Документы.ПриходТоваров +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТКонструкторТестовыхДанных +Функция Инициализировать(Менеджер) Экспорт + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда + Конструктор = Обработки.ЮТКонструкторТестовыхДанных.Создать(); +#Иначе + Конструктор = ПолучитьФорму("Обработка.ЮТКонструкторТестовыхДанных.Форма.КлиентскийКонструктор"); // BSLLS:GetFormMethod-off +#КонецЕсли + + Конструктор.Инициализировать(Менеджер); + + Возврат Конструктор; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +// Новый контекст конструктора. +// +// Параметры: +// Менеджер - Произвольный +// +// Возвращаемое значение: +// Структура - Новый контекст конструктора: +// * Менеджер - Произвольный +// * Данные - Структура +// * Метаданные - см. ЮТМетаданные.ОписаниеОбъектМетаданных +// * ТекущаяТабличнаяЧасть - Строка +// * ДополнительныеСвойства - Структура +Функция НовыйКонтекстКонструктора(Менеджер) Экспорт + + Контекст = Новый Структура("Менеджер, Данные, Метаданные", Менеджер, Новый Структура()); + Контекст.Вставить("Менеджер", Менеджер); + Контекст.Вставить("Данные", Новый Структура()); + Контекст.Вставить("Метаданные", ЮТМетаданные.ОписаниеОбъектМетаданных(Менеджер)); + Контекст.Вставить("ТекущаяТабличнаяЧасть", ""); + Контекст.Вставить("ДополнительныеСвойства", Новый Структура()); + + Возврат Контекст; + +КонецФункции + +Функция ДанныеТабличнойЧасти(Контекст) + + Возврат Контекст.Данные[Контекст.ТекущаяТабличнаяЧасть]; + +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" similarity index 83% rename from "exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.mdo" rename to "exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" index 8e2e487f7..59e73342f 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.mdo" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" @@ -1,6 +1,6 @@ - ЮТКонструкторТестовыхДанных + ЮТКонструкторТестовыхДанныхСлужебный ru Конструктор тестовых данных diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" index f10639a6e..2cad98424 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202/Module.bsl" @@ -22,10 +22,13 @@ // Выполняет начальную настройку для работы с хранимым контекстом Процедура ИнициализироватьКонтекст() Экспорт -#Если Клиент Тогда +#Если НЕ Клиент Тогда + ВызватьИсключение "Метод `ИнициализироватьКонтекст` должен вызываться только с клиента"; +#Иначе ЮТКонтекстКлиент.ИнициализироватьКонтекст(); -#КонецЕсли ЮТКонтекстСервер.ИнициализироватьКонтекст(); + ОбновитьПовторноИспользуемыеЗначения(); +#КонецЕсли КонецПроцедуры @@ -201,6 +204,38 @@ КонецФункции +// Контекст исполнения текущего уровня. +// +// Возвращаемое значение: +// - Неопределено +// - См. ЮТФабрика.ОписаниеТестовогоМодуля +// - См. ЮТФабрика.ОписаниеИсполняемогоНабораТестов +// - См. ЮТФабрика.ОписаниеИсполняемогоТеста +Функция КонтекстИсполненияТекущегоУровня() Экспорт + + Уровни = ЮТФабрика.УровниИсполнения(); + КонтекстИсполнения = КонтекстИсполнения(); + + Если КонтекстИсполнения.Уровень = Уровни.Модуль Тогда + + Возврат КонтекстИсполнения.Модуль; + + ИначеЕсли КонтекстИсполнения.Уровень = Уровни.НаборТестов Тогда + + Возврат КонтекстИсполнения.Набор; + + ИначеЕсли КонтекстИсполнения.Уровень = Уровни.Тест Тогда + + Возврат КонтекстИсполнения.Тест; + + Иначе + + Возврат Неопределено; + + КонецЕсли; + +КонецФункции + Функция ОписаниеКонтекста() Экспорт Описание = Новый Структура; @@ -222,21 +257,21 @@ КонецПроцедуры -Процедура УстановитьКонтекстНабораТестов(Знач ДанныеКонтекста) Экспорт +Процедура УстановитьКонтекстНабораТестов() Экспорт - УстановитьЗначениеКонтекста(ИмяКонтекстаНабораТестов(), ДанныеКонтекста); + УстановитьЗначениеКонтекста(ИмяКонтекстаНабораТестов(), Новый Структура); КонецПроцедуры -Процедура УстановитьКонтекстМодуля(Знач ДанныеКонтекста) Экспорт +Процедура УстановитьКонтекстМодуля() Экспорт - УстановитьЗначениеКонтекста(ИмяКонтекстаМодуля(), ДанныеКонтекста); + УстановитьЗначениеКонтекста(ИмяКонтекстаМодуля(), Новый Структура); КонецПроцедуры -Процедура УстановитьКонтекстТеста(Знач ДанныеКонтекста) Экспорт +Процедура УстановитьКонтекстТеста() Экспорт - УстановитьЗначениеКонтекста(ИмяКонтекстаТеста(), ДанныеКонтекста); + УстановитьЗначениеКонтекста(ИмяКонтекстаТеста(), Новый Структура); КонецПроцедуры diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 02fce1f48..cc5ed3433 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -21,11 +21,11 @@ Процедура ИнициализироватьКонтекст() Экспорт Контекст = ЮТКонтекст.ОписаниеКонтекста(); - АдресХранилища = ПоместитьВоВременноеХранилище(Контекст, Новый УникальныйИдентификатор()); - ХранилищеОбщихНастроек.Сохранить(КлючНастроекКонтекста(), "АдресХранилища", АдресХранилища); + ОбновитьПовторноИспользуемыеЗначения(); + КонецПроцедуры Функция ДанныеКонтекста() Экспорт diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\242\320\265\321\201\321\202\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\242\320\265\321\201\321\202\320\260/Module.bsl" index 50d84ee2d..c447efb9e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\242\320\265\321\201\321\202\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\202\320\265\320\272\321\201\321\202\320\242\320\265\321\201\321\202\320\260/Module.bsl" @@ -30,19 +30,26 @@ Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень; Уровни = ЮТФабрика.УровниИсполнения(); - Если Уровень = Уровни.Тест И ЮТКонтекст.КонтекстТеста().Свойство(ИмяЗначения) Тогда + КонтекстТеста = ЮТКонтекст.КонтекстТеста(); + Если Уровень = Уровни.Тест И КонтекстТеста <> Неопределено И КонтекстТеста.Свойство(ИмяЗначения) Тогда - Возврат ЮТКонтекст.КонтекстТеста()[ИмяЗначения]; + Возврат КонтекстТеста[ИмяЗначения]; - ИначеЕсли (Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов) - И ЮТКонтекст.КонтекстНабора().Свойство(ИмяЗначения) Тогда + КонецЕсли; + + КонтекстНабора = ЮТКонтекст.КонтекстНабора(); + Если (Уровень = Уровни.НаборТестов ИЛИ Уровень = Уровни.Тест) + И КонтекстНабора <> Неопределено И КонтекстНабора.Свойство(ИмяЗначения) Тогда - Возврат ЮТКонтекст.КонтекстНабора()[ИмяЗначения]; + Возврат КонтекстНабора[ИмяЗначения]; - ИначеЕсли (Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов ИЛИ Уровень = Уровни.Модуль) - И ЮТКонтекст.КонтекстМодуля().Свойство(ИмяЗначения) Тогда + КонецЕсли; + + КонтекстМодуля = ЮТКонтекст.КонтекстМодуля(); + Если (Уровень = Уровни.Модуль ИЛИ Уровень = Уровни.Тест ИЛИ Уровень = Уровни.НаборТестов) + И КонтекстМодуля <> Неопределено И КонтекстМодуля.Свойство(ИмяЗначения) Тогда - Возврат ЮТКонтекст.КонтекстМодуля()[ИмяЗначения]; + Возврат КонтекстМодуля[ИмяЗначения]; Иначе @@ -63,20 +70,53 @@ Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень; Уровни = ЮТФабрика.УровниИсполнения(); + Контекст = ТекущийКонтекст(); + + Если Контекст = Неопределено Тогда + + Если Уровень = Уровни.Тест Тогда + ЮТКонтекст.УстановитьКонтекстТеста(); + ИначеЕсли Уровень = Уровни.НаборТестов Тогда + ЮТКонтекст.УстановитьКонтекстНабораТестов(); + ИначеЕсли Уровень = Уровни.Модуль Тогда + ЮТКонтекст.УстановитьКонтекстМодуля(); + Иначе + ВызватьИсключение СтрШаблон("Неизвестный уровень исполнения `%1`", Уровень); + КонецЕсли; + + Контекст = ТекущийКонтекст(); + + КонецЕсли; + + Контекст.Вставить(ИмяЗначения, Значение); + +КонецПроцедуры + +Функция ТекущийКонтекст() Экспорт + + Уровень = ЮТКонтекст.КонтекстИсполнения().Уровень; + Уровни = ЮТФабрика.УровниИсполнения(); + Если Уровень = Уровни.Тест Тогда - ЮТКонтекст.КонтекстТеста().Вставить(ИмяЗначения, Значение); + Контекст = ЮТКонтекст.КонтекстТеста(); ИначеЕсли Уровень = Уровни.НаборТестов Тогда - - ЮТКонтекст.КонтекстНабора().Вставить(ИмяЗначения, Значение); + + Контекст = ЮТКонтекст.КонтекстНабора(); ИначеЕсли Уровень = Уровни.Модуль Тогда - - ЮТКонтекст.КонтекстМодуля().Вставить(ИмяЗначения, Значение); + + Контекст = ЮТКонтекст.КонтекстМодуля(); + + Иначе + + Контекст = Неопределено; КонецЕсли; -КонецПроцедуры + Возврат Контекст; + +КонецФункции #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index c6ddd359d..edce53984 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -110,66 +110,44 @@ КонецФункции -Функция ОписаниеОбъектМетаданных(Знач Значение) Экспорт +Функция ОписаниеОбъектМетаданных(Знач Значение, ЗаполнятьРеквизиты = Истина) Экспорт - ТипЗначение = ТипЗнч(Значение); - - Если ТипЗначение = Тип("Тип") Тогда - - МетаданныеОбъекта = Метаданные.НайтиПоТипу(Значение); - ОписаниеТипа = ОписаниеТипаМетаданных(МетаданныеОбъекта); - - ИначеЕсли ТипЗначение = Тип("ОбъектМетаданных") Тогда - - МетаданныеОбъекта = Значение; - ОписаниеТипа = ОписаниеТипаМетаданных(МетаданныеОбъекта); - - ИначеЕсли ТипЗначение = Тип("Строка") Тогда - - ЧастиСтроки = СтрРазделить(Значение, "."); - Если ЧастиСтроки.Количество() = 2 Тогда - ТипыМетаданных = ЮТМетаданные.ТипыМетаданных(); - ОписаниеТипа = ТипыМетаданных[ЧастиСтроки[0]]; - Если ОписаниеТипа <> Неопределено Тогда - МетаданныеОбъекта = Метаданные[ОписаниеТипа.ИмяКоллекции][ЧастиСтроки[1]]; - КонецЕсли; - КонецЕсли; - - КонецЕсли; - - Если МетаданныеОбъекта = Неопределено ИЛИ ОписаниеТипа = Неопределено Тогда - Сообщение = СтрШаблон("Не удалось получить описание метаданных для `%1` (%2)", Значение, ТипЗначение); - ВызватьИсключение Сообщение; - КонецЕсли; + МетаданныеОбъекта = ОбъектМетаданных(Значение); + ОписаниеТипа = ОписаниеТипаМетаданных(МетаданныеОбъекта); ОписаниеОбъект = Новый Структура; + ОписаниеОбъект.Вставить("Имя", МетаданныеОбъекта.Имя); ОписаниеОбъект.Вставить("ОписаниеТипа", ОписаниеТипа); ОписаниеОбъект.Вставить("Реквизиты", Новый Структура()); ОписаниеОбъект.Вставить("ТабличныеЧасти", Новый Структура()); - ДобавитьОписанияРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, ОписаниеОбъект.Реквизиты); + Если НЕ ЗаполнятьРеквизиты Тогда + Возврат ОписаниеОбъект; + КонецЕсли; + + ДобавитьОписанияРеквизитов(МетаданныеОбъекта.СтандартныеРеквизиты, ОписаниеОбъект.Реквизиты, "Ссылка, Период"); Если ОписаниеТипа.Измерения Тогда - ДобавитьОписанияРеквизитов(МетаданныеОбъекта.Измерения, ОписаниеОбъект.Реквизиты); + ДобавитьОписанияРеквизитов(МетаданныеОбъекта.Измерения, ОписаниеОбъект.Реквизиты, Истина); КонецЕсли; Если ОписаниеТипа.Реквизиты Тогда - ДобавитьОписанияРеквизитов(МетаданныеОбъекта.Реквизиты, ОписаниеОбъект.Реквизиты); + ДобавитьОписанияРеквизитов(МетаданныеОбъекта.Реквизиты, ОписаниеОбъект.Реквизиты, Ложь); КонецЕсли; Если ОписаниеТипа.Ресурсы Тогда - ДобавитьОписанияРеквизитов(МетаданныеОбъекта.Ресурсы, ОписаниеОбъект.Реквизиты); + ДобавитьОписанияРеквизитов(МетаданныеОбъекта.Ресурсы, ОписаниеОбъект.Реквизиты, Ложь); КонецЕсли; Если ОписаниеТипа.РеквизитыАдресации Тогда - ДобавитьОписанияРеквизитов(МетаданныеОбъекта.РеквизитыАдресации, ОписаниеОбъект.Реквизиты); + ДобавитьОписанияРеквизитов(МетаданныеОбъекта.РеквизитыАдресации, ОписаниеОбъект.Реквизиты, Ложь); КонецЕсли; Если ОписаниеТипа.ТабличныеЧасти Тогда Для Каждого ТабличнаяЧасть Из МетаданныеОбъекта.ТабличныеЧасти Цикл РеквизитыТабличнойЧасти = Новый Структура(); - ДобавитьОписанияРеквизитов(ТабличнаяЧасть.Реквизиты, РеквизитыТабличнойЧасти); + ДобавитьОписанияРеквизитов(ТабличнаяЧасть.Реквизиты, РеквизитыТабличнойЧасти, Ложь); ОписаниеОбъект.ТабличныеЧасти.Вставить(ТабличнаяЧасть.Имя, РеквизитыТабличнойЧасти); КонецЦикла; @@ -245,22 +223,69 @@ #Область СлужебныеПроцедурыИФункции -Процедура ДобавитьОписанияРеквизитов(КоллекцияРеквизитов, КоллекцияОписаний) +Функция ОбъектМетаданных(Значение) + + ТипЗначение = ТипЗнч(Значение); + + Если ТипЗначение = Тип("Тип") Тогда + + ОбъектМетаданных = Метаданные.НайтиПоТипу(Значение); + + ИначеЕсли ТипЗначение = Тип("ОбъектМетаданных") Тогда + + ОбъектМетаданных = Значение; + + ИначеЕсли ТипЗначение = Тип("Строка") Тогда + + ЧастиСтроки = СтрРазделить(Значение, "."); + Если ЧастиСтроки.Количество() = 2 Тогда + ТипыМетаданных = ЮТМетаданные.ТипыМетаданных(); + ОписаниеТипа = ТипыМетаданных[ЧастиСтроки[0]]; + Если ОписаниеТипа <> Неопределено Тогда + ОбъектМетаданных = Метаданные[ОписаниеТипа.ИмяКоллекции][ЧастиСтроки[1]]; + КонецЕсли; + КонецЕсли; + + Иначе + + ОбъектМетаданных = Неопределено; + + КонецЕсли; + + Если ОбъектМетаданных = Неопределено Тогда + Сообщение = ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТМетаданныеСервер.ОбъектМетаданных", Значение); + ВызватьИсключение Сообщение; + КонецЕсли; + + Возврат ОбъектМетаданных; + +КонецФункции + +Процедура ДобавитьОписанияРеквизитов(КоллекцияРеквизитов, КоллекцияОписаний, Знач ЭтоКлюч) + + Если ТипЗнч(ЭтоКлюч) = Тип("Строка") Тогда + ИменаКлючевыхПолей = СтрРазделить(ЭтоКлюч, ", "); + КонецЕсли; Для Каждого Реквизит Из КоллекцияРеквизитов Цикл - КоллекцияОписаний.Вставить(Реквизит.Имя, ОписаниеРеквизита(Реквизит)); + Если ИменаКлючевыхПолей <> Неопределено Тогда + ЭтоКлюч = ИменаКлючевыхПолей.Найти(Реквизит.Имя) <> Неопределено; + КонецЕсли; + + КоллекцияОписаний.Вставить(Реквизит.Имя, ОписаниеРеквизита(Реквизит, ЭтоКлюч)); КонецЦикла; КонецПроцедуры -Функция ОписаниеРеквизита(Реквизит) Экспорт +Функция ОписаниеРеквизита(Реквизит, ЭтоКлюч) Экспорт Описание = Новый Структура(); Описание.Вставить("Имя", Реквизит.Имя); Описание.Вставить("Тип", Реквизит.Тип); Описание.Вставить("Обязательный", Реквизит.ПроверкаЗаполнения = ПроверкаЗаполнения.ВыдаватьОшибку); + Описание.Вставить("ЭтоКлюч", ЭтоКлюч); Возврат Описание; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Module.bsl" index 0006346e2..5a4087e9b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Module.bsl" @@ -18,17 +18,67 @@ #Область СлужебныйПрограммныйИнтерфейс -Функция ЗначениеНастройкиТеста(ИмяНастройки, ОписаниеТеста, ОписаниеТестовогоНабора, ЗначениеПоУмолчанию) Экспорт +Функция ВТранзакции() Экспорт + + ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции; + + Возврат ЗначениеНастройкиТеста(ИмяПараметра, Ложь); + +КонецФункции + +Функция УдалениеТестовыхДанных() Экспорт + + ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().УдалениеТестовыхДанных; + + Возврат ЗначениеНастройкиТеста(ИмяПараметра, Ложь); + +КонецФункции + +Функция Перед() Экспорт + + ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().Перед; + + Возврат ЗначениеНастройкиТеста(ИмяПараметра, "", Истина); + +КонецФункции + +Функция После() Экспорт + + ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().После; + + Возврат ЗначениеНастройкиТеста(ИмяПараметра, "", Истина); + +КонецФункции + +Функция ЗначениеНастройкиТеста(ИмяНастройки, ЗначениеПоУмолчанию, СтрогийУровеньИсполнения = Ложь) Экспорт Значение = ЗначениеПоУмолчанию; + КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения(); - Если ОписаниеТеста.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда - Значение = ОписаниеТеста.НастройкиВыполнения[ИмяНастройки]; - ИначеЕсли ОписаниеТестовогоНабора.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда - Значение = ОписаниеТестовогоНабора.НастройкиВыполнения[ИмяНастройки]; + Если СтрогийУровеньИсполнения Тогда + + ТекущийКонтекстИсполнения = ЮТКонтекст.КонтекстИсполненияТекущегоУровня(); + + Если ТекущийКонтекстИсполнения <> Неопределено Тогда + Значение = ЮТОбщий.ЗначениеСтруктуры(ТекущийКонтекстИсполнения.НастройкиВыполнения, ИмяНастройки, ЗначениеПоУмолчанию); + КонецЕсли; + + ИначеЕсли КонтекстИсполнения.Тест <> Неопределено И КонтекстИсполнения.Тест.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда + + Значение = КонтекстИсполнения.Тест.НастройкиВыполнения[ИмяНастройки]; + + ИначеЕсли КонтекстИсполнения.Набор <> Неопределено И КонтекстИсполнения.Набор.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда + + Значение = КонтекстИсполнения.Набор.НастройкиВыполнения[ИмяНастройки]; + + ИначеЕсли КонтекстИсполнения.Модуль <> Неопределено И КонтекстИсполнения.Модуль.НастройкиВыполнения.Свойство(ИмяНастройки) Тогда + + Значение = КонтекстИсполнения.Модуль.НастройкиВыполнения[ИмяНастройки]; + Иначе ГлобальныеНастройки = ЮТКонтекст.ГлобальныеНастройкиВыполнения(); + Если ГлобальныеНастройки.Свойство(ИмяНастройки) Тогда Значение = ГлобальныеНастройки[ИмяНастройки]; КонецЕсли; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" index 1d3754e9c..b36354853 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\236\320\261\321\211\320\270\320\271/Module.bsl" @@ -175,12 +175,11 @@ Функция ЗначениеСтруктуры(Знач ИсходнаяСтруктура, ИмяПоля, Знач ЗначениеПоУмолчанию = Неопределено, ПроверятьЗаполненность = Ложь) Экспорт Если ПустаяСтрока(ИмяПоля) Тогда - Возврат ЗначениеПоУмолчанию; - КонецЕсли; ЗначениеПоля = Неопределено; + Если ИсходнаяСтруктура.Свойство(ИмяПоля, ЗначениеПоля) Тогда Если ПроверятьЗаполненность И ЗначениеЗаполнено(ЗначениеПоля) Или Не ПроверятьЗаполненность Тогда Возврат ЗначениеПоля; @@ -726,7 +725,7 @@ Функция МетодНеДоступен(ИмяМетода, ИмяКонтекста = "веб-клиенте") Экспорт - Возврат СтрШаблон("Метод `%1` не доступен в %2"); + Возврат СтрШаблон("Метод `%1` не доступен в %2", ИмяМетода, ИмяКонтекста); КонецФункции @@ -790,6 +789,12 @@ КонецПроцедуры +Функция НеподдерживаемыйПараметрМетода(ИмяМетода, ЗначениеПараметра) Экспорт + + Возврат СтрШаблон("Неподдерживаемый параметры метода `%1` `%2`(%3)", ИмяМетода, ЗначениеПараметра, ТипЗнч(ЗначениеПараметра)); + +КонецФункции + Функция УстановленБезопасныйРежим() Экспорт Возврат ЮТОбщийВызовСервера.УстановленБезопасныйРежим(); @@ -824,6 +829,18 @@ КонецФункции +Функция ТипСтруктуры(Структура) Экспорт + + Возврат ЗначениеСтруктуры(Структура, "__type__"); + +КонецФункции + +Процедура УказатьТипСтруктуры(Структура, ИмяТипа) Экспорт + + Структура.Вставить("__type__", ИмяТипа); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" new file mode 100644 index 000000000..16e7e418f --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Module.bsl" @@ -0,0 +1,55 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +// @strict-types + +#Область ПрограммныйИнтерфейс + +// Локализация. +// +// Возвращаемое значение: +// Строка - Возвращает текущую установленную локализацию +Функция Локализация() Экспорт + Возврат ЮТПодражательСлужебный.Контекст().Локализация; +КонецФункции + +// Устанавливает локализацию подражателя +// В дальнейшем используется для получения списка словарей с указанной локализацией +// Параметры: +// КодЯзыка - Строка - Код языка +Процедура УстановитьЛокализацию(КодЯзыка) Экспорт + ЮТПодражательСлужебный.Контекст().Локализация = КодЯзыка; +КонецПроцедуры + +#Область Реализации + +Функция Люди() Экспорт + Возврат ЮТПодражатель_Люди; +КонецФункции + +Функция Компании() Экспорт + Возврат ЮТПодражатель_Компании; +КонецФункции + +Функция Банки() Экспорт + Возврат ЮТПодражатель_Банки; +КонецФункции + +#КонецОбласти + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" new file mode 100644 index 000000000..d7b152061 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" @@ -0,0 +1,11 @@ + + + ЮТПодражатель + + ru + Подражатель + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" new file mode 100644 index 000000000..ba3497283 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" @@ -0,0 +1,89 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область ПрограммныйИнтерфейс + +// Возвращает случайный номер банковского счета, по умолчанию +// Подробности алгоритма можно прочитать по ссылке +// http://keysystems.ru/files/fo/arm_budjet/show_docum/BKS/onlinehelphtm/ro_kr_algor_klyuch_rs.htm +// Параметры: +// БИК - Строка - БИК банка +// КодВалюты - Строка - Код валюты +// ЮрЛицо - Булево - Генерация счета юрлица, иначе физ лица +// +// Возвращаемое значение: +// Строка - Номер счета +Функция НомерСчета(БИК, КодВалюты = "810", ЮрЛицо = Истина) Экспорт + + Если СтрДлина(КодВалюты) <> 3 Тогда + ВызватьИсключение "Длина кода валюты должна быть равна 3"; + КонецЕсли; + + БалансовыйСчет = ?(ЮрЛицо, "40702", "40802"); + НомерСчетаВБанке = ЮТТестовыеДанные.СлучайнаяСтрока(11, , "0123456789"); + + ЧислоДляРасчетаКонтрольнойСуммы = Прав(БИК, 3) + БалансовыйСчет + КодВалюты + "0" + НомерСчетаВБанке; + Весы = ВесовыеКоэффициентаДляРасчетаКонтрольнойСуммыСчета(); + + КонтрольнаяСумма = 0; + Для Индекс = 0 По 22 Цикл + КонтрольнаяСумма = + КонтрольнаяСумма + + Число(Сред(ЧислоДляРасчетаКонтрольнойСуммы, Индекс + 1, 1)) * Число(Весы.Получить(Индекс)) + ; + КонецЦикла; + + КонтрольноеЧисло = ((КонтрольнаяСумма % 10) * 3) % 10; + + Возврат СтрШаблон( + "%1%2%3%4", + БалансовыйСчет, + КодВалюты, + КонтрольноеЧисло, + НомерСчетаВБанке + ); + +КонецФункции + +// Формирует случайный валидный БИК банка +// +// Возвращаемое значение: +// Строка - БИК +Функция БИК() Экспорт + Возврат СтрШаблон( + "%1%2%3%4", + "04", // код страны + ЮТТестовыеДанные.СлучайнаяСтрока(2, , "0123456789"), // ОКАТО код территории + ЮТТестовыеДанные.СлучайнаяСтрока(2, , "0123456789"), // код подразделение расчетной сети ЦБ + Формат(ЮТТестовыеДанные.СлучайноеЧисло(50, 999), "ЧЦ=3; ЧВН=;") // номер кредитной организации + ); +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ИмяРеализации() + Возврат "Банки"; +КонецФункции + +Функция ВесовыеКоэффициентаДляРасчетаКонтрольнойСуммыСчета() + Возврат СтрРазделить("7,1,3,7,1,3,7,1,3,7,1,3,7,1,3,7,1,3,7,1,3,7,1", ","); +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270.mdo" new file mode 100644 index 000000000..ad062e6d2 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270.mdo" @@ -0,0 +1,11 @@ + + + ЮТПодражатель_Банки + + ru + Подражатель реализация люди клиент сервер + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" new file mode 100644 index 000000000..1898f0171 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" @@ -0,0 +1,150 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область ПрограммныйИнтерфейс + +// Возвращает случайное имя компании +// +// Возвращаемое значение: +// Строка +Функция Наименование() Экспорт + + СловарьИмен = СловарьИменаКомпаний(); + СловарьПрефиксов = СловарьПрефиксыИменКомпаний(); + + Возврат СтрШаблон( + "%1 %2", + ЮТПодражательСлужебный.СлучайноеЗначениеИзСловаря(СловарьПрефиксов), + ЮТПодражательСлужебный.СлучайноеЗначениеИзСловаря(СловарьИмен) + ); + +КонецФункции + +// Формирует случайный валидный ИНН РФ. +// +// Параметры: +// КодРегиона - Строка - Код региона это первые две цифры кода ИНН. Список действующих кодов регионов +// можно подсмотреть: https://www.nalog.gov.ru/html/docs/kods_regions.doc . Если код региона задан +// как "00" то будет сформирован случайный код региона. По умолчанию "00" (случайный код региона) +// ЭтоИННФизическогоЛица - Булево - Если Истина, то это ИНН физического лица, иначе ИНН юридического +// лица. По умолчанию Ложь (ИНН юридического лица) +// +// Возвращаемое значение: +// Строка - Случайный ИНН, например 3444140904 +Функция ИНН(КодРегиона = "00", ЭтоИННФизическогоЛица = Ложь) Экспорт + + СлучайныйИНН = ""; + + Если ЭтоИННФизическогоЛица Тогда + ИННМассив = Новый Массив(12); + ВесовыеКоэффициенты1 = СтрРазделить("7, 2, 4, 10, 3, 5, 9, 4, 6, 8", ","); + ВесовыеКоэффициенты2 = СтрРазделить("3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8", ","); + Иначе + ИННМассив = Новый Массив(10); + ВесовыеКоэффициенты1 = СтрРазделить("2, 4, 10, 3, 5, 9, 4, 6, 8", ","); + ВесовыеКоэффициенты2 = Новый Массив; + КонецЕсли; + + Если КодРегиона = "00" Или СтрДлина(КодРегиона) <> 2 Тогда + ИННМассив.Установить(0, ЮТТестовыеДанные.СлучайноеЧисло(0, 9, 0)); + ИННМассив.Установить(1, ЮТТестовыеДанные.СлучайноеЧисло(0, 9, 0)); + Иначе + ИННМассив.Установить(0, Число(Сред(КодРегиона, 1, 1))); + ИННМассив.Установить(1, Число(Сред(КодРегиона, 2, 1))); + КонецЕсли; + + Для Индекс = 2 По ИННМассив.ВГраница() Цикл + ИННМассив.Установить(Индекс, ЮТТестовыеДанные.СлучайноеЧисло(0, 9, 0)); + КонецЦикла; + + Сумма1 = 0; + Для Индекс = 0 По ВесовыеКоэффициенты1.ВГраница() Цикл + Элемент = ИННМассив.Получить(Индекс) * Число(ВесовыеКоэффициенты1.Получить(Индекс)); + Сумма1 = Сумма1 + Элемент; + КонецЦикла; + ИННМассив.Установить(ВесовыеКоэффициенты1.Количество(), Сумма1 % 11 % 10); + + Если ВесовыеКоэффициенты2.Количество() <> 0 Тогда + Сумма2 = 0; + Для Индекс = 0 По ВесовыеКоэффициенты2.ВГраница() Цикл + Элемент = ИННМассив.Получить(Индекс) * Число(ВесовыеКоэффициенты2.Получить(Индекс)); + Сумма2 = Сумма2 + Элемент; + КонецЦикла; + ИННМассив.Установить(ВесовыеКоэффициенты2.Количество(), Сумма1 % 11 % 10); + КонецЕсли; + + СлучайныйИНН = СтрСоединить(ИННМассив); + + Возврат СлучайныйИНН; +КонецФункции + +// Формирует случайный валидный КПП РФ +// +// Параметры: +// КодНалоговогоОргана - Строка - Код налогового органа, первые четыре цифры КПП. +// Причина - Число - Причина постановки. Поддерживаются следующие варианты +// # 2 - код причины "43" постановка на учет филиала российской организации +// # любая другая цифра - код причины "01" постановка на учет российской организации +// по месту ее нахождения +// +// Возвращаемое значение: +// Строка - Случайный КПП, например 344401001 +Функция КПП(КодНалоговогоОргана = "0000", Причина = 1) Экспорт + + СлучайныйКПП = ""; + + Если ТипЗнч(Причина) = Тип("Число") И Причина = 2 Тогда + Код2 = "43"; + Иначе + Код2 = "01"; + КонецЕсли; + + Если ТипЗнч(КодНалоговогоОргана) = Тип("Строка") И СтрДлина(КодНалоговогоОргана) = 4 Тогда + Код1 = КодНалоговогоОргана; + Иначе + МассивКод1 = Новый Массив(4); + Для Индекс = 0 По МассивКод1.ВГраница() Цикл + МассивКод1.Установить(Индекс, ЮТТестовыеДанные.СлучайноеЧисло(0, 9, 0)); + КонецЦикла; + Код1 = СтрСоединить(МассивКод1); + КонецЕсли; + + Код3 = "00" + Строка(ЮТТестовыеДанные.СлучайноеЧисло(0, 9, 0)); + + СлучайныйКПП = СтрШаблон("%1%2%3", Код1, Код2, Код3); + + Возврат СлучайныйКПП; +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ИмяРеализации() + Возврат "Компании"; +КонецФункции + +Функция СловарьИменаКомпаний() + Возврат ЮТПодражательСлужебный.Словарь(ИмяРеализации(), "Наименования"); +КонецФункции + +Функция СловарьПрефиксыИменКомпаний() + Возврат ЮТПодражательСлужебный.Словарь(ИмяРеализации(), "ПрефиксыНаименований"); +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" new file mode 100644 index 000000000..ff74cbeff --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" @@ -0,0 +1,11 @@ + + + ЮТПодражатель_Компании + + ru + Подражатель реализация люди клиент сервер + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" new file mode 100644 index 000000000..670035af2 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" @@ -0,0 +1,197 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область ПрограммныйИнтерфейс + +// Возвращает случайное имя +// +// Параметры: +// Пол - Строка - см. ЮТПодражатель_Люди.ПолЧеловека +// +// Возвращаемое значение: +// Строка +Функция Имя(Пол = Неопределено) Экспорт + + ПолЧеловека = ОпределитьПолЧеловекаИзПараметра(Пол); + + Если ПолЧеловека = ПолЧеловека().Мужской Тогда + Словарь = СловарьМужскиеИмена(); + ИначеЕсли ПолЧеловека = ПолЧеловека().Женский Тогда + Словарь = СловарьЖенскиеИмена(); + КонецЕсли; + + Возврат ЮТПодражательСлужебный.СлучайноеЗначениеИзСловаря(Словарь); + +КонецФункции + +// Возвращает случайную фамилию +// +// Параметры: +// Пол - Строка - см. ЮТПодражатель_Люди.ПолЧеловека +// +// Возвращаемое значение: +// Строка +Функция Фамилия(Пол = Неопределено) Экспорт + + ПолЧеловека = ОпределитьПолЧеловекаИзПараметра(Пол); + + Если ПолЧеловека = ПолЧеловека().Мужской Тогда + Словарь = СловарьМужскиеФамилии(); + ИначеЕсли ПолЧеловека = ПолЧеловека().Женский Тогда + Словарь = СловарьЖенскиеФамилии(); + КонецЕсли; + + Возврат ЮТПодражательСлужебный.СлучайноеЗначениеИзСловаря(Словарь); + +КонецФункции + +// Возвращает случайное отчество +// +// Параметры: +// Пол - Строка - см. ЮТПодражатель_Люди.ПолЧеловека +// +// Возвращаемое значение: +// Строка +Функция Отчество(Пол = Неопределено) Экспорт + + ПолЧеловека = ОпределитьПолЧеловекаИзПараметра(Пол); + + Если ПолЧеловека = ПолЧеловека().Мужской Тогда + Словарь = СловарьМужскиеОтчества(); + ИначеЕсли ПолЧеловека = ПолЧеловека().Женский Тогда + Словарь = СловарьЖенскиеОтчества(); + КонецЕсли; + + Возврат ЮТПодражательСлужебный.СлучайноеЗначениеИзСловаря(Словарь); + +КонецФункции + +// Возвращает случайное отчество +// +// Параметры: +// Пол - Строка - см. ЮТПодражатель_Люди.ПолЧеловека +// +// Возвращаемое значение: +// Строка +Функция ФИО(Пол = Неопределено) Экспорт + + ПолЧеловека = ОпределитьПолЧеловекаИзПараметра(Пол); + + Возврат СтрШаблон( + "%1 %2 %3", + Фамилия(ПолЧеловека), + Имя(ПолЧеловека), + Отчество(ПолЧеловека) + ); + +КонецФункции + +// Формирует случаный ИНН физического лица +// +// Возвращаемое значение: +// Строка +Функция ИНН() Экспорт + Возврат ЮТТестовыеДанные.Подражатель().Компании().ИНН(, Истина); +КонецФункции + +// Формирует случаный СНИЛС. +// https://ru.wikipedia.org/wiki/Контрольное_число +// Возвращаемое значение: +// Строка +Функция СНИЛС() Экспорт + ЧастиСнилс = Новый Массив(); + ЧастиСнилс.Добавить(Формат(ЮТТестовыеДанные.СлучайноеЧисло(100, 999), "ЧЦ=3; ЧВН=;")); + ЧастиСнилс.Добавить(Формат(ЮТТестовыеДанные.СлучайноеЧисло(0, 999), "ЧЦ=3; ЧВН=;")); + ЧастиСнилс.Добавить(Формат(ЮТТестовыеДанные.СлучайноеЧисло(0, 999), "ЧЦ=3; ЧВН=;")); + + ИтогоСтрокой = СтрСоединить(ЧастиСнилс, ""); + ДлинаОсновнойЧасти = СтрДлина(ИтогоСтрокой); + Сумма = 0; + Для Итератор = 0 По 8 Цикл + Сумма = Сумма + (Число(Сред(ИтогоСтрокой, ДлинаОсновнойЧасти - Итератор, 1)) * (Итератор + 1)); + КонецЦикла; + + ОстатокОтДеления = Сумма % 101; + КонтрольноеЧисло = ?(ОстатокОтДеления = 100, 0, ОстатокОтДеления); + + Возврат СтрШаблон( + "%1-%2-%3 %4", + ЧастиСнилс[0], + ЧастиСнилс[1], + ЧастиСнилс[2], + Формат(КонтрольноеЧисло, "ЧЦ=2; ЧВН=;") + ); + +КонецФункции + +#Область ФабрикаПеречислений + +Функция ПолЧеловека() Экспорт + + Результат = Новый Структура(); + Результат.Вставить("Мужской", "Мужской"); + Результат.Вставить("Женский", "Женский"); + Возврат Новый ФиксированнаяСтруктура(Результат); + +КонецФункции + +#КонецОбласти + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ИмяРеализации() + Возврат "Люди"; +КонецФункции + +Функция СловарьЖенскиеИмена() + Возврат ЮТПодражательСлужебный.Словарь(ИмяРеализации(), "ЖенскиеИмена"); +КонецФункции +Функция СловарьЖенскиеФамилии() + Возврат ЮТПодражательСлужебный.Словарь(ИмяРеализации(), "ЖенскиеФамилии"); +КонецФункции +Функция СловарьЖенскиеОтчества() + Возврат ЮТПодражательСлужебный.Словарь(ИмяРеализации(), "ЖенскиеОтчества"); +КонецФункции + +Функция СловарьМужскиеИмена() + Возврат ЮТПодражательСлужебный.Словарь(ИмяРеализации(), "МужскиеИмена"); +КонецФункции +Функция СловарьМужскиеФамилии() + Возврат ЮТПодражательСлужебный.Словарь(ИмяРеализации(), "МужскиеФамилии"); +КонецФункции +Функция СловарьМужскиеОтчества() + Возврат ЮТПодражательСлужебный.Словарь(ИмяРеализации(), "МужскиеОтчества"); +КонецФункции + +Функция ОпределитьПолЧеловекаИзПараметра(Пол) + + Если Пол <> Неопределено Тогда + Если Не ПолЧеловека().Свойство(Пол) Тогда + ВызватьИсключение СтрШаблон("Отсутствует реализация словаря для пола: %1", Пол); + КонецЕсли; + Возврат Пол; + КонецЕсли; + + Варианты = ЮТОбщий.ВыгрузитьЗначения(ПолЧеловека(), "Значение"); + + Возврат ЮТТестовыеДанные.СлучайноеЗначениеИзСписка(Варианты); +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270.mdo" new file mode 100644 index 000000000..bd39237b6 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270.mdo" @@ -0,0 +1,11 @@ + + + ЮТПодражатель_Люди + + ru + Подражатель реализация люди клиент сервер + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" new file mode 100644 index 000000000..60df19d86 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -0,0 +1,42 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +// Данные словаря. +// +// Параметры: +// Кодификатор - Строка - Имя словаря в метаданных +// +// Возвращаемое значение: +// ФиксированныйМассив из Строка +Функция ДанныеСловаря(Кодификатор) Экспорт + Если Метаданные.ОбщиеМакеты.Найти(Кодификатор) = Неопределено Тогда + ВызватьИсключение СтрШаблон("Словарь с именем (%1) не найден", Кодификатор); + КонецЕсли; + + Макет = ПолучитьОбщийМакет(Кодификатор); + Возврат СтрРазделить(Макет.ПолучитьТекст(), Символы.ПС, Ложь); + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" new file mode 100644 index 000000000..69798e1ec --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" @@ -0,0 +1,10 @@ + + + ЮТПодражательВызовСервера + + ru + Подражатель вызов сервера + + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" new file mode 100644 index 000000000..82baa8bea --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Module.bsl" @@ -0,0 +1,51 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +// @strict-types + + +#Область СлужебныйПрограммныйИнтерфейс + +// Получает список из словаря с учетом установленной локализации +// +// Параметры: +// ИмяРеализации - Строка - Имя реализации +// ИмяСловаря - Строка - Имя словаря +// КодЛокализации - Строка - Код локализации +// +// Возвращаемое значение: +// ФиксированныйМассив из Строка +Функция Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации) Экспорт + Кодификатор = КодификаторСловаря(ИмяРеализации, ИмяСловаря, КодЛокализации); + Возврат Новый ФиксированныйМассив(ЮТПодражательВызовСервера.ДанныеСловаря(Кодификатор)); +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция КодификаторСловаря(ИмяРеализации, ИмяСловаря, КодЛокализации) + Возврат СтрШаблон( + "ЮТ_СловарьПодражателя_%1_%2_%3", + ИмяРеализации, + ИмяСловаря, + КодЛокализации + ); +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277.mdo" new file mode 100644 index 000000000..58d6d844b --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\237\320\276\320\262\321\202\320\230\321\201\320\277.mdo" @@ -0,0 +1,13 @@ + + + ЮТПодражательПовтИсп + + ru + Подражатель повт исп + + true + true + true + true + DuringSession + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" new file mode 100644 index 000000000..a4a014eca --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -0,0 +1,91 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +// Получает список из словаря с учетом установленной локализации +// +// Параметры: +// ИмяРеализации - Строка - Имя реализации +// ИмяСловаря - Строка - Имя словаря +// КодЛокализации - Строка - Код локализации, по умолчанию берется из контекста +// +// Возвращаемое значение: +// ФиксированныйМассив из Строка +Функция Словарь(ИмяРеализации, ИмяСловаря, КодЛокализации = Неопределено) Экспорт + _КодЛокализации = ?(КодЛокализации = Неопределено, ЮТПодражатель.Локализация(), КодЛокализации); + Возврат ЮТПодражательПовтИсп.Словарь(ИмяРеализации, ИмяСловаря, _КодЛокализации); +КонецФункции + +// Случайное значение из словаря. +// +// Параметры: +// Словарь - Массив из Строка - Словарь +// +// Возвращаемое значение: +// - Строка +Функция СлучайноеЗначениеИзСловаря(Словарь) Экспорт + Возврат Словарь.Получить(ЮТТестовыеДанные.СлучайноеЧисло(0, Словарь.ВГраница())); +КонецФункции + +// Контекст. +// +// Возвращаемое значение: +// см. НовыйКонтекст +Функция Контекст() Экспорт + //@skip-check constructor-function-return-section + Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()); +КонецФункции + +// Инициализирует подражатель +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция Инициализировать() Экспорт + Если Контекст() = Неопределено Тогда + ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), НовыйКонтекст()); + КонецЕсли; + Возврат ЮТПодражатель; +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция КлючКонтекста() + Возврат "Подражатель"; +КонецФункции + +// Новый контекст. +// +// Возвращаемое значение: +// Структура - Новый контекст: +// * Локализация - Строка - Установленная локализация +Функция НовыйКонтекст() + + Описание = Новый Структура; + #Если Клиент Тогда + Описание.Вставить("Локализация", ТекущийЯзык()); + #Иначе + Описание.Вставить("Локализация", ТекущийЯзык().КодЯзыка); + #КонецЕсли + Возврат Описание; + +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" new file mode 100644 index 000000000..2dede5814 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271.mdo" @@ -0,0 +1,11 @@ + + + ЮТПодражательСлужебный + + ru + Подражатель служебный + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 2457a174c..50de087d1 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -64,11 +64,11 @@ ТипПараметра = ТипЗнч(Предикаты); - Если ТипПараметра = Тип("ОбщийМодуль") И Предикаты = ЮТПредикаты Тогда + Если ЭтоПредикатОбщийМодуль(ТипПараметра, Предикаты) Тогда Результат = ЮТПредикаты.Получить(); - ИначеЕсли ТипПараметра = Тип("Массив") Тогда + ИначеЕсли ЭтоПредикатМассив(ТипПараметра, Предикаты) Тогда Результат = Предикаты; - ИначеЕсли ТипПараметра = Тип("Структура") Тогда + ИначеЕсли ЭтоПредикатСтруктура(ТипПараметра, Предикаты) Тогда Результат = ЮТОбщий.ЗначениеВМассиве(Предикаты); Иначе ВызватьИсключение "Некорректный параметр метода `ЮТПредикатыКлиентСервер.НаборПредикатов`"; @@ -78,24 +78,41 @@ КонецФункции -Функция ПредставлениеПредикатов(Знач Предикаты, Разделитель) Экспорт +// Это предикат +// +// Параметры: +// Предикаты - Произвольный - значение, для которого будет определено является ли оно предикатом или нет +// +// Возвращаемое значение: +// Булево +Функция ЭтоПредикат(Предикаты) Экспорт + + ТипПараметра = ТипЗнч(Предикаты); + + Возврат ЭтоПредикатОбщийМодуль(ТипПараметра, Предикаты) + Или ЭтоПредикатМассив(ТипПараметра, Предикаты) + Или ЭтоПредикатСтруктура(ТипПараметра, Предикаты); + +КонецФункции + +Функция ПредставлениеПредикатов(Знач Предикаты, Разделитель, ШаблонСвойства = "содержит свойство `%1`, которое") Экспорт Представления = Новый Массив(); Предикаты = НаборПредикатов(Предикаты); Для Каждого Выражение Из Предикаты Цикл - Представления.Добавить(ПредставлениеПредиката(Выражение)); + Представления.Добавить(ПредставлениеПредиката(Выражение, ШаблонСвойства)); КонецЦикла; Возврат СтрСоединить(Представления, Разделитель); КонецФункции -Функция ПредставлениеПредиката(ВыражениеПредиката) Экспорт +Функция ПредставлениеПредиката(ВыражениеПредиката, ШаблонСвойства) Экспорт Если ВыражениеПредиката.ИмяРеквизита = Неопределено Тогда ПроверяемоеЗначение = ""; Иначе - ПроверяемоеЗначение = СтрШаблон("содержит свойство `%1`, которое ", ВыражениеПредиката.ИмяРеквизита); + ПроверяемоеЗначение = СтрШаблон(ШаблонСвойства, ВыражениеПредиката.ИмяРеквизита) + " "; КонецЕсли; Выражение = СтрШаблон(ШаблонВыражения(ВыражениеПредиката.ВидСравнения), ВыражениеПредиката.Значение); @@ -146,14 +163,49 @@ КонецФункции +Функция ЭтоВыраженияОтрицания(Выражение) Экспорт + + Возврат СтрНачинаетсяС(Выражение, "Не"); + +КонецФункции + +Функция ВыраженияБезОтрицания(Выражение) Экспорт + + Возврат Сред(Выражение, 3); + +КонецФункции + +// Параметры сообщений об ошибке. +// +// Параметры: +// ОписаниеПроверки - Строка - Описание конкретной проверки +// ТекстПроверяемоеЗначение - Строка - Человекочитаемое описание проверяемого значения +// ПредставлениеПроверяемогоЗначения - Неопределено - Представление проверяемого значения +// +// Возвращаемое значение: +// Структура - Параметры сообщений об ошибке: +// * ОписаниеПроверки - Неопределено, Строка - Описание конкретной проверки +// * ТекстПроверяемоеЗначение - Неопределено, Строка - Человекочитаемое описание проверяемого значения +// * ПредставлениеПроверяемогоЗначения - Неопределено, Строка - +Функция ПараметрыСообщенийОбОшибке(ОписаниеПроверки = Неопределено, + ТекстПроверяемоеЗначение = "проверяемое значение", + ПредставлениеПроверяемогоЗначения = Неопределено) Экспорт + + Возврат Новый Структура("ОписаниеПроверки, ТекстПроверяемоеЗначение, ПредставлениеПроверяемогоЗначения", + ОписаниеПроверки, + ТекстПроверяемоеЗначение, + ПредставлениеПроверяемогоЗначения); + +КонецФункции + #КонецОбласти #Область СлужебныеПроцедурыИФункции -Процедура ПроверитьВыражениеПредиката(Значение, Выражение, СтатусПроверки, БазовыеПараметрыПроверки, ПараметрыСравнения) +Процедура ПроверитьВыражениеПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения) Попытка - ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, БазовыеПараметрыПроверки, ПараметрыСравнения); + ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения); Исключение ЮТРегистрацияОшибок.ДобавитьОшибкуКРезультатуПроверки(СтатусПроверки, ИнформацияОбОшибке()); КонецПопытки; @@ -166,15 +218,19 @@ // Значение - Произвольный - Значение // Выражение - см. ЮТФабрика.ВыражениеПредиката // СтатусПроверки - см. ЮТФабрика.ОписаниеРезультатаПроверки -// БазовыеПараметрыПроверки - см. ПараметрыПроверки +// ПараметрыСообщенийОбОшибке - см. ПараметрыСообщенийОбОшибке // ПараметрыСравнения - Неопределено // - Структура - Параметры сравнения значений, для разных выражений испльзуются свои параметры -Процедура ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, БазовыеПараметрыПроверки, ПараметрыСравнения) +Процедура ВызватьОбработчикПредиката(Значение, Выражение, СтатусПроверки, ПараметрыСообщенийОбОшибке, ПараметрыСравнения) // BSLLS:CognitiveComplexity-off ВидыСравнения = ЮТПредикаты.Выражения(); + ПараметрыПроверки = ЮТСравнениеКлиентСервер.ПараметрыПроверки(Выражение.ВидСравнения, Значение, Выражение.ИмяРеквизита, Выражение.Значение, Ложь); - ЗаполнитьЗначенияСвойств(ПараметрыПроверки, БазовыеПараметрыПроверки, "ОписаниеПроверки, ОбъектПроверки, ПредставлениеПроверяемогоЗначения"); + + ПараметрыПроверки.ОписаниеПроверки = ПараметрыСообщенийОбОшибке.ОписаниеПроверки; + ПараметрыПроверки.ТекстПроверяемоеЗначение = ПараметрыСообщенийОбОшибке.ТекстПроверяемоеЗначение; + ПараметрыПроверки.ОбъектПроверки.Представление = ПараметрыСообщенийОбОшибке.ПредставлениеПроверяемогоЗначения; Если СтрНачинаетсяС(Выражение.ВидСравнения, "Не") И ВидыСравнения.Свойство(Сред(Выражение.ВидСравнения, 3)) Тогда ПараметрыПроверки.Реверс = Истина; @@ -232,26 +288,25 @@ КонецПроцедуры -// Параметры сообщений об ошибке. -// -// Параметры: -// ОписаниеПроверки - Строка - Описание конкретной проверки -// ОбъектПроверки - Строка - Человекочитаемое описание проверяемого значения -// ПредставлениеПроверяемогоЗначения - Неопределено - Представление проверяемого значения -// -// Возвращаемое значение: -// Структура - Параметры сообщений об ошибке: -// * ОписаниеПроверки - Строка - Описание конкретной проверки -// * ОбъектПроверки - Строка - Человекочитаемое описание проверяемого значения -// * ПредставлениеПроверяемогоЗначения - Неопределено - -Функция ПараметрыСообщенийОбОшибке(ОписаниеПроверки = Неопределено, - ОбъектПроверки = "проверяемое значение", - ПредставлениеПроверяемогоЗначения = Неопределено) Экспорт +Функция ЭтоПредикатОбщийМодуль(ТипПредикатов, Предикаты) - Возврат Новый Структура("ОписаниеПроверки, ОбъектПроверки, ПредставлениеПроверяемогоЗначения", - ОписаниеПроверки, - ОбъектПроверки, - ПредставлениеПроверяемогоЗначения); + Возврат ТипПредикатов = Тип("ОбщийМодуль") + И Предикаты = ЮТПредикаты; + +КонецФункции + +Функция ЭтоПредикатМассив(ТипПредикатов, Предикаты) + + Возврат ТипПредикатов = Тип("Массив") + И Предикаты.Количество() + И ЭтоПредикатСтруктура(ТипЗнч(Предикаты[0]), Предикаты[0]); + +КонецФункции + +Функция ЭтоПредикатСтруктура(ТипПредикатов, Предикаты) + + Возврат ТипПредикатов = Тип("Структура") + И ЮТОбщий.ТипСтруктуры(Предикаты) = "Предикат"; КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" index 57411934f..4dcf81b3c 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" @@ -94,12 +94,13 @@ // // Параметры: // ИнформацияОбОшибке - ИнформацияОбОшибке -Процедура СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке) Экспорт +// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки +Процедура СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке, ОписаниеПроверки = Неопределено) Экспорт СтруктураОшибки = ЮТКонтекст.КонтекстОшибки(); СтруктураОшибки.ОшибкаУтверждения = Ложь; - ВызватьОшибкуИсполнения(ИнформацияОбОшибке); + ВызватьОшибкуИсполнения(ИнформацияОбОшибке, ОписаниеПроверки); КонецПроцедуры @@ -107,16 +108,20 @@ // При этом сохраняет в контекст состояние, для дальнейшей обработки // // Параметры: +// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки // Сообщение - Строка // ПроверяемоеЗначение - Произвольный // ОжидаемоеЗначение - Произвольный // ОбъектПроверки - Строка - Человекочитаемое описание проверяемого значения -Процедура СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОжидаемоеЗначение, ОбъектПроверки = "проверяемое значение") Экспорт +Процедура СгенерироватьОшибкуСравнения(ОписаниеПроверки, + Сообщение, + ПроверяемоеЗначение, + ОжидаемоеЗначение, + ОбъектПроверки = "проверяемое значение") Экспорт УстановитьДанныеОшибкиСравнения(ПроверяемоеЗначение, ОжидаемоеЗначение); - Контекст = ЮТКонтекст.КонтекстПроверки(); - ТекстСообщения = ФорматированныйТекстОшибкиУтверждения(ПроверяемоеЗначение, Сообщение, ОбъектПроверки, Контекст); - ВызватьОшибкуПроверки(ТекстСообщения); + ТекстСообщения = ФорматированныйТекстОшибкиУтверждения(ОписаниеПроверки, Сообщение, ОбъектПроверки); + ВызватьОшибкуПроверки(ТекстСообщения, ОписаниеПроверки); КонецПроцедуры @@ -124,15 +129,15 @@ // При этом сохраняет в контекст состояние, для дальнейшей обработки // // Параметры: +// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки // Сообщение - Строка // ПроверяемоеЗначение - Произвольный // ОбъектПроверки - Строка - Человекочитаемое описание проверяемого значения -Процедура СгенерироватьОшибкуУтверждения(Сообщение, ПроверяемоеЗначение, ОбъектПроверки = "проверяемое значение") Экспорт +Процедура СгенерироватьОшибкуУтверждения(ОписаниеПроверки, Сообщение, ПроверяемоеЗначение, ОбъектПроверки = "проверяемое значение") Экспорт УстановитьДанныеОшибкиУтверждения(ПроверяемоеЗначение); - Контекст = ЮТКонтекст.КонтекстПроверки(); - ТекстСообщения = ФорматированныйТекстОшибкиУтверждения(ПроверяемоеЗначение, Сообщение, ОбъектПроверки, Контекст); - ВызватьОшибкуПроверки(ТекстСообщения); + ТекстСообщения = ФорматированныйТекстОшибкиУтверждения(ОписаниеПроверки, Сообщение, ОбъектПроверки); + ВызватьОшибкуПроверки(ТекстСообщения, ОписаниеПроверки); КонецПроцедуры @@ -160,9 +165,10 @@ // Служебный метод, предварительно нужно самостоятельно настроить контекст (см. ЮТКонтекст.КонтекстОшибки) // Параметры: // ТекстСообщения - Строка -Процедура ВызватьОшибкуПроверки(Знач ТекстСообщения) Экспорт +// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки +Процедура ВызватьОшибкуПроверки(Знач ТекстСообщения, ОписаниеПроверки = Неопределено) Экспорт - СообщениеОбОшибке = СообщениеОбОшибке(ТекстСообщения, ПрефиксОшибкиУтверждений()); + СообщениеОбОшибке = СообщениеОбОшибке(ТекстСообщения, ПрефиксОшибкиУтверждений(), ОписаниеПроверки); ВызватьИсключение СообщениеОбОшибке; КонецПроцедуры @@ -307,20 +313,27 @@ КонецПроцедуры -Функция ФорматированныйТекстОшибкиУтверждения(Знач ПроверяемоеЗначение, ТекстОжидания, ОбъектПроверки, Контекст) Экспорт - - ИмяСвойства = Контекст.ИмяСвойства; +// Форматированный текст ошибки утверждения. +// +// Параметры: +// ОписаниеПроверки - см. ЮТФабрика.ОписаниеПроверки +// ТекстОжидания - Строка - Описание ожидания +// ОбъектПроверки - Строка - Объект проверки +// +// Возвращаемое значение: +// Строка - Форматированный текст ошибки утверждения +Функция ФорматированныйТекстОшибкиУтверждения(Знач ОписаниеПроверки, ТекстОжидания, ОбъектПроверки) Экспорт - Если ЗначениеЗаполнено(ИмяСвойства) Тогда - ВставкаСвойство = СтрШаблон(" содержит свойство `%1`, которое", ИмяСвойства); + Если ЗначениеЗаполнено(ОписаниеПроверки.ОбъектПроверки.ИмяСвойства) Тогда + ВставкаСвойство = СтрШаблон(" содержит свойство `%1`, которое", ОписаниеПроверки.ОбъектПроверки.ИмяСвойства); Иначе ВставкаСвойство = ""; КонецЕсли; - Если ЗначениеЗаполнено(Контекст.ПредставлениеПроверяемогоЗначения) Тогда - ПредставлениеЗначения = Контекст.ПредставлениеПроверяемогоЗначения; + Если ЗначениеЗаполнено(ОписаниеПроверки.ОбъектПроверки.Представление) Тогда + ПредставлениеЗначения = ОписаниеПроверки.ОбъектПроверки.Представление; Иначе - ПредставлениеЗначения = СтрШаблон("`%1`", Контекст.ПроверяемоеЗначение); + ПредставлениеЗначения = СтрШаблон("`%1`", ОписаниеПроверки.ОбъектПроверки.Значение); КонецЕсли; // Заголовок сообщения @@ -336,6 +349,20 @@ КонецФункции +Функция ДобавитьОписания(ТекстОшибки, ОписаниеПроверки = Неопределено) Экспорт + + Если ОписаниеПроверки <> Неопределено Тогда + ПрефиксОшибки = ЮТОбщий.ДобавитьСтроку(ОписаниеПроверки.ПрефиксОшибки, ОписаниеПроверки.ОписаниеПроверки, " "); + СообщениеОбОшибке = ЮТОбщий.ДобавитьСтроку(ПрефиксОшибки, ТекстОшибки, ": "); + Иначе + СообщениеОбОшибке = ТекстОшибки; + КонецЕсли; + + СообщениеОбОшибке = ВРег(Лев(СообщениеОбОшибке, 1)) + Сред(СообщениеОбОшибке, 2); + Возврат СообщениеОбОшибке; + +КонецФункции + Процедура ДобавитьОшибкуКРезультатуПроверки(РезультатПроверки, Ошибка) Экспорт РезультатПроверки.Успешно = Ложь; @@ -517,21 +544,17 @@ КонецПроцедуры -Процедура ВызватьОшибкуИсполнения(Знач ИнформацияОбОшибке) +Процедура ВызватьОшибкуИсполнения(Знач ИнформацияОбОшибке, ОписаниеПроверки) ТекстОшибки = ИнформациюОбОшибкеВСтроку(ИнформацияОбОшибке); - СообщениеОбОшибке = СообщениеОбОшибке(ТекстОшибки, ПрефиксОшибкиВыполнения()); + СообщениеОбОшибке = СообщениеОбОшибке(ТекстОшибки, ПрефиксОшибкиВыполнения(), ОписаниеПроверки); ВызватьИсключение СообщениеОбОшибке; КонецПроцедуры -Функция СообщениеОбОшибке(ТекстОшибки, ПрефиксТипаОшибки) - - Контекст = ЮТКонтекст.КонтекстПроверки(); - ПрефиксОшибки = ЮТОбщий.ДобавитьСтроку(Контекст.ПрефиксОшибки, Контекст.ОписаниеПроверки, " "); +Функция СообщениеОбОшибке(ТекстОшибки, ПрефиксТипаОшибки, ОписаниеПроверки = Неопределено) Экспорт - СообщениеОбОшибке = ЮТОбщий.ДобавитьСтроку(ПрефиксОшибки, ТекстОшибки, ": "); - СообщениеОбОшибке = ВРег(Лев(СообщениеОбОшибке, 1)) + Сред(СообщениеОбОшибке, 2); + СообщениеОбОшибке = ДобавитьОписания(ТекстОшибки, ОписаниеПроверки); Возврат СтрШаблон("%1 <%2>", ПрефиксТипаОшибки, СообщениеОбОшибке); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" index 63c047f2c..2508fd171 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Module.bsl" @@ -33,7 +33,12 @@ // ТестовыйМодуль - см. ЮТФабрика.ОписаниеТестовогоМодуля Процедура ПередВсемиТестамиМодуля(ТестовыйМодуль) Экспорт - ЮТКонтекст.УстановитьКонтекстМодуля(Новый Структура()); + Уровни = ЮТФабрика.УровниИсполнения(); + КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения(); + КонтекстИсполнения.Уровень = Уровни.Модуль; + КонтекстИсполнения.Модуль = ТестовыйМодуль; + + ЮТКонтекст.УстановитьКонтекстМодуля(); ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль); ВызватьОбработкуСобытия("ПередВсемиТестами", ОписаниеСобытия); @@ -47,7 +52,12 @@ // Набор - см. ЮТФабрика.ОписаниеИсполняемогоНабораТестов Процедура ПередТестовымНабором(ТестовыйМодуль, Набор) Экспорт - ЮТКонтекст.УстановитьКонтекстНабораТестов(Новый Структура()); + Уровни = ЮТФабрика.УровниИсполнения(); + КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения(); + КонтекстИсполнения.Уровень = Уровни.НаборТестов; + КонтекстИсполнения.Набор = Набор; + + ЮТКонтекст.УстановитьКонтекстНабораТестов(); ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор); ВызватьОбработкуСобытия("ПередТестовымНабором", ОписаниеСобытия); @@ -62,21 +72,25 @@ // Тест - см. ЮТФабрика.ОписаниеИсполняемогоТеста Процедура ПередКаждымТестом(ТестовыйМодуль, Набор, Тест) Экспорт + Уровни = ЮТФабрика.УровниИсполнения(); + КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения(); + КонтекстИсполнения.Уровень = Уровни.Тест; + КонтекстИсполнения.Тест = Тест; + ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест); - ЮТКонтекст.УстановитьКонтекстТеста(Новый Структура()); + ЮТКонтекст.УстановитьКонтекстТеста(); #Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда ПолучитьСообщенияПользователю(Истина); #КонецЕсли #Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - Если ВТранзакции(ОписаниеСобытия) Тогда + Если ЮТНастройкиВыполнения.ВТранзакции() Тогда НачатьТранзакцию(); КонецЕсли; #КонецЕсли - ВызватьОбработкуСобытия("ПередКаждымТестом", ОписаниеСобытия); - ВызватьОбработкуСобытия("ПередТестом", ОписаниеСобытия); + ВызватьОбработкуСобытий(ЮТОбщий.ЗначениеВМассиве("ПередКаждымТестом", "ПередТестом"), ОписаниеСобытия); КонецПроцедуры @@ -90,11 +104,10 @@ ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор, Тест); - ВызватьОбработкуСобытия("ПослеТеста", ОписаниеСобытия); - ВызватьОбработкуСобытия("ПослеКаждогоТеста", ОписаниеСобытия); + ВызватьОбработкуСобытий(ЮТОбщий.ЗначениеВМассиве("ПослеТеста", "ПослеКаждогоТеста"), ОписаниеСобытия); #Если Сервер ИЛИ ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - Если ВТранзакции(ОписаниеСобытия) Тогда + Если ЮТНастройкиВыполнения.ВТранзакции() Тогда ОтменитьТранзакцию(); Пока ТранзакцияАктивна() Цикл ОтменитьТранзакцию(); @@ -103,6 +116,11 @@ КонецЕсли; #КонецЕсли + Уровни = ЮТФабрика.УровниИсполнения(); + КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения(); + КонтекстИсполнения.Уровень = Уровни.НаборТестов; + КонтекстИсполнения.Тест = Неопределено; + КонецПроцедуры // Обработчик события "ПослеТестовогоНабора" @@ -115,6 +133,11 @@ ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль, Набор); ВызватьОбработкуСобытия("ПослеТестовогоНабора", ОписаниеСобытия); + Уровни = ЮТФабрика.УровниИсполнения(); + КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения(); + КонтекстИсполнения.Уровень = Уровни.Модуль; + КонтекстИсполнения.Набор = Неопределено; + КонецПроцедуры // Обработчик события "ПослеВсехТестовМодуля" @@ -126,6 +149,10 @@ ОписаниеСобытия = ЮТФабрика.ОписаниеСобытияИсполненияТестов(ТестовыйМодуль); ВызватьОбработкуСобытия("ПослеВсехТестов", ОписаниеСобытия); + КонтекстИсполнения = ЮТКонтекст.КонтекстИсполнения(); + КонтекстИсполнения.Уровень = Неопределено; + КонтекстИсполнения.Модуль = Неопределено; + КонецПроцедуры #КонецОбласти @@ -189,13 +216,31 @@ #Область СлужебныеПроцедурыИФункции -Процедура ВызватьОбработкуСобытия(ИмяСобытия, ОписаниеСобытия) +Процедура ВызватьОбработкуСобытий(События, ОписаниеСобытия) + + Для ы = 0 По События.ВГраница() Цикл + ИмяСобытия = События[ы]; + ПропуститьОбработчикТестовогоМодуля = (ы > 0 И ОбработчикСобытияПереопределен(ИмяСобытия)); + Если ПропуститьОбработчикТестовогоМодуля Тогда + + Параметры = ЮТОбщий.ЗначениеВМассиве(ОписаниеСобытия); + Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры); + ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки); + + Иначе + + ВызватьОбработкуСобытия(ИмяСобытия, ОписаниеСобытия); + + КонецЕсли; + КонецЦикла; - ЭтоСобытиеПеред = СтрНачинаетсяС(ИмяСобытия, "Перед"); +КонецПроцедуры + +Процедура ВызватьОбработкуСобытия(ИмяСобытия, ОписаниеСобытия) Параметры = ЮТОбщий.ЗначениеВМассиве(ОписаниеСобытия); - Если ЭтоСобытиеПеред Тогда + Если ЭтоСобытиеПеред(ИмяСобытия) Тогда Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры); ВызватьОбработчикТестовогоМодуля(ИмяСобытия, ОписаниеСобытия); Иначе @@ -203,9 +248,7 @@ Ошибки = ВызватьОбработчикРасширения(ИмяСобытия, Параметры); КонецЕсли; - Для Каждого Ошибка Из Ошибки Цикл - ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка); - КонецЦикла; + ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки); КонецПроцедуры @@ -218,10 +261,10 @@ Если ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда ПолноеИмяМетода = СтрШаблон("%1.%2", ИмяМодуля, ИмяСобытия); Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода, ПараметрыСобытия); - КонецЕсли; - - Если Ошибка <> Неопределено Тогда - Ошибки.Добавить(Ошибка); + + Если Ошибка <> Неопределено Тогда + Ошибки.Добавить(Ошибка); + КонецЕсли; КонецЕсли; КонецЦикла; @@ -236,28 +279,77 @@ // ИмяСобытия - Строка - Имя вызываемого метода обработки события // ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов // -Процедура ВызватьОбработчикТестовогоМодуля(ИмяСобытия, ОписаниеСобытия) +Процедура ВызватьОбработчикТестовогоМодуля(Знач ИмяСобытия, ОписаниеСобытия) + + ОбработчикСобытияПереопределен = ОбработчикСобытияПереопределен(ИмяСобытия); + Если ОбработчикСобытияПереопределен Тогда + ИмяСобытия = ПереопределенноеИмяСобытия(ИмяСобытия); + КонецЕсли; ИмяМодуля = ОписаниеСобытия.Модуль.МетаданныеМодуля.Имя; - Ошибка = Неопределено; + + ЧастиКоманды = СтрРазделить(ИмяСобытия, "."); + Если ЧастиКоманды.Количество() = 2 Тогда + ИмяМодуля = ЧастиКоманды[0]; + ИмяСобытия = ЧастиКоманды[1]; + КонецЕсли; + + Ошибки = Новый Массив(); + Команда = СтрШаблон("%1.%2()", ИмяМодуля, ИмяСобытия); Если ЮТОбщий.МетодМодуляСуществует(ИмяМодуля, ИмяСобытия) Тогда - Команда = СтрШаблон("%1.%2()", ИмяМодуля, ИмяСобытия); Ошибка = ЮТОбщий.ВыполнитьМетод(Команда); + Если Ошибка <> Неопределено Тогда + Ошибки.Добавить(Ошибка); + КонецЕсли; + + ИначеЕсли ОбработчикСобытияПереопределен Тогда + + ТекстИсключения = СтрШаблон("Не найден обработчик тестового модуля %1", Команда); + ВызватьИсключение ТекстИсключения + КонецЕсли; - Если Ошибка <> Неопределено Тогда + ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки); + +КонецПроцедуры + +Процедура ЗарегистрироватьОшибкиСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибки) + + Для Каждого Ошибка Из Ошибки Цикл ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуСобытияИсполнения(ИмяСобытия, ОписаниеСобытия, Ошибка); - КонецЕсли; + КонецЦикла; КонецПроцедуры -Функция ВТранзакции(ОписаниеСобытия) +Функция ОбработчикСобытияПереопределен(ИмяСобытия) + + Возврат ЗначениеЗаполнено(ПереопределенноеИмяСобытия(ИмяСобытия)); - ИмяПараметра = ЮТФабрика.ПараметрыИсполненияТеста().ВТранзакции; +КонецФункции + +Функция ПереопределенноеИмяСобытия(ИмяСобытия) + + Если ЭтоСобытиеПеред(ИмяСобытия) Тогда + Возврат ЮТНастройкиВыполнения.Перед(); + ИначеЕсли ЭтоСобытиеПосле(ИмяСобытия) Тогда + Возврат ЮТНастройкиВыполнения.После(); + Иначе + Возврат ""; + КонецЕсли; + +КонецФункции + +Функция ЭтоСобытиеПеред(ИмяСобытия) + + Возврат СтрНачинаетсяС(ИмяСобытия, "Перед"); + +КонецФункции + +Функция ЭтоСобытиеПосле(ИмяСобытия) - Возврат ЮТНастройкиВыполнения.ЗначениеНастройкиТеста(ИмяПараметра, ОписаниеСобытия.Тест, ОписаниеСобытия.Набор, Ложь); + Возврат СтрНачинаетсяС(ИмяСобытия, "После"); КонецФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 87ffacf6c..f7e130db8 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\241\321\200\320\260\320\262\320\275\320\265\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -249,18 +249,33 @@ КонецПроцедуры +// Параметры проверки. +// +// Параметры: +// ВидСравнения - Строка +// ПроверяемоеЗначение - Произвольный +// ИмяСвойства - Строка +// ОжидаемоеЗначение - Произвольный +// Реверс - Булево +// +// Возвращаемое значение: +// Структура - Параметры проверки: +// * ОбъектПроверки - см. ЮТФабрика.ОписаниеПроверяемогоЗначения +// * ПрефиксОшибки - Строка, Неопределено - +// * ОписаниеПроверки - Строка, Неопределено - +// * ВидСравнения - Строка +// * ОжидаемоеЗначение - Произвольный +// * Реверс - Булево +// * ТекстПроверяемоеЗначение - Строка Функция ПараметрыПроверки(ВидСравнения, ПроверяемоеЗначение, ИмяСвойства, ОжидаемоеЗначение, Реверс = Ложь) Экспорт - Параметры = Новый Структура(); + Параметры = ЮТФабрика.ОписаниеПроверки(ПроверяемоеЗначение); + Параметры.ОбъектПроверки.ИмяСвойства = ИмяСвойства; Параметры.Вставить("ВидСравнения", ВидСравнения); - Параметры.Вставить("ПроверяемоеЗначение", ПроверяемоеЗначение); Параметры.Вставить("ОжидаемоеЗначение", ОжидаемоеЗначение); - Параметры.Вставить("ИмяСвойства", ИмяСвойства); Параметры.Вставить("Реверс", Реверс); - Параметры.Вставить("ОбъектПроверки", Неопределено); - Параметры.Вставить("ОписаниеПроверки", Неопределено); - Параметры.Вставить("ПредставлениеПроверяемогоЗначения", Неопределено); + Параметры.Вставить("ТекстПроверяемоеЗначение", "проверяемое значение"); Возврат Параметры; @@ -503,22 +518,11 @@ Процедура ОбработатьРезультатСравнения(РезультатПроверки, ПараметрыПроверки, ФактическоеЗначение) ШаблонСообщения = ЮТПредикатыКлиентСервер.ШаблонВыражения(ПараметрыПроверки.ВидСравнения); - Сообщение = СтрШаблон(ШаблонСообщения, ПараметрыПроверки.ОжидаемоеЗначение); - Если ЗначениеЗаполнено(ПараметрыПроверки.ПредставлениеПроверяемогоЗначения) Тогда - ПредставлениеЗначения = ПараметрыПроверки.ПредставлениеПроверяемогоЗначения; - Иначе - ПредставлениеЗначения = СтрШаблон("`%1`", ПараметрыПроверки.ПроверяемоеЗначение); - КонецЕсли; - - ТекстОшибки = ЮТРегистрацияОшибок.ФорматированныйТекстОшибкиУтверждения(ПредставлениеЗначения, - Сообщение, - ПараметрыПроверки.ОбъектПроверки, - ПараметрыПроверки); + ТекстОшибки = ЮТРегистрацияОшибок.ФорматированныйТекстОшибкиУтверждения(ПараметрыПроверки, Сообщение, ПараметрыПроверки.ТекстПроверяемоеЗначение); + ТекстОшибки = ЮТРегистрацияОшибок.ДобавитьОписания(ТекстОшибки, ПараметрыПроверки); - ТекстОшибки = ЮТОбщий.ДобавитьСтроку(ПараметрыПроверки.ОписаниеПроверки, ТекстОшибки, ": "); - ТекстОшибки = ВРег(Лев(ТекстОшибки, 1)) + Сред(ТекстОшибки, 2); ЮТРегистрацияОшибок.ДобавитьОшибкуСравненияКРезультатуПроверки(РезультатПроверки, ТекстОшибки, ФактическоеЗначение, @@ -535,10 +539,10 @@ // Произвольный Функция ПроверяемоеЗначение(ПараметрыПроверки) - Если ПараметрыПроверки.ИмяСвойства <> Неопределено Тогда - Значение = ЗначениеСвойства(ПараметрыПроверки.ПроверяемоеЗначение, ПараметрыПроверки.ИмяСвойства); + Если ПараметрыПроверки.ОбъектПроверки.ИмяСвойства <> Неопределено Тогда + Значение = ЗначениеСвойства(ПараметрыПроверки.ОбъектПроверки.Значение, ПараметрыПроверки.ОбъектПроверки.ИмяСвойства); Иначе - Значение = ПараметрыПроверки.ПроверяемоеЗначение; + Значение = ПараметрыПроверки.ОбъектПроверки.Значение; КонецЕсли; Возврат Значение; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index dfbb57388..09092d1c8 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -29,7 +29,20 @@ // ЛюбаяСсылка - Ссылка на созданный объект Функция СоздатьЭлемент(Менеджер, Наименование = Неопределено, Реквизиты = Неопределено) Экспорт - Возврат ЮТТестовыеДанныеВызовСервера.СоздатьЭлемент(Менеджер, Наименование, Реквизиты); + Если Реквизиты <> Неопределено Тогда + Данные = Реквизиты; + Иначе + Данные = Новый Структура; + КонецЕсли; + + Если ЗначениеЗаполнено(Наименование) Тогда + Данные.Вставить("Наименование", Наименование); + КонецЕсли; + + Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, Неопределено, Ложь); + ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка); + + Возврат Ссылка; КонецФункции @@ -43,7 +56,45 @@ // ДокументСсылка - Ссылка на созданный объект Функция СоздатьДокумент(Менеджер, Реквизиты = Неопределено) Экспорт - Возврат ЮТТестовыеДанныеВызовСервера.СоздатьДокумент(Менеджер, Реквизиты); + Если Реквизиты <> Неопределено Тогда + Данные = Реквизиты; + Иначе + Данные = Новый Структура; + КонецЕсли; + + Если Данные.Свойство("РежимЗаписи") Тогда + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ПараметрыЗаписи.РежимЗаписи = Данные.РежимЗаписи; + Данные.Удалить("РежимЗаписи"); + КонецЕсли; + + Ссылка = ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Менеджер, Данные, ПараметрыЗаписи, Ложь); + ЮТТестовыеДанныеСлужебный.ДобавитьТестовуюЗапись(Ссылка); + + Возврат Ссылка; + +КонецФункции + +// Создает новую группу +// +// Параметры: +// Менеджер - Произвольный - Менеджер справочника/ПВХ и тд. +// Наименование - Строка, Неопределено - Наименование элемента +// Реквизиты - Структура, Неопределено - Значения реквизитов элемента +// +// Возвращаемое значение: +// ЛюбаяСсылка - Ссылка на созданную группу +Функция СоздатьГруппу(Менеджер, Наименование = Неопределено, Реквизиты = Неопределено) Экспорт + + Если Реквизиты <> Неопределено Тогда + Данные = Реквизиты; + Иначе + Данные = Новый Структура; + КонецЕсли; + + Данные.Вставить("ЭтоГруппа", Истина); + + Возврат СоздатьЭлемент(Менеджер, Наименование, Данные); КонецФункции @@ -117,12 +168,17 @@ // Параметры: // Длина - Число - Длина генерируемой строки, без учета префикса // Префикс - Строка - Префикс строки +// ДопустимыеСимволы - Строка - Допустимые символы из которая будет формироваться случайно строка // // Возвращаемое значение: // Строка - Случайная строка -Функция СлучайнаяСтрока(Знач Длина = 10, Префикс = "") Экспорт +Функция СлучайнаяСтрока(Знач Длина = 10, Префикс = "", ДопустимыеСимволы = Неопределено) Экспорт - Строка = "1234567890абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + Если ДопустимыеСимволы = Неопределено Тогда + Строка = "1234567890абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + Иначе + Строка = ДопустимыеСимволы; + КонецЕсли; Результат = ""; КоличествоСимволов = СтрДлина(Строка); @@ -259,9 +315,7 @@ // Строка Функция НовоеИмяВременногоФайла(Расширение = Неопределено) Экспорт - Результат = ПолучитьИмяВременногоФайла(Расширение); - ЮТКонтекст.КонтекстТеста().ВременныеФайлы.Добавить(Результат); - Возврат Результат; + Возврат ЮТТестовыеДанныеСлужебный.НовоеИмяВременногоФайла(Расширение); КонецФункции @@ -308,7 +362,7 @@ Если ЗагрузилиЗаголовок Тогда Если Блоки.Количество() <> Ключи.Количество() Тогда - ВызватьИсключение СтрШаблон("Количество значений в строке (%1) Markdown не совпадает с количеством заголовков (2): + ВызватьИсключение СтрШаблон("Количество значений в строке (%1) Markdown не совпадает с количеством заголовков (%2): |%3", Блоки.Количество(), Ключи.Количество(), Строка); КонецЕсли; @@ -357,6 +411,29 @@ КонецФункции +// Формирует массив различных комбиначий параметров +// +// Предназначено для формирования таблицы возможных значений параметров для краш теста метода. +// +// Параметры: +// ЗначенияПоУмолчанию - Структура - Значения параметров по умолчанию. +// ЗначенияПараметров - Структура - Массивы значений для каждого параметра. +// +// Возвращаемое значение: +// Массив из Структура - Варианты параметров. +Функция ВариантыПараметров(ЗначенияПоУмолчанию, ЗначенияПараметров) Экспорт + + Варианты = Новый Массив; + Варианты.Добавить(ЗначенияПоУмолчанию); + + Ключи = ЮТОбщий.ВыгрузитьЗначения(ЗначенияПараметров, "Ключ"); + + ДобавитьВарианты(Варианты, ЗначенияПоУмолчанию, ЗначенияПараметров, Ключи, 0); + + Возврат Варианты; + +КонецФункции + // Возвращает конструктор создания тестовых данных // // Конструктор имеет ряд особенностей: @@ -379,10 +456,10 @@ // Менеджер - Строка - Имя менеджера. Примеры: Справочники.Товары, Документы.ПриходТоваров // // Возвращаемое значение: -// ОбщийМодуль - Конструктор +// ОбработкаОбъект.ЮТКонструкторТестовыхДанных Функция КонструкторОбъекта(Менеджер) Экспорт - Возврат ЮТКонструкторТестовыхДанных.Инициализировать(Менеджер); + Возврат ЮТКонструкторТестовыхДанныхСлужебный.Инициализировать(Менеджер); КонецФункции @@ -392,10 +469,20 @@ // Ссылки - Массив из ЛюбаяСсылка Процедура Удалить(Ссылки) Экспорт - ЮТТестовыеДанныеВызовСервера.Удалить(Ссылки); + Если ЗначениеЗаполнено(Ссылки) Тогда + ЮТТестовыеДанныеВызовСервера.Удалить(Ссылки); + КонецЕсли; КонецПроцедуры +// Возвращает объект подражателя для формирования осмысленных тестовых данных +// +// Возвращаемое значение: +// ОбщийМодуль - Подражатель +Функция Подражатель() Экспорт + Возврат ЮТПодражательСлужебный.Инициализировать(); +КонецФункции + #Если Сервер Тогда // Возвращает мок для `HTTPСервисЗапрос`. // @@ -410,64 +497,6 @@ #КонецОбласти -#Область СлужебныйПрограммныйИнтерфейс - -// Обработчик события "ПередКаждымТестом" -// -// Параметры: -// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов -Процедура ПередКаждымТестом(ОписаниеСобытия) Экспорт - - ЮТКонтекст.КонтекстТеста().Вставить("ВременныеФайлы", Новый Массив); - -КонецПроцедуры - -// Обработчик события "ПослеКаждогоТеста" -// -// Параметры: -// ОписаниеСобытия - см. ЮТФабрика.ОписаниеСобытияИсполненияТестов -Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт - - ВременныеФайлы = ЮТКонтекст.КонтекстТеста().ВременныеФайлы; - - Если ВременныеФайлы.Количество() = 0 Тогда - Возврат; - КонецЕсли; - - Ошибки = Новый Массив(); - - Для Каждого УдаляемыйФайл Из ВременныеФайлы Цикл - - Если ТипЗнч(УдаляемыйФайл) = Тип("Строка") Тогда - УдаляемыйФайл = Новый Файл(УдаляемыйФайл); - КонецЕсли; - - Попытка - Если УдаляемыйФайл.Существует() Тогда - - Если УдаляемыйФайл.ПолучитьТолькоЧтение() Тогда - УдаляемыйФайл.УстановитьТолькоЧтение(Ложь); - КонецЕсли; - - УдалитьФайлы(УдаляемыйФайл.ПолноеИмя); - - КонецЕсли; - Исключение - - Ошибки.Добавить(ЮТРегистрацияОшибок.ПредставлениеОшибки("Удаление файла " + УдаляемыйФайл, ИнформацияОбОшибке())); - - КонецПопытки; - - КонецЦикла; - - Если ЗначениеЗаполнено(Ошибки) Тогда - ВызватьИсключение СтрСоединить(Ошибки, Символы.ПС); - КонецЕсли; - -КонецПроцедуры - -#КонецОбласти - #Область СлужебныеПроцедурыИФункции Процедура ДобавитьВарианты(Варианты, БазоваяСтруктура, ЗначенияПараметров, Ключи, Инд) @@ -489,4 +518,4 @@ КонецПроцедуры -#КонецОбласти +#КонецОбласти \ No newline at end of file diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" index 381e09b5a..62f44cdc7 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -18,87 +18,49 @@ #Область СлужебныйПрограммныйИнтерфейс -// СоздатьЭлемент -// Создает новый элемент и возвращает его ссылку -// Параметры: -// Менеджер - Произвольный - Менеджер справочника/ПВХ и тд. -// Наименование - Строка, Неопределено - Наименование элемента -// Реквизиты - Структура, Неопределено - Значения реквизитов элемента -// -// Возвращаемое значение: -// ЛюбаяСсылка - Ссылка на созданный объект -Функция СоздатьЭлемент(Знач Менеджер, Знач Наименование = Неопределено, Знач Реквизиты = Неопределено) Экспорт +Функция СоздатьЗапись(Знач Менеджер, Знач Данные, Знач ПараметрыЗаписи, Знач ВернутьОбъект) Экспорт Менеджер = ЮТОбщий.Менеджер(Менеджер); - Объект = Менеджер.СоздатьЭлемент(); - - Если ЗначениеЗаполнено(Наименование) Тогда - Объект.Наименование = Наименование; - ИначеЕсли Объект.Метаданные().ДлинаНаименования > 0 Тогда - Объект.Наименование = ЮТТестовыеДанные.УникальнаяСтрока(); - КонецЕсли; - - Если Реквизиты <> Неопределено Тогда - ЗаполнитьЗначенияСвойств(Объект, Реквизиты); - КонецЕсли; - - Если Объект.Метаданные().ДлинаКода И НЕ ЗначениеЗаполнено(Объект.Код) Тогда - Объект.УстановитьНовыйКод(); + Если ПараметрыЗаписи = Неопределено Тогда + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + Иначе + ПереданныеПараметрыЗаписи = ПараметрыЗаписи; + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ЗаполнитьЗначенияСвойств(ПараметрыЗаписи, ПереданныеПараметрыЗаписи); КонецЕсли; - ЗаписатьОбъект(Объект); - - Возврат Объект.Ссылка; - -КонецФункции - -// СоздатьДокумент -// Создает новый документ и возвращает его ссылку -// Параметры: -// Менеджер - Произвольный - Менеджер справочника/ПВХ и тд. -// Реквизиты - Структура, Неопределено - Значения реквизитов элемента -// -// Возвращаемое значение: -// ДокументСсылка - Ссылка на созданный объект -Функция СоздатьДокумент(Знач Менеджер, Знач Реквизиты = Неопределено) Экспорт - - РежимЗаписи = РежимЗаписиДокумента.Запись; + Объект = НовыйОбъект(Менеджер, Данные, ПараметрыЗаписи.ДополнительныеСвойства); - Менеджер = ЮТОбщий.Менеджер(Менеджер); + ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектМетаданных(ТипЗнч(Менеджер)); - Объект = Менеджер.СоздатьДокумент(); - Объект.Дата = ТекущаяДатаСеанса(); - Объект.УстановитьНовыйНомер(); + РежимЗаписи = ?(СтрСравнить(ОписаниеОбъектаМетаданных.ОписаниеТипа.Имя, "Документ") = 0, ПараметрыЗаписи.РежимЗаписи, Неопределено); + КлючЗаписи = ЗаписатьОбъект(Объект, ПараметрыЗаписи.ОбменДаннымиЗагрузка, РежимЗаписи); - Если Реквизиты <> Неопределено Тогда - ЗаполнитьЗначенияСвойств(Объект, Реквизиты); - РежимЗаписи = ЮТОбщий.ЗначениеСтруктуры(Реквизиты, "РежимЗаписи", РежимЗаписи); + Если ВернутьОбъект Тогда + Возврат Объект; + Иначе + Возврат КлючЗаписи; КонецЕсли; - ЗаписатьОбъект(Объект, , РежимЗаписи); - - Возврат Объект.Ссылка; - КонецФункции -// Создать запись. +// Создает новый объект и заполняет его данными // // Параметры: // Менеджер - Произвольный // Данные - Структура - Данные заполнения объекта -// ПараметрыЗаписи - см. ЮТОбщий. -// ВернутьОбъект - Булево - Вернуть объект +// ДополнительныеСвойства - Структура - Дополнительные свойства объекта // // Возвращаемое значение: -// Произвольный - Создать запись -Функция СоздатьЗапись(Знач Менеджер, Знач Данные, Знач ПараметрыЗаписи = Неопределено, Знач ВернутьОбъект = Ложь) Экспорт +// Произвольный - Созданный объект +Функция НовыйОбъект(Знач Менеджер, Знач Данные, Знач ДополнительныеСвойства = Неопределено) Экспорт Менеджер = ЮТОбщий.Менеджер(Менеджер); ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектМетаданных(ТипЗнч(Менеджер)); - Объект = СоздатьОбъект(Менеджер, ОписаниеОбъектаМетаданных.ОписаниеТипа); + Объект = СоздатьОбъект(Менеджер, ОписаниеОбъектаМетаданных.ОписаниеТипа, Данные); ЗаполнитьЗначенияСвойств(Объект, Данные); Если ОписаниеОбъектаМетаданных.ОписаниеТипа.ТабличныеЧасти Тогда @@ -119,22 +81,13 @@ КонецЕсли; - Если ПараметрыЗаписи = Неопределено Тогда - ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); - Иначе - ПереданныеПараметрыЗаписи = ПараметрыЗаписи; - ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); - ЗаполнитьЗначенияСвойств(ПараметрыЗаписи, ПереданныеПараметрыЗаписи); - КонецЕсли; - ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных); - ЮТОбщий.ОбъединитьВСтруктуру(Объект.ДополнительныеСвойства, ПараметрыЗаписи.ДополнительныеСвойства); - - РежимЗаписи = ?(СтрСравнить(ОписаниеОбъектаМетаданных.ОписаниеТипа.Имя, "Документ") = 0, ПараметрыЗаписи.РежимЗаписи, Неопределено); - ЗаписатьОбъект(Объект, ПараметрыЗаписи.ОбменДаннымиЗагрузка, РежимЗаписи); + Если ОписаниеОбъектаМетаданных.ОписаниеТипа.Ссылочный И ДополнительныеСвойства <> Неопределено Тогда + ЮТОбщий.ОбъединитьВСтруктуру(Объект.ДополнительныеСвойства, ДополнительныеСвойства); + КонецЕсли; - Возврат ?(ВернутьОбъект, Объект, Объект.Ссылка); + Возврат Объект; КонецФункции @@ -144,15 +97,46 @@ Ссылки = ЮТОбщий.ЗначениеВМассиве(Ссылки); КонецЕсли; + СсылочныеТипы = ЮТОбщий.ОписаниеТиповЛюбаяСсылка(); + Ошибки = Новый Массив; + Для Каждого Ссылка Из Ссылки Цикл - Ссылка.ПолучитьОбъект().Удалить(); + ТипЗначения = ТипЗнч(Ссылка); + Если Ссылка = Неопределено ИЛИ СтрНачинаетсяС(ЮТОбщий.ПредставлениеТипа(ТипЗначения), "Enum") Тогда + Продолжить; + КонецЕсли; + + Попытка + Если СсылочныеТипы.СодержитТип(ТипЗначения) Тогда + Объект = Ссылка.ПолучитьОбъект(); + Если Объект <> Неопределено Тогда + Объект.Удалить(); + КонецЕсли; + Иначе + Менеджер = Менеджер(ЮТМетаданныеСервер.ОписаниеОбъектМетаданных(ТипЗначения, Ложь)); + Запись = Менеджер.СоздатьМенеджерЗаписи(); + ЗаполнитьЗначенияСвойств(Запись, Ссылка); + Запись.Прочитать(); + Запись.Удалить(); + КонецЕсли; + Исключение + + Ошибки.Добавить(ЮТРегистрацияОшибок.ПредставлениеОшибки("Удаление " + Ссылка, ИнформацияОбОшибке())); + + КонецПопытки; КонецЦикла; + ОбновитьНумерациюОбъектов(); + + Если ЗначениеЗаполнено(Ошибки) Тогда + ВызватьИсключение СтрСоединить(Ошибки, Символы.ПС); + КонецЕсли; + КонецПроцедуры -Функция ФикцияЗначенияБазы(Знач ТипЗначения) Экспорт +Функция ФикцияЗначенияБазы(Знач ТипЗначения, Знач РеквизитыЗаполнения = Неопределено) Экспорт ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения); @@ -174,13 +158,15 @@ ИмяТипаМенеджера = СтрШаблон("%1Менеджер.%2", ОписаниеТипа.Имя, ОбъектМетаданных.Имя); Менеджер = Новый (ИмяТипаМенеджера); - Объект = СоздатьОбъект(Менеджер, ОписаниеТипа); + Объект = СоздатьОбъект(Менеджер, ОписаниеТипа, РеквизитыЗаполнения); - ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных); + Если ЗначениеЗаполнено(РеквизитыЗаполнения) Тогда + ЗаполнитьЗначенияСвойств(Объект, РеквизитыЗаполнения); + КонецЕсли; - ЗаписатьОбъект(Объект); + ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных); - Возврат Объект.Ссылка; + Возврат ЗаписатьОбъект(Объект); КонецФункции @@ -194,13 +180,20 @@ // См. ОписаниеМенеджера // Менеджер - Произвольный - Менеджер // ОписаниеТипа - см. ЮТМетаданные.ОписаниеОбъектМетаданных -// +// Данные - Структура // Возвращаемое значение: // Произвольный - Создать объект -Функция СоздатьОбъект(Менеджер, ОписаниеТипа) +Функция СоздатьОбъект(Менеджер, ОписаниеТипа, Данные) Если ОписаниеТипа.Конструктор = "СоздатьЭлемент" Тогда - Результат = Менеджер.СоздатьЭлемент(); + + ЭтоГруппа = ?(Данные = Неопределено, Ложь, ЮТОбщий.ЗначениеСтруктуры(Данные, "ЭтоГруппа", Ложь)); + Если ЭтоГруппа Тогда + Результат = Менеджер.СоздатьГруппу(); + Иначе + Результат = Менеджер.СоздатьЭлемент(); + КонецЕсли; + ИначеЕсли ОписаниеТипа.Конструктор = "СоздатьДокумент" Тогда Результат = Менеджер.СоздатьДокумент(); ИначеЕсли ОписаниеТипа.Конструктор = "СоздатьСчет" Тогда @@ -211,6 +204,8 @@ Результат = Менеджер.СоздатьУзел(); ИначеЕсли ОписаниеТипа.Конструктор = "СоздатьНаборЗаписей" Тогда Результат = Менеджер.СоздатьНаборЗаписей(); + ИначеЕсли ОписаниеТипа.Конструктор = "СоздатьМенеджерЗаписи" Тогда + Результат = Менеджер.СоздатьМенеджерЗаписи(); ИначеЕсли ОписаниеТипа.Конструктор = "СоздатьБизнесПроцесс" Тогда Результат = Менеджер.СоздатьБизнесПроцесс(); ИначеЕсли ОписаниеТипа.Конструктор = "СоздатьЗадачу" Тогда @@ -220,10 +215,10 @@ КонецЕсли; Возврат Результат; - + КонецФункции -Процедура ЗаписатьОбъект(Объект, ОбменДаннымиЗагрузка = Ложь, РежимЗаписи = Неопределено) +Функция ЗаписатьОбъект(Объект, ОбменДаннымиЗагрузка = Ложь, РежимЗаписи = Неопределено) Если ОбменДаннымиЗагрузка Тогда Объект.ОбменДанными.Загрузка = Истина; @@ -237,6 +232,12 @@ Объект.Записать(); КонецЕсли; + Если ОбменДаннымиЗагрузка Тогда + Объект.ОбменДанными.Загрузка = Ложь; + КонецЕсли; + + Возврат КлючЗаписи(Объект); + Исключение Сообщение = СтрШаблон("Не удалось записать объект `%1` (%2) @@ -245,7 +246,7 @@ КонецПопытки; -КонецПроцедуры +КонецФункции Процедура ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных) @@ -273,4 +274,38 @@ КонецПроцедуры +Функция КлючЗаписи(Объект) + + ПредставлениеТипа = ЮТОбщий.ПредставлениеТипа(ТипЗнч(Объект)); + Если СтрНайти(ПредставлениеТипа, "Object.") Тогда + + Возврат Объект.Ссылка; + + ИначеЕсли СтрНайти(ПредставлениеТипа, "менеджер записи:") Тогда // TODO + + Описание = ЮТМетаданныеСервер.ОписаниеОбъектМетаданных(ТипЗнч(Объект)); + + КлючевыеРеквизиты = Новый Структура(); + Для Каждого Реквизит Из Описание.Реквизиты Цикл + Если Реквизит.Значение.ЭтоКлюч Тогда + КлючевыеРеквизиты.Вставить(Реквизит.Ключ, Объект[Реквизит.Ключ]); + КонецЕсли; + КонецЦикла; + + Менеджер = Менеджер(Описание); + Возврат Менеджер.СоздатьКлючЗаписи(КлючевыеРеквизиты); + + Иначе + + Сообщение = ЮТОбщий.НеподдерживаемыйПараметрМетода("ЮТТестовыеДанныеВызовСервера.КлючЗаписи", Объект); + ВызватьИсключение Сообщение; + + КонецЕсли; + +КонецФункции + +Функция Менеджер(ОписаниеОбъектМетаданных) + Возврат Новый(СтрШаблон("%1Менеджер.%2", ОписаниеОбъектМетаданных.ОписаниеТипа.Имя, ОписаниеОбъектМетаданных.Имя)); +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 642e21549..33662e438 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -22,10 +22,12 @@ // // Параметры: // ОписаниеТипа - ОписаниеТипов +// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы +// - Неопределено // // Возвращаемое значение: // Произвольный -Функция Фикция(ОписаниеТипа) Экспорт +Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт Если ОписаниеТипа.Типы().Количество() > 1 Тогда НомерТипа = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(ОписаниеТипа.Типы().Количество()); @@ -38,14 +40,7 @@ Если Тип = Тип("Число") Тогда - МаксимальноеЗначение = 4294967295; - Если ОписаниеТипа.КвалификаторыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный ИЛИ ЮТТестовыеДанные.СлучайноеБулево() Тогда - МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(МаксимальноеЗначение); - Значение = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(МаксимальноеЗначение, ОписаниеТипа.КвалификаторыЧисла.РазрядностьДробнойЧасти); - Иначе - МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(-МаксимальноеЗначение); - Значение = ЮТТестовыеДанные.СлучайноеОтрицательноеЧисло(МаксимальноеЗначение, ОписаниеТипа.КвалификаторыЧисла.РазрядностьДробнойЧасти); - КонецЕсли; + Значение = ФиктивноеЧисло(ОписаниеТипа); ИначеЕсли Тип = Тип("Строка") Тогда @@ -66,20 +61,83 @@ ИначеЕсли ЭтоСистемноеПеречисление(Тип) Тогда Значение = СлучайноЗначениеСистемногоПеречисления(Тип); + Иначе - Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип); + Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения); + ДобавитьТестовуюЗапись(Значение); КонецЕсли; Если Значение = Неопределено Тогда ВызватьИсключение СтрШаблон("Создание фейковых значений для `%1` не поддерживается", ОписаниеТипа); КонецЕсли; - + Возврат ОписаниеТипа.ПривестиЗначение(Значение); КонецФункции +// см. ЮТТестовыеДанные.НовоеИмяВременногоФайла +Функция НовоеИмяВременногоФайла(Расширение = Неопределено) Экспорт + + //@skip-check missing-temporary-file-deletion + Результат = ПолучитьИмяВременногоФайла(Расширение); // BSLLS:MissingTemporaryFileDeletion-off + ДобавитьВременныйФайл(Результат); + Возврат Результат; + +КонецФункции + +Процедура ДобавитьВременныйФайл(Файл) Экспорт + + БуферВременныеФайлы().Добавить(Файл); + +КонецПроцедуры + +Процедура ДобавитьТестовуюЗапись(Запись) Экспорт + +#Если Сервер Тогда + Если ТранзакцияАктивна() И ЮТНастройкиВыполнения.ВТранзакции() Тогда + Возврат; + КонецЕсли; +#КонецЕсли + Если ЮТНастройкиВыполнения.УдалениеТестовыхДанных() Тогда + БуферТестовыеДанные().Добавить(Запись); + КонецЕсли; + +КонецПроцедуры + +Процедура УдалитьТестовыеДанные() Экспорт + + ЮТФайлы.УдалитьВременныеФайлы(БуферВременныеФайлы()); + + Если ЮТНастройкиВыполнения.УдалениеТестовыхДанных() Тогда + ЮТТестовыеДанные.Удалить(БуферТестовыеДанные()); + КонецЕсли; + +КонецПроцедуры + +#Область ОбработчикиСобытий + +Процедура ПослеКаждогоТеста(ОписаниеСобытия) Экспорт + + УдалитьТестовыеДанные(); // Очистка тестовых данных на уровне теста + +КонецПроцедуры + +Процедура ПослеТестовогоНабора(ОписаниеСобытия) Экспорт + + УдалитьТестовыеДанные(); // Очистка тестовых данных на уровне теста + +КонецПроцедуры + +Процедура ПослеВсехТестов(ОписаниеСобытия) Экспорт + + УдалитьТестовыеДанные(); // Очистка тестовых данных на уровне теста + +КонецПроцедуры + +#КонецОбласти + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -129,4 +187,46 @@ КонецФункции +Функция БуферВременныеФайлы() + + Возврат Буфер("ВременныеФайлы"); + +КонецФункции + +Функция БуферТестовыеДанные() + + Возврат Буфер("ТестовыеДанные"); + +КонецФункции + +Функция Буфер(Ключ) + + ТекущийКонтекст = ЮТест.Контекст().ТекущийКонтекст(); + + Если ТекущийКонтекст.Свойство(Ключ) Тогда + Буфер = ТекущийКонтекст[Ключ]; + Иначе + Буфер = Новый Массив(); + ТекущийКонтекст.Вставить(Ключ, Буфер); + КонецЕсли; + + Возврат Буфер; + +КонецФункции + +Функция ФиктивноеЧисло(ОписаниеТипа) + + МаксимальноеЗначение = 4294967295; + Если ОписаниеТипа.КвалификаторыЧисла.ДопустимыйЗнак = ДопустимыйЗнак.Неотрицательный ИЛИ ЮТТестовыеДанные.СлучайноеБулево() Тогда + МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(МаксимальноеЗначение); + Значение = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(МаксимальноеЗначение, ОписаниеТипа.КвалификаторыЧисла.РазрядностьДробнойЧасти); + Иначе + МаксимальноеЗначение = ОписаниеТипа.ПривестиЗначение(-МаксимальноеЗначение); + Значение = ЮТТестовыеДанные.СлучайноеОтрицательноеЧисло(МаксимальноеЗначение, ОписаниеТипа.КвалификаторыЧисла.РазрядностьДробнойЧасти); + КонецЕсли; + + Возврат Значение; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/Module.bsl" index ef49ca86f..66ce2a362 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\265\321\201\321\202\321\213/Module.bsl" @@ -163,6 +163,57 @@ КонецФункции +// Устанавливает настройку удаления созданных тестовых данных +// В отличии от использования транзакции: +// +// * Умеет работать с данными созданными на клиенте +// * Только удаляет созданные данные и не откатывает изменения объектов +// * Работает с данными созданными через API работы с тестовыми данными +// * Удаляет данные созданные вне теста (в обработчиках событий, например, ПередВсемиТестами и ПередТестовымНабором) +// +// Параметры: +// УдалятьСозданныеДанные - Булево +// +// Возвращаемое значение: +// ОбщийМодуль - Этот же модуль, для замыкания +Функция УдалениеТестовыхДанных(УдалятьСозданныеДанные = Истина) Экспорт + + НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().УдалениеТестовыхДанных, УдалятьСозданныеДанные); + + Возврат ЮТТесты; + +КонецФункции + +// Устанавливает настройку переопределения обработчика события Перед... +// +// Параметры: +// ВыполнитьПеред - Строка - Имя обработчика события, который будет выполнен вместо основного +// +// Возвращаемое значение: +// ОбщийМодуль - Этот же модуль, для замыкания +Функция Перед(ВыполнитьПеред = "") Экспорт + + НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().Перед, ВыполнитьПеред); + + Возврат ЮТТесты; + +КонецФункции + +// Устанавливает настройку переопределения обработчика события После... +// +// Параметры: +// ВыполнитьПосле - Строка - Имя обработчика события, который будет выполнен вместо основного +// +// Возвращаемое значение: +// ОбщийМодуль - Этот же модуль, для замыкания +Функция После(ВыполнитьПосле = "") Экспорт + + НастройкаИсполнения(ЮТФабрика.ПараметрыИсполненияТеста().После, ВыполнитьПосле); + + Возврат ЮТТесты; + +КонецФункции + // Устанавливает параметры вызова теста. // // * Если метод вызывается первый раз, то он устанавливает параметры теста. @@ -346,12 +397,15 @@ // Возвращаемое значение: // Структура - Исполняемые сценарии: // * ТестовыеНаборы - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора - Тестовые наборы модуля +// * НастройкиВыполнения- Структура - Настройки исполнения теста Функция ИсполняемыеСценарии(МетаданныеМодуля) Структура = Новый Структура; Структура.Вставить("ТестовыеНаборы", Новый Массив()); + Структура.Вставить("НастройкиВыполнения", Новый Структура()); Набор = ЮТФабрика.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя); + Набор.НастройкиВыполнения = Структура.НастройкиВыполнения; // Общие настройки с набором по умолчанию Структура.ТестовыеНаборы.Добавить(Набор); Возврат Структура; diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index bce8b7165..9b647dbd4 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -39,10 +39,14 @@ // Функция Что(Знач ПроверяемоеЗначение, Знач Сообщение = "") Экспорт - Контекст = ИнициализироватьКонтекстУтверждения(); - Контекст.ПроверяемоеЗначение = ПроверяемоеЗначение; + Контекст = НовыйКонтекстУтверждения(ПроверяемоеЗначение); + + Контекст.ОбъектПроверки.Значение = ПроверяемоеЗначение; Контекст.ПрефиксОшибки = Сообщение; + ЮТКонтекст.УстановитьКонтекстУтверждений(Контекст); + ЮТКонтекст.УстановитьКонтекстОшибки(); + Возврат ЮТУтверждения; КонецФункции @@ -57,8 +61,10 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Метод(Знач ИмяМетода, Знач ПараметрыМетода = Неопределено) Экспорт - ПроверитьТипЗначения(ИмяМетода, "Строка", "имени метода", Истина); - ПроверитьТипЗначения(ПараметрыМетода, "Массив", "параметров метода", Истина); + Контекст = Контекст(); + + ПроверитьТипЗначения(Контекст, ИмяМетода, "Строка", "имени метода", Истина); + ПроверитьТипЗначения(Контекст, ПараметрыМетода, "Массив", "параметров метода", Истина); Контекст = Контекст(); Контекст.ИмяМетода = ИмяМетода; @@ -80,7 +86,7 @@ Контекст = Контекст(); Если НЕ ЗначениеЗаполнено(Контекст.ИмяМетода) Тогда - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения("Перед установкой параметров нужно указать метод"); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения("Перед установкой параметров нужно указать метод", Контекст); КонецЕсли; Если Контекст.ПараметрыМетода = Неопределено Тогда @@ -102,7 +108,7 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеющееПредставление(Представление) Экспорт - Контекст().ПредставлениеПроверяемогоЗначения = Представление; + Контекст().ОбъектПроверки.Представление = Представление; Возврат ЮТУтверждения; КонецФункции @@ -121,13 +127,13 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Свойство(Знач ИмяСвойства, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); Контекст = Контекст(); - Контекст.ИмяСвойства = Неопределено; // Очищаем для формирования корректного сообщения об ошибке + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + Контекст.ОбъектПроверки.ИмяСвойства = Неопределено; // Очищаем для формирования корректного сообщения об ошибке - Путь = НормализованныйПутьКСвойству(Контекст.ПроверяемоеЗначение, ИмяСвойства, Истина); + Путь = НормализованныйПутьКСвойству(Контекст.ОбъектПроверки.Значение, ИмяСвойства, Истина); - Контекст.ИмяСвойства = ИмяСвойства; + Контекст.ОбъектПроверки.ИмяСвойства = ИмяСвойства; Контекст.НормализованныйПутьКСвойству = Путь; Возврат ЮТУтверждения; @@ -146,12 +152,12 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НетСвойства(Знач ИмяСвойства, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); Контекст = Контекст(); - Контекст.ИмяСвойства = Неопределено; // Очищаем для формирования корректного сообщения об ошибке + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + Контекст.ОбъектПроверки.ИмяСвойства = Неопределено; // Очищаем для формирования корректного сообщения об ошибке - Если ЗначениеСодержитСвойство(Контекст.ПроверяемоеЗначение, ИмяСвойства) Тогда - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("не содержит свойство `%1`", ИмяСвойства), Неопределено, ИмяСвойства); + Если ЗначениеСодержитСвойство(Контекст.ОбъектПроверки.Значение, ИмяСвойства) Тогда + СгенерироватьОшибкуСравнения(СтрШаблон("не содержит свойство `%1`", ИмяСвойства), Неопределено, ИмяСвойства); КонецЕсли; Возврат ЮТУтверждения; @@ -182,7 +188,7 @@ Функция Объект() Экспорт Контекст = Контекст(); - Контекст.ИмяСвойства = Неопределено; + Контекст.ОбъектПроверки.ИмяСвойства = Неопределено; Возврат ЮТУтверждения; @@ -199,8 +205,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетСвойство(Знач ИмяСвойства, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); НормализованныйПутьКСвойству(ПроверяемоеЗначение, ИмяСвойства, Истина); Возврат ЮТУтверждения; @@ -219,11 +226,12 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеИмеетСвойства(Знач ИмяСвойства, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Если ЗначениеСодержитСвойство(ПроверяемоеЗначение, ИмяСвойства) Тогда - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("не содержит свойство `%1`", ИмяСвойства), Неопределено, ИмяСвойства); + СгенерироватьОшибкуСравнения(СтрШаблон("не содержит свойство `%1`", ИмяСвойства), Неопределено, ИмяСвойства); КонецЕсли; Возврат ЮТУтверждения; @@ -240,8 +248,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетСвойстваРавные(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ОбъектыРавны(ПроверяемоеЗначение, ОжидаемоеЗначение); Возврат ЮТУтверждения; @@ -258,8 +267,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЭтоИстина(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(Истина, Ложь, "является истиной"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, Истина, Ложь, "является истиной"); Возврат ЮТУтверждения; КонецФункции @@ -274,8 +284,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЭтоНеИстина(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(Истина, Истина, "является истиной"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, Истина, Истина, "является истиной"); Возврат ЮТУтверждения; КонецФункции @@ -290,8 +301,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЭтоЛожь(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(Ложь, Ложь, "является ложью"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, Ложь, Ложь, "является ложью"); Возврат ЮТУтверждения; КонецФункции @@ -306,8 +318,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЭтоНеЛожь(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(Ложь, Истина, "является ложью"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, Ложь, Истина, "является ложью"); Возврат ЮТУтверждения; КонецФункции @@ -325,8 +338,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Равно(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(ОжидаемоеЗначение, Ложь, СтрШаблон("равно `%1`", ОжидаемоеЗначение)); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, ОжидаемоеЗначение, Ложь, СтрШаблон("равно `%1`", ОжидаемоеЗначение)); Возврат ЮТУтверждения; КонецФункции @@ -344,8 +358,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеРавно(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(ОжидаемоеЗначение, Истина, СтрШаблон("равно `%1`", ОжидаемоеЗначение)); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, ОжидаемоеЗначение, Истина, СтрШаблон("равно `%1`", ОжидаемоеЗначение)); Возврат ЮТУтверждения; КонецФункции @@ -360,16 +375,17 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Больше(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Результат = ПроверяемоеЗначение > ОжидаемоеЗначение; Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Если Не Результат Тогда - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("больше чем `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); + СгенерироватьОшибкуСравнения(СтрШаблон("больше чем `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); КонецЕсли; Возврат ЮТУтверждения; @@ -386,16 +402,17 @@ // ОбщийМодуль - Этот модуль для замыкания Функция БольшеИлиРавно(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Результат = ПроверяемоеЗначение >= ОжидаемоеЗначение; Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Если Не Результат Тогда - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("больше или равно `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); + СгенерироватьОшибкуСравнения(СтрШаблон("больше или равно `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); КонецЕсли; Возврат ЮТУтверждения; @@ -412,16 +429,17 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Меньше(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Результат = ПроверяемоеЗначение < ОжидаемоеЗначение; Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Если Не Результат Тогда - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("меньше чем `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); + СгенерироватьОшибкуСравнения(СтрШаблон("меньше чем `%1`", ОжидаемоеЗначение), ПроверяемоеЗначение, ОжидаемоеЗначение); КонецЕсли; Возврат ЮТУтверждения; @@ -438,17 +456,18 @@ // ОбщийМодуль - Этот модуль для замыкания Функция МеньшеИлиРавно(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Результат = ПроверяемоеЗначение <= ОжидаемоеЗначение; Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Если Не Результат Тогда Сообщение = СтрШаблон("меньше или равно `%1`", ОжидаемоеЗначение); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОжидаемоеЗначение); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОжидаемоеЗначение); КонецЕсли; Возврат ЮТУтверждения; @@ -464,8 +483,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Заполнено(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьЗаполненность(Ложь); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьЗаполненность(Контекст, Ложь); Возврат ЮТУтверждения; КонецФункции @@ -479,8 +499,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеЗаполнено(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьЗаполненность(Истина); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьЗаполненность(Контекст, Истина); Возврат ЮТУтверждения; КонецФункции @@ -494,8 +515,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Существует(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьСуществование(Ложь); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьСуществование(Контекст, Ложь); Возврат ЮТУтверждения; КонецФункции @@ -509,8 +531,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеСуществует(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьСуществование(Истина); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьСуществование(Контекст, Истина); Возврат ЮТУтверждения; КонецФункции @@ -524,8 +547,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЭтоНеопределено(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(Неопределено, Ложь, "является неопределено"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, Неопределено, Ложь, "является неопределено"); Возврат ЮТУтверждения; КонецФункции @@ -539,8 +563,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЭтоНеНеопределено(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(Неопределено, Истина, "является неопределено"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, Неопределено, Истина, "является неопределено"); Возврат ЮТУтверждения; КонецФункции @@ -554,8 +579,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЭтоNull(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(Null, Ложь, "является null"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, Null, Ложь, "является null"); Возврат ЮТУтверждения; КонецФункции @@ -569,8 +595,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЭтоНеNull(Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - СравнитьЗначения(Null, Истина, "является null"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + СравнитьЗначения(Контекст, Null, Истина, "является null"); Возврат ЮТУтверждения; КонецФункции @@ -585,8 +612,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетТип(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьТипПараметра(ОжидаемоеЗначение, Ложь); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьТипПараметра(Контекст, ОжидаемоеЗначение, Ложь); Возврат ЮТУтверждения; КонецФункции @@ -601,8 +629,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеИмеетТип(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьТипПараметра(ОжидаемоеЗначение, Истина); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьТипПараметра(Контекст, ОжидаемоеЗначение, Истина); Возврат ЮТУтверждения; КонецФункции @@ -630,8 +659,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция Содержит(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьСодержание(ОжидаемоеЗначение, Ложь); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьСодержание(Контекст, ОжидаемоеЗначение, Ложь); Возврат ЮТУтверждения; КонецФункции @@ -659,8 +689,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеСодержит(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьСодержание(ОжидаемоеЗначение, Истина); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьСодержание(Контекст, ОжидаемоеЗначение, Истина); Возврат ЮТУтверждения; КонецФункции @@ -686,8 +717,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетДлину(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьДлину(ОжидаемоеЗначение, Ложь); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьДлину(Контекст, ОжидаемоеЗначение, Ложь); Возврат ЮТУтверждения; КонецФункции @@ -713,10 +745,11 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетДлинуБольше(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьТипЗначения(ОжидаемоеЗначение, "Число"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьТипЗначения(Контекст, ОжидаемоеЗначение, "Число"); - ФактическаяДлина = ДлинаПроверяемогоЗначения(); + ФактическаяДлина = ДлинаПроверяемогоЗначения(Контекст); Результат = ФактическаяДлина > ОжидаемоеЗначение; Сообщение = СтрШаблон("имеет длину (размер) больше `%1`", ОжидаемоеЗначение); @@ -746,10 +779,11 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ИмеетДлинуМеньше(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьТипЗначения(ОжидаемоеЗначение, "Число"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьТипЗначения(Контекст, ОжидаемоеЗначение, "Число"); - ФактическаяДлина = ДлинаПроверяемогоЗначения(); + ФактическаяДлина = ДлинаПроверяемогоЗначения(Контекст); Результат = ФактическаяДлина < ОжидаемоеЗначение; Сообщение = СтрШаблон("имеет длину (размер) меньше `%1`", ОжидаемоеЗначение); @@ -779,8 +813,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеИмеетДлину(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьДлину(ОжидаемоеЗначение, Истина); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьДлину(Контекст, ОжидаемоеЗначение, Истина); Возврат ЮТУтверждения; КонецФункции @@ -795,26 +830,26 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ВыбрасываетИсключение(Знач ОжидаемоеЗначение, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); Попытка - Контекст = Контекст(); - Модуль = ПроверяемоеЗначение(); + Модуль = ПроверяемоеЗначение(Контекст); Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода); Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Если Не Результат.ИсключениеВозникло Тогда ТекстОшибки = СтрШаблон("ожидали, что метод `%1` вызовет исключение `%2`, но это не так.", Контекст.ИмяМетода, ОжидаемоеЗначение); ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение); - ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки); + ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст); ИначеЕсли СтрНайти(Результат.ТекстИсключения, ОжидаемоеЗначение) = 0 Тогда ТекстОшибки = СтрШаблон("ожидали, что метод `%1` вызовет исключение `%2`, но получили `%3`.", Контекст.ИмяМетода, ОжидаемоеЗначение, Результат.ТекстИсключения); ЮТРегистрацияОшибок.УстановитьДанныеОшибкиСравнения(Результат.ТекстИсключения, ОжидаемоеЗначение); - ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки); + ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст); Иначе Возврат ЮТУтверждения; КонецЕсли; @@ -832,13 +867,13 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НеВыбрасываетИсключение(Знач ОжидаемоеЗначение = Неопределено, Знач ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); Попытка - Контекст = Контекст(); - Модуль = ПроверяемоеЗначение(); + Модуль = ПроверяемоеЗначение(Контекст); Результат = ВызватьМетод(Модуль, Контекст.ИмяМетода, Контекст.ПараметрыМетода) Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Если Результат.ИсключениеВозникло Тогда @@ -846,10 +881,10 @@ Если НЕ ЗначениеЗаполнено(ОжидаемоеЗначение) Тогда ТекстОшибки = СтрШаблон("ожидали, что метод `%1` не вызовет исключение, но это не так.", Контекст.ИмяМетода); - ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки); + ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст); ИначеЕсли СтрНайти(Результат.ТекстИсключения, ОжидаемоеЗначение) <> 0 Тогда ТекстОшибки = СтрШаблон("ожидали, что метод `%1` не вызовет исключение `%2`, но это не так.", Контекст.ИмяМетода, ОжидаемоеЗначение); - ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки); + ЮТРегистрацияОшибок.ВызватьОшибкуПроверки(ТекстОшибки, Контекст); КонецЕсли; КонецЕсли; @@ -869,17 +904,18 @@ // ОбщийМодуль - Этот модуль для замыкания Функция НачинаетсяС(СтрокаПоиска, ОписаниеПроверки = Неопределено) Экспорт - ПроверяемоеЗначение = ПроверяемоеЗначение(); - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьТипЗначения(ПроверяемоеЗначение, "Строка", "проверяемого значения"); - ПроверитьТипЗначения(СтрокаПоиска, "Строка", "ожидаемого значения"); - ПроверитьЗаполненностьЗначения(СтрокаПоиска, "ожидаемое значение"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); + ПроверитьТипЗначения(Контекст, ПроверяемоеЗначение, "Строка", "проверяемого значения"); + ПроверитьТипЗначения(Контекст, СтрокаПоиска, "Строка", "ожидаемого значения"); + ПроверитьЗаполненностьЗначения(Контекст, СтрокаПоиска, "ожидаемое значение"); Результат = СтрНачинаетсяС(ПроверяемоеЗначение, СтрокаПоиска); Если НЕ Результат Тогда Сообщение = СтрШаблон("начинается с `%1`", СтрокаПоиска); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, СтрокаПоиска); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, СтрокаПоиска); КонецЕсли; Возврат ЮТУтверждения; @@ -898,17 +934,18 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЗаканчиваетсяНа(СтрокаПоиска, ОписаниеПроверки = Неопределено) Экспорт - ПроверяемоеЗначение = ПроверяемоеЗначение(); - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьТипЗначения(ПроверяемоеЗначение, "Строка", "проверяемого значения"); - ПроверитьТипЗначения(СтрокаПоиска, "Строка", "ожидаемого значения"); - ПроверитьЗаполненностьЗначения(СтрокаПоиска, "ожидаемое значение"); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); + ПроверитьТипЗначения(Контекст, ПроверяемоеЗначение, "Строка", "проверяемого значения"); + ПроверитьТипЗначения(Контекст, СтрокаПоиска, "Строка", "ожидаемого значения"); + ПроверитьЗаполненностьЗначения(Контекст, СтрокаПоиска, "ожидаемое значение"); Результат = СтрЗаканчиваетсяНа(ПроверяемоеЗначение, СтрокаПоиска); Если НЕ Результат Тогда Сообщение = СтрШаблон("заканчивается на `%1`", СтрокаПоиска); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, СтрокаПоиска); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, СтрокаПоиска); КонецЕсли; Возврат ЮТУтверждения; @@ -928,8 +965,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция МеждуВключаяГраницы(НачалоИнтервала, ОкончаниеИнтервала, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьМежду(НачалоИнтервала, ОкончаниеИнтервала, Истина, Истина); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьМежду(Контекст, НачалоИнтервала, ОкончаниеИнтервала, Истина, Истина); Возврат ЮТУтверждения; КонецФункции @@ -947,8 +985,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция МеждуИсключаяГраницы(НачалоИнтервала, ОкончаниеИнтервала, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьМежду(НачалоИнтервала, ОкончаниеИнтервала, Ложь, Ложь); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьМежду(Контекст, НачалоИнтервала, ОкончаниеИнтервала, Ложь, Ложь); Возврат ЮТУтверждения; КонецФункции @@ -966,8 +1005,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция МеждуВключаяНачалоГраницы(НачалоИнтервала, ОкончаниеИнтервала, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьМежду(НачалоИнтервала, ОкончаниеИнтервала, Истина, Ложь); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьМежду(Контекст, НачалоИнтервала, ОкончаниеИнтервала, Истина, Ложь); Возврат ЮТУтверждения; КонецФункции @@ -985,8 +1025,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция МеждуВключаяОкончаниеГраницы(НачалоИнтервала, ОкончаниеИнтервала, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверитьМежду(НачалоИнтервала, ОкончаниеИнтервала, Ложь, Истина); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверитьМежду(Контекст, НачалоИнтервала, ОкончаниеИнтервала, Ложь, Истина); Возврат ЮТУтверждения; КонецФункции @@ -1001,15 +1042,16 @@ // ОбщийМодуль - Этот модуль для замыкания Функция КаждыйЭлементСодержитСвойство(ИмяСвойства, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ОбъектПроверки = "каждый элемент проверяемого значения"; Для Каждого Элемент Из ПроверяемоеЗначение Цикл Если НЕ ЗначениеСодержитСвойство(Элемент, ИмяСвойства) Тогда Сообщение = СтрШаблон("содержит свойство `%1`", ИмяСвойства); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ИмяСвойства, ОбъектПроверки); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ИмяСвойства, ОбъектПроверки); КонецЕсли; КонецЦикла; @@ -1030,8 +1072,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция КаждыйЭлементСодержитСвойствоСоЗначением(ИмяСвойства, ОжидаемоеЗначение, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ОбъектПроверки = "каждый элемент проверяемого значения"; ОписаниеОжидания = Новый Структура(ИмяСвойства, ОжидаемоеЗначение); @@ -1040,14 +1083,14 @@ Путь = НормализованныйПутьКСвойству(Элемент, ИмяСвойства, Ложь); Если Путь = Неопределено Тогда Сообщение = СтрШаблон("содержит свойство `%1`", ИмяСвойства); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОписаниеОжидания, ОбъектПроверки); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОписаниеОжидания, ОбъектПроверки); КонецЕсли; ЗначениеСвойства = ЗначениеСвойства(Элемент, Путь); Если НЕ ЗначенияРавны(ЗначениеСвойства, ОжидаемоеЗначение) Тогда Сообщение = СтрШаблон("содержит свойство `%1`, которое равно `%2`", ИмяСвойства, ОжидаемоеЗначение); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОписаниеОжидания, ОбъектПроверки); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОписаниеОжидания, ОбъектПроверки); КонецЕсли; КонецЦикла; @@ -1066,8 +1109,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЛюбойЭлементСодержитСвойство(ИмяСвойства, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ОбъектПроверки = "хоть один элемент проверяемого значения"; Найден = Ложь; @@ -1082,7 +1126,7 @@ Если НЕ Найден Тогда Сообщение = СтрШаблон("содержит свойство `%1`", ИмяСвойства); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ИмяСвойства, ОбъектПроверки); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ИмяСвойства, ОбъектПроверки); КонецЕсли; Возврат ЮТУтверждения; @@ -1101,8 +1145,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЛюбойЭлементСодержитСвойствоСоЗначением(ИмяСвойства, ОжидаемоеЗначение, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ОбъектПроверки = "хоть один элемент проверяемого значения"; НайденоСвойство = Ложь; @@ -1127,10 +1172,10 @@ ОписаниеОжидания = Новый Структура(ИмяСвойства, ОжидаемоеЗначение); Если НЕ НайденоСвойство Тогда Сообщение = СтрШаблон("содержит свойство `%1`", ИмяСвойства); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОписаниеОжидания, ОбъектПроверки); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОписаниеОжидания, ОбъектПроверки); ИначеЕсли НЕ НайденоЗначение Тогда Сообщение = СтрШаблон("содержит свойство `%1`, которое равно `%2`", ИмяСвойства, ОжидаемоеЗначение); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОписаниеОжидания, ОбъектПроверки); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОписаниеОжидания, ОбъектПроверки); КонецЕсли; Возврат ЮТУтверждения; @@ -1150,15 +1195,16 @@ // ОбщийМодуль - Этот модуль для замыкания Функция СоответствуетПредикату(Предикат, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке(ПроверяемоеЗначение, ОписаниеПроверки); РезультатПроверки = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(ПроверяемоеЗначение, Предикат, ПараметрыСообщенийОбОшибке); Если НЕ РезультатПроверки.Успешно Тогда - ОбработатьРезультатПроверки(РезультатПроверки); + ОбработатьРезультатПроверки(Контекст, РезультатПроверки); КонецЕсли; Возврат ЮТУтверждения; @@ -1179,8 +1225,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция КаждыйЭлементСоответствуетПредикату(Предикат, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке(ПроверяемоеЗначение, ОписаниеПроверки, "каждый элемент проверяемого значения"); @@ -1188,7 +1235,7 @@ РезультатПроверки = ЮТПредикатыКлиентСервер.ПроверитьПредикаты(Элемент, Предикат, ПараметрыСообщенийОбОшибке); Если НЕ РезультатПроверки.Успешно Тогда - ОбработатьРезультатПроверки(РезультатПроверки); + ОбработатьРезультатПроверки(Контекст, РезультатПроверки); КонецЕсли; КонецЦикла; @@ -1211,8 +1258,9 @@ // ОбщийМодуль - Этот модуль для замыкания Функция ЛюбойЭлементСоответствуетПредикату(Предикат, ОписаниеПроверки = Неопределено) Экспорт - УстановитьОписаниеПроверки(ОписаниеПроверки); - ПроверяемоеЗначение = ПроверяемоеЗначение(); + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ПараметрыСообщенийОбОшибке = ПараметрыСообщенийОбОшибке(ПроверяемоеЗначение, ОписаниеПроверки); @@ -1230,7 +1278,7 @@ Если НЕ Успешно Тогда Сообщение = ЮТПредикатыКлиентСервер.ПредставлениеПредикатов(Предикат, " и "); - ЮТРегистрацияОшибок.СгенерироватьОшибкуУтверждения(Сообщение, ПроверяемоеЗначение, "один из элементов проверяемого значения"); + СгенерироватьОшибкуУтверждения(Сообщение, ПроверяемоеЗначение, "один из элементов проверяемого значения"); КонецЕсли; Возврат ЮТУтверждения; @@ -1247,45 +1295,11 @@ // Используется для принудительного сброса контекста утверждения Процедура СброситьКонтекст() Экспорт - ИнициализироватьКонтекстУтверждения(); + ЮТКонтекст.УстановитьКонтекстУтверждений(Неопределено); + ЮТКонтекст.УстановитьКонтекстОшибки(); КонецПроцедуры -// Инициализирует контекст утверждений -// -// Возвращаемое значение: -// Структура - контекст утверждений: -// * ПроверяемоеЗначение - Произвольный -// - Неопределено -// * ПредставлениеПроверяемогоЗначения - Неопределено -// - Строка -// * ПрефиксОшибки - Строка -// * ИмяМетода - Строка -// * ИмяСвойства - Строка -// - Неопределено -// * НормализованныйПутьКСвойству - Неопределено - Не указано свойство -// - Массив из Строка, Число -// * ПараметрыМетода - Неопределено - Не установлены -// - Массив из Произвольный -// * ОписаниеПроверки - Строка -// - Неопределено -Функция НовыйКонтекстУтверждения() Экспорт - - Контекст = Новый Структура; - - Контекст.Вставить("ПроверяемоеЗначение", Неопределено); - Контекст.Вставить("ПредставлениеПроверяемогоЗначения", Неопределено); - Контекст.Вставить("ПрефиксОшибки", ""); - Контекст.Вставить("ИмяМетода", ""); - Контекст.Вставить("ИмяСвойства", Неопределено); - Контекст.Вставить("НормализованныйПутьКСвойству", Неопределено); - Контекст.Вставить("ПараметрыМетода", Неопределено); - Контекст.Вставить("ОписаниеПроверки", Неопределено); - - Возврат Контекст; - -КонецФункции - // Обработчик события "ПередКаждымТестом" // // Параметры: @@ -1302,39 +1316,50 @@ #Область Контекст -Функция ИнициализироватьКонтекстУтверждения() - - Контекст = НовыйКонтекстУтверждения(); - - ЮТКонтекст.УстановитьКонтекстУтверждений(Контекст); - ЮТКонтекст.УстановитьКонтекстОшибки(); +// Контекст. +// +// Возвращаемое значение: +// см. НовыйКонтекстУтверждения +Функция Контекст() Экспорт - Возврат Контекст; + //@skip-check constructor-function-return-section + Возврат ЮТКонтекст.КонтекстПроверки(); КонецФункции -Функция Контекст() Экспорт +// Инициализирует контекст утверждений +// +// Параметры: +// ПроверяемоеЗначение - Произвольный - Проверяемое значение +// +// Возвращаемое значение: +// Структура - контекст утверждений: +// * ОбъектПроверки - см. ЮТФабрика.ОписаниеПроверяемогоЗначения +// * ИмяМетода - Строка +// * НормализованныйПутьКСвойству - Неопределено - Не указано свойство +// - Массив из Строка, Число +// * ПараметрыМетода - Неопределено - Не установлены +// - Массив из Произвольный +Функция НовыйКонтекстУтверждения(ПроверяемоеЗначение) - КонтекстУтверждения = ЮТКонтекст.КонтекстПроверки(); + Контекст = ЮТФабрика.ОписаниеПроверки(ПроверяемоеЗначение); - Если КонтекстУтверждения = Неопределено Тогда - КонтекстУтверждения = ИнициализироватьКонтекстУтверждения(); - КонецЕсли; + Контекст.Вставить("ИмяМетода", ""); + Контекст.Вставить("НормализованныйПутьКСвойству", Неопределено); + Контекст.Вставить("ПараметрыМетода", Неопределено); - Возврат КонтекстУтверждения; + Возврат Контекст; КонецФункции #КонецОбласти -Функция ПроверяемоеЗначение() +Функция ПроверяемоеЗначение(Контекст) - Контекст = Контекст(); - - Если Контекст.ИмяСвойства <> Неопределено Тогда - Значение = ЗначениеСвойства(Контекст.ПроверяемоеЗначение, Контекст.НормализованныйПутьКСвойству); + Если Контекст.ОбъектПроверки.ИмяСвойства <> Неопределено Тогда + Значение = ЗначениеСвойства(Контекст.ОбъектПроверки.Значение, Контекст.НормализованныйПутьКСвойству); Иначе - Значение = Контекст.ПроверяемоеЗначение; + Значение = Контекст.ОбъектПроверки.Значение; КонецЕсли; Возврат Значение; @@ -1387,7 +1412,7 @@ ПозицияИндекса = СтрНайти(Часть, "["); - Если ПозицияИндекса > 0 И ПозицияИндекса > 0 И СтрЗаканчиваетсяНа(Часть, "]") Тогда + Если ПозицияИндекса > 0 И СтрЗаканчиваетсяНа(Часть, "]") Тогда Если ПозицияИндекса > 1 Тогда ПутьКСвойству.Добавить(Лев(Часть, ПозицияИндекса - 1)); @@ -1412,11 +1437,7 @@ КонецЦикла; - ИначеЕсли ТипПути = Тип("Соответствие") Тогда - - ПутьКСвойству.Добавить(Цепочка); - - ИначеЕсли ТипПути = Тип("Число") Тогда + Иначе ПутьКСвойству.Добавить(Цепочка); @@ -1442,7 +1463,7 @@ Значение = Значение[Часть]; ИначеЕсли ФиксироватьОшибку Тогда ПутьСвойства = СтрСоединить(ПройденныйПуть, "."); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(СтрШаблон("содержит свойство `%1`", ПутьСвойства), Значение, Цепочка); + СгенерироватьОшибкуСравнения(СтрШаблон("содержит свойство `%1`", ПутьСвойства), Значение, Цепочка); Иначе Возврат Неопределено; КонецЕсли; @@ -1596,14 +1617,14 @@ #Область ПроверкаТипов -Процедура ПроверитьТипПараметра(Знач ОжидаемоеЗначение, Реверс = Ложь) +Процедура ПроверитьТипПараметра(Контекст, Знач ОжидаемоеЗначение, Реверс = Ложь) Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); - ПроверитьТипЗначения(ОжидаемоеЗначение, Новый ОписаниеТипов("ОписаниеТипов, Тип, Строка")); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); + ПроверитьТипЗначения(Контекст, ОжидаемоеЗначение, Новый ОписаниеТипов("ОписаниеТипов, Тип, Строка")); Результат = ТипЗначенияСоответствует(ПроверяемоеЗначение, ОжидаемоеЗначение); Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Сообщение = СтрШаблон("имеет тип `%1`", ОжидаемоеЗначение); @@ -1611,7 +1632,8 @@ КонецПроцедуры -Процедура ПроверитьТипЗначения(Значение, +Процедура ПроверитьТипЗначения(Контекст, + Значение, Знач ОжидаемыйТип, Описание = "ожидаемого значения", ЕслиУстановлен = Ложь, @@ -1629,7 +1651,7 @@ ТипЗнч(Значение), ОжидаемыйТип, Суффикс); - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст); КонецЕсли; КонецПроцедуры @@ -1689,62 +1711,62 @@ КонецФункции -Процедура УстановитьОписаниеПроверки(ОписаниеПроверки) +Процедура УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки) - Контекст().ОписаниеПроверки = ОписаниеПроверки; + Контекст.ОписаниеПроверки = ОписаниеПроверки; КонецПроцедуры -Процедура СравнитьЗначения(ОжидаемоеЗначение, Реверс, Сообщение) +Процедура СравнитьЗначения(Контекст, ОжидаемоеЗначение, Реверс, Сообщение) Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Результат = ЗначенияРавны(ПроверяемоеЗначение, ОжидаемоеЗначение); Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; ОбработатьРезультатСравнения(Результат, Сообщение, Реверс, ПроверяемоеЗначение, ОжидаемоеЗначение); КонецПроцедуры -Процедура ПроверитьЗаполненность(Реверс) +Процедура ПроверитьЗаполненность(Контекст, Реверс) Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Результат = ЗначениеЗаполнено(ПроверяемоеЗначение); Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; ОбработатьРезультатСравнения(Результат, "является заполненным", Реверс, ПроверяемоеЗначение, Неопределено); КонецПроцедуры -Процедура ПроверитьСуществование(Реверс) +Процедура ПроверитьСуществование(Контекст, Реверс) Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Результат = ПроверяемоеЗначение <> Null И ПроверяемоеЗначение <> Неопределено; Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; ОбработатьРезультатСравнения(Результат, "существует", Реверс, ПроверяемоеЗначение, Неопределено); КонецПроцедуры -Процедура ПроверитьСодержание(ОжидаемоеЗначение, Реверс) +Процедура ПроверитьСодержание(Контекст, ОжидаемоеЗначение, Реверс) Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); Результат = НайтиЗначение(ПроверяемоеЗначение, ОжидаемоеЗначение); Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Если Результат = Неопределено Тогда ТекстОшибки = СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст); КонецЕсли; Сообщение = СтрШаблон("содержит `%1`", ОжидаемоеЗначение); @@ -1752,29 +1774,29 @@ КонецПроцедуры -Функция ДлинаПроверяемогоЗначения() +Функция ДлинаПроверяемогоЗначения(Контекст) Попытка - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ФактическаяДлина = ДлинаЗначения(ПроверяемоеЗначение); Исключение - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке()); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ИнформацияОбОшибке(), Контекст); КонецПопытки; Если ФактическаяДлина = Неопределено Тогда ТекстОшибки = СтрШаблон("Тип проверяемого значения `%1` не обрабатывается утверждением", ТипЗнч(ПроверяемоеЗначение)); - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст); КонецЕсли; Возврат ФактическаяДлина; КонецФункции -Процедура ПроверитьДлину(ОжидаемоеЗначение, Реверс) +Процедура ПроверитьДлину(Контекст, ОжидаемоеЗначение, Реверс) - ПроверитьТипЗначения(ОжидаемоеЗначение, "Число"); + ПроверитьТипЗначения(Контекст, ОжидаемоеЗначение, "Число"); - ФактическаяДлина = ДлинаПроверяемогоЗначения(); + ФактическаяДлина = ДлинаПроверяемогоЗначения(Контекст); Результат = ФактическаяДлина = ОжидаемоеЗначение; Сообщение = СтрШаблон("имеет длину (размер) `%1`", ОжидаемоеЗначение); @@ -1790,26 +1812,26 @@ КонецЕсли; Если Не Результат Тогда - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОжидаемоеЗначение); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, ОжидаемоеЗначение); КонецЕсли; КонецПроцедуры -Процедура ПроверитьМежду(НачалоИнтервала, ОкончаниеИнтервала, ВключаяНачало, ВключаяОкончание) +Процедура ПроверитьМежду(Контекст, НачалоИнтервала, ОкончаниеИнтервала, ВключаяНачало, ВключаяОкончание) - ПроверяемоеЗначение = ПроверяемоеЗначение(); + ПроверяемоеЗначение = ПроверяемоеЗначение(Контекст); ТипЗначения = ТипЗнч(ПроверяемоеЗначение); Суффикс = ". Он должен совпадать с типом проверяемого значения"; - ПроверитьТипЗначения(НачалоИнтервала, ТипЗначения, "левой границы интервала", , Суффикс); - ПроверитьТипЗначения(ОкончаниеИнтервала, ТипЗначения, "правой границы интервала", , Суффикс); + ПроверитьТипЗначения(Контекст, НачалоИнтервала, ТипЗначения, "левой границы интервала", , Суффикс); + ПроверитьТипЗначения(Контекст, ОкончаниеИнтервала, ТипЗначения, "правой границы интервала", , Суффикс); Если НачалоИнтервала > ОкончаниеИнтервала Тогда ТекстОшибки = СтрШаблон("Не корректно задан интервал, левая граница (%1) не должна быть больше правой (%2)", НачалоИнтервала, ОкончаниеИнтервала); - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст); КонецЕсли; Результат = Истина; @@ -1830,18 +1852,18 @@ ?(ВключаяНачало, "[", "("), НачалоИнтервала, ОкончаниеИнтервала, - ?(ВключаяОкончание, "]", ")"),); + ?(ВключаяОкончание, "]", ")")); Сообщение = "находится в интервале " + Интервал; - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, Интервал); + СгенерироватьОшибкуСравнения(Сообщение, ПроверяемоеЗначение, Интервал); КонецЕсли; КонецПроцедуры -Процедура ПроверитьЗаполненностьЗначения(Значение, Описание) +Процедура ПроверитьЗаполненностьЗначения(Контекст, Значение, Описание) Если НЕ ЗначениеЗаполнено(Значение) Тогда ТекстОшибки = СтрШаблон("Ожидали, что %1 заполнено, но это не так", Описание); - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(ТекстОшибки, Контекст); КонецЕсли; КонецПроцедуры @@ -1868,19 +1890,19 @@ Если Не ЭтоСоответствие И (Не СтруктураОбъекта.Свойство(Ключ) Или СтруктураОбъекта[Ключ] = ЗначениеОтсутствующегоРеквизита) Тогда Сообщение = СтрШаблон("не содержат свойство '%1'", Ключ); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, СтруктураОбъекта, ОбъектЭталон); + СгенерироватьОшибкуСравнения(Сообщение, СтруктураОбъекта, ОбъектЭталон); КонецЕсли; Если НЕ ЗначенияРавны(Объект[Ключ], ОбъектЭталон[Ключ]) Тогда Сообщение = СтрШаблон("имеет свойство '%1', которое равно `%2`", Ключ, ОбъектЭталон[Ключ]); - ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Сообщение, СтруктураОбъекта, ОбъектЭталон); + СгенерироватьОшибкуСравнения(Сообщение, СтруктураОбъекта, ОбъектЭталон); КонецЕсли; КонецЦикла; КонецПроцедуры -Процедура ОбработатьРезультатПроверки(Результат) +Процедура ОбработатьРезультатПроверки(Контекст, Результат) Если НЕ Результат.Успешно Тогда @@ -1892,7 +1914,7 @@ ТекстИсключения = СтрШаблон("%1 <%2>", ЮТРегистрацияОшибок.ПрефиксОшибкиУтверждений(), Сообщение.Сообщение); ВызватьИсключение ТекстИсключения; Иначе - ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(Сообщение); + ЮТРегистрацияОшибок.СгенерироватьОшибкуВыполнения(Сообщение, Контекст); КонецЕсли; КонецЦикла; @@ -1913,4 +1935,25 @@ КонецФункции +// Вызывает ошибку проверки утверждений +// При этом сохраняет в контекст состояние, для дальнейшей обработки +// +// Параметры: +// Сообщение - Строка +// ПроверяемоеЗначение - Произвольный +// ОбъектПроверки - Строка - Человекочитаемое описание проверяемого значения +Процедура СгенерироватьОшибкуУтверждения(Сообщение, ПроверяемоеЗначение, ОбъектПроверки = "проверяемое значение") + + Контекст = Контекст(); + ЮТРегистрацияОшибок.СгенерироватьОшибкуУтверждения(Контекст, Сообщение, ПроверяемоеЗначение, ОбъектПроверки); + +КонецПроцедуры + +Процедура СгенерироватьОшибкуСравнения(Сообщение, ФактическоеЗначение, ОжидаемоеЗначение, ОбъектПроверки = "проверяемое значение") + + Контекст = Контекст(); + ЮТРегистрацияОшибок.СгенерироватьОшибкуСравнения(Контекст, Сообщение, ФактическоеЗначение, ОжидаемоеЗначение, ОбъектПроверки); + +КонецПроцедуры + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/Module.bsl" new file mode 100644 index 000000000..ff3a3df66 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/Module.bsl" @@ -0,0 +1,300 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +/////////////////////////////////////////////////////////////////// +// Предоставляет методы для формирования утверждений проверяющих данные информационной базы. +// +// Например: +// +// ```bsl +// ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары") +// .СодержитЗаписи(); +// ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют") +// .СодержитЗаписи(ЮТест.Предикат() +// .Реквизит("Валюта").Равно(ДанныеРегистра.Валюта)); +// ``` +/////////////////////////////////////////////////////////////////// +#Область ПрограммныйИнтерфейс + +// Инициализирует модуль для проверки утверждений. +// +// * Запоминает/устанавливает имя проверяемой таблицы +// * Запоминает описание. +// +// Параметры: +// ИмяТаблицы - Строка - Имя проверяемой таблицы, например, Справочник.Товары, РегистрНакопления.ТоварыНаСкладах +// ОписаниеПроверки - Строка - Описание проверки, которое будет выведено при возникновении ошибки +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +// Примеры +// ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары").СодержитЗаписи(); +// +Функция ЧтоТаблица(ИмяТаблицы, ОписаниеПроверки = "") Экспорт + + Контекст = НовыйКонтекст(ИмяТаблицы); + Контекст.ПрефиксОшибки = ОписаниеПроверки; + + ЮТКонтекст.УстановитьЗначениеКонтекста(ИмяКонтекста(), Контекст); + + Возврат ЮТУтвержденияИБ; + +КонецФункции + +// Проверяет наличие в таблице записей удовлетворяющих условиям +// +// Параметры: +// Предикат - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат +// - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить +// - см. ЮТФабрика.ВыражениеПредиката +// - Неопределено - Проверит, что таблица не пустая +// ОписаниеУтверждения - Строка - Описание конкретного утверждения +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция СодержитЗаписи(Знач Предикат = Неопределено, Знач ОписаниеУтверждения = Неопределено) Экспорт + + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеУтверждения); + Результат = ЮТЗапросы.ТаблицаСодержитЗаписи(Контекст.ОбъектПроверки.Значение, Предикат); + + Если Не Результат Тогда + Контекст = Контекст(); + СгенерироватьОшибкуУтверждения(Контекст, Предикат, "содержит записи"); + КонецЕсли; + + Возврат ЮТУтвержденияИБ; + +КонецФункции + +// Проверяет отсутствие в таблице записей удовлетворяющих условиям +// +// Параметры: +// Предикат - ОбщийМодуль - Условия сформированные с использованием см. ЮТест.Предикат +// - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить +// - см. ЮТФабрика.ВыражениеПредиката +// - Неопределено - Проверит, что таблица пустая +// ОписаниеУтверждения - Строка - Описание конкретного утверждения +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция НеСодержитЗаписи(Знач Предикат = Неопределено, Знач ОписаниеУтверждения = Неопределено) Экспорт + + Контекст = Контекст(); + УстановитьОписаниеПроверки(Контекст, ОписаниеУтверждения); + Результат = НЕ ЮТЗапросы.ТаблицаСодержитЗаписи(Контекст.ОбъектПроверки.Значение, Предикат); + + Если Не Результат Тогда + Контекст = Контекст(); + СгенерироватьОшибкуУтверждения(Контекст, Предикат, "не содержит записи"); + КонецЕсли; + + Возврат ЮТУтвержденияИБ; + +КонецФункции + +// Проверяет наличие в таблице записей с указанным наименованием +// +// Параметры: +// ОжидаемоеНаименование - Строка +// ПроверятьПометкуУдаления - Булево - Проверять пометку удаления. +// + `Истина` - Подбираются только непомеченные на удаление записи. +// + `Ложь` - пометка на удаление игнорируется +// +// ОписаниеУтверждения - Строка - Описание конкретного утверждения +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция СодержитЗаписиСНаименованием(ОжидаемоеНаименование, ПроверятьПометкуУдаления = Истина, ОписаниеУтверждения = Неопределено) Экспорт + + Условия = ПредикатПоискаПоРеквизиту("Наименование", ОжидаемоеНаименование, ПроверятьПометкуУдаления); + Возврат СодержитЗаписи(Условия, ОписаниеУтверждения); + +КонецФункции + +// Проверяет наличие в таблице записей с указанным кодом +// +// Параметры: +// ОжидаемыйКод - Строка +// ПроверятьПометкуУдаления - Булево - Проверять пометку удаления. +// + `Истина` - Подбираются только непомеченные на удаление записи. +// + `Ложь` - пометка на удаление игнорируется +// +// ОписаниеУтверждения - Строка - Описание конкретного утверждения +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция СодержитЗаписиСКодом(ОжидаемыйКод, ПроверятьПометкуУдаления = Истина, ОписаниеУтверждения = Неопределено) Экспорт + + Условия = ПредикатПоискаПоРеквизиту("Код", ОжидаемыйКод, ПроверятьПометкуУдаления); + Возврат СодержитЗаписи(Условия, ОписаниеУтверждения); + +КонецФункции + +// Проверяет наличие в таблице записей с указанным номером +// +// Параметры: +// ОжидаемыйНомер - Строка +// ПроверятьПометкуУдаления - Булево - Проверять пометку удаления. +// + `Истина` - Подбираются только непомеченные на удаление записи. +// + `Ложь` - пометка на удаление игнорируется +// +// ОписаниеУтверждения - Строка - Описание конкретного утверждения +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция СодержитЗаписиСНомером(ОжидаемыйНомер, ПроверятьПометкуУдаления = Истина, ОписаниеУтверждения = Неопределено) Экспорт + + Условия = ПредикатПоискаПоРеквизиту("Номер", ОжидаемыйНомер, ПроверятьПометкуУдаления); + Возврат СодержитЗаписи(Условия, ОписаниеУтверждения); + +КонецФункции + +// Проверяет отсутствие в таблице записей с указанным наименованием +// +// Параметры: +// ОжидаемоеНаименование - Строка +// ПроверятьПометкуУдаления - Булево - Проверять пометку удаления. +// + `Истина` - Подбираются только непомеченные на удаление записи. +// + `Ложь` - пометка на удаление игнорируется +// +// ОписаниеУтверждения - Строка - Описание конкретного утверждения +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция НеСодержитЗаписиСНаименованием(ОжидаемоеНаименование, ПроверятьПометкуУдаления = Истина, ОписаниеУтверждения = Неопределено) Экспорт + + Условия = ПредикатПоискаПоРеквизиту("Наименование", ОжидаемоеНаименование, ПроверятьПометкуУдаления); + Возврат НеСодержитЗаписи(Условия, ОписаниеУтверждения); + +КонецФункции + +// Проверяет отсутствие в таблице записей с указанным кодом +// +// Параметры: +// ОжидаемыйКод - Строка +// ПроверятьПометкуУдаления - Булево - Проверять пометку удаления. +// + `Истина` - Подбираются только непомеченные на удаление записи. +// + `Ложь` - пометка на удаление игнорируется +// +// ОписаниеУтверждения - Строка - Описание конкретного утверждения +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция НеСодержитЗаписиСКодом(ОжидаемыйКод, ПроверятьПометкуУдаления = Истина, ОписаниеУтверждения = Неопределено) Экспорт + + Условия = ПредикатПоискаПоРеквизиту("Код", ОжидаемыйКод, ПроверятьПометкуУдаления); + Возврат НеСодержитЗаписи(Условия, ОписаниеУтверждения); + +КонецФункции + +// Проверяет отсутствие в таблице записей с указанным номером +// +// Параметры: +// ОжидаемыйНомер - Строка +// ПроверятьПометкуУдаления - Булево - Проверять пометку удаления. +// + `Истина` - Подбираются только непомеченные на удаление записи. +// + `Ложь` - пометка на удаление игнорируется +// +// ОписаниеУтверждения - Строка - Описание конкретного утверждения +// +// Возвращаемое значение: +// ОбщийМодуль - Этот модуль для замыкания +Функция НеСодержитЗаписиСНомером(ОжидаемыйНомер, ПроверятьПометкуУдаления = Истина, ОписаниеУтверждения = Неопределено) Экспорт + + Условия = ПредикатПоискаПоРеквизиту("Номер", ОжидаемыйНомер, ПроверятьПометкуУдаления); + Возврат НеСодержитЗаписи(Условия, ОписаниеУтверждения); + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#Область Контекст + +// Контекст. +// +// Возвращаемое значение: +// см. НовыйКонтекст +Функция Контекст() + + //@skip-check constructor-function-return-section + Возврат ЮТКонтекст.ЗначениеКонтекста(ИмяКонтекста()); + +КонецФункции + +// Инициализирует контекст +// +// Параметры: +// ИмяТаблицы - Строка +// +// Возвращаемое значение: +// см. ЮТФабрика.ОписаниеПроверки +Функция НовыйКонтекст(ИмяТаблицы) + + Контекст = ЮТФабрика.ОписаниеПроверки(ИмяТаблицы); + + Возврат Контекст; + +КонецФункции + +Функция ИмяКонтекста() + + Возврат "КонтекстУтвержденияИБ"; + +КонецФункции + +#КонецОбласти + +Процедура СгенерироватьОшибкуУтверждения(Контекст, Предикат, Сообщение) + + Если Предикат <> Неопределено Тогда + ПредставлениеПредиката = ЮТПредикатыКлиентСервер.ПредставлениеПредикатов(Предикат, ", ", "`%1`"); + КонецЕсли; + + Если ЗначениеЗаполнено(ПредставлениеПредиката) Тогда + СообщениеОбОшибке = СтрШаблон("%1 с %2", Сообщение, ПредставлениеПредиката); + Иначе + СообщениеОбОшибке = Сообщение; + КонецЕсли; + + ЮТРегистрацияОшибок.СгенерироватьОшибкуУтверждения(Контекст, СообщениеОбОшибке, Неопределено, "проверяемая таблица"); + +КонецПроцедуры + +Процедура УстановитьОписаниеПроверки(Контекст, ОписаниеПроверки) + + Контекст.ОписаниеПроверки = ОписаниеПроверки; + +КонецПроцедуры + +Функция ПредикатПоискаПоРеквизиту(ИмяРеквизита, ЗначениеРеквизита, ПроверятьПометкуУдаления) + + Условия = ЮТПредикаты.Инициализировать() + .Реквизит(ИмяРеквизита).Равно(ЗначениеРеквизита); + + Если ПроверятьПометкуУдаления Тогда + Условия.Реквизит("ПометкаУдаления").Равно(Ложь); + КонецЕсли; + + Возврат Условия; + +КонецФункции + +#КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221.mdo" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221.mdo" new file mode 100644 index 000000000..c13cfd3b5 --- /dev/null +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221.mdo" @@ -0,0 +1,11 @@ + + + ЮТУтвержденияИБ + + ru + Утверждения ИБ + + true + true + true + diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\261\321\200\320\270\320\272\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\261\321\200\320\270\320\272\320\260/Module.bsl" index 163e53bed..c577469cc 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\261\321\200\320\270\320\272\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\261\321\200\320\270\320\272\320\260/Module.bsl" @@ -63,11 +63,17 @@ // // Возвращаемое значение: // ФиксированнаяСтруктура - Параметры исполнения теста: -// * ВТранзакции - Строка - Тест должен выполняться в транзакции +// * ВТранзакции - Строка - Тест должен выполняться в транзакции +// * УдалениеТестовыхДанных - Строка - Тест должен удалить созданные тестовые данные +// * Перед - Строка - Перед тестом должен выполниться указанный обработчик события вместо основного +// * После - Строка - После теста должен выполниться указанный обработчик события вместо основного Функция ПараметрыИсполненияТеста() Экспорт Параметры = Новый Структура(); Параметры.Вставить("ВТранзакции", "ВТранзакции"); + Параметры.Вставить("УдалениеТестовыхДанных", "УдалениеТестовыхДанных"); + Параметры.Вставить("Перед", "Перед"); + Параметры.Вставить("После", "После"); Возврат Новый ФиксированнаяСтруктура(Параметры); @@ -196,12 +202,14 @@ // * МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля // * НаборыТестов - Массив из см. ЮТФабрика.ОписаниеТестовогоНабора // * Ошибки - Массив из см. ЮТФабрика.ОписаниеВозникшейОшибки +// * НастройкиВыполнения- Структура - Настройки исполнения теста Функция ОписаниеТестовогоМодуля(МетаданныеМодуля, НаборыТестов) Экспорт Описание = Новый Структура; Описание.Вставить("МетаданныеМодуля", МетаданныеМодуля); Описание.Вставить("НаборыТестов", НаборыТестов); Описание.Вставить("Ошибки", Новый Массив); + Описание.Вставить("НастройкиВыполнения", Новый Структура()); Возврат Описание; @@ -540,6 +548,50 @@ КонецФункции +// Формирует описание проверяемого значения. +// Используется в утверждения для формирования дружелюбного сообщения об ошибке. +// +// Параметры: +// ПроверяемоеЗначение - Произвольный - Проверяемое значение +// +// Возвращаемое значение: +// Структура - Описание проверяемого значения: +// * Значение - Произвольный +// * Представление - Строка - Представление объекта +// - Неопределено - Если не указано тогда используется платформенное предсталение (`Строка(Значение)`) +// * ИмяСвойства - Строка, Число, Неопределено - Имя проверяемого реквизита, индекса +Функция ОписаниеПроверяемогоЗначения(ПроверяемоеЗначение) Экспорт + + Описание = Новый Структура(); + Описание.Вставить("Значение", ПроверяемоеЗначение); + Описание.Вставить("Представление", Неопределено); + Описание.Вставить("ИмяСвойства", Неопределено); + + Возврат Описание; + +КонецФункции + +// Описание проверки. +// +// Параметры: +// ПроверяемоеЗначение - Произвольный +// +// Возвращаемое значение: +// Структура - Описание проверки: +// * ОбъектПроверки - см. ОписаниеПроверяемогоЗначения +// * ПрефиксОшибки - Строка, Неопределено - +// * ОписаниеПроверки - Строка, Неопределено - +Функция ОписаниеПроверки(ПроверяемоеЗначение) Экспорт + + Описание = Новый Структура(); + Описание.Вставить("ОбъектПроверки", ОписаниеПроверяемогоЗначения(ПроверяемоеЗначение)); + Описание.Вставить("ПрефиксОшибки", Неопределено); + Описание.Вставить("ОписаниеПроверки", Неопределено); + + Возврат Описание; + +КонецФункции + #КонецОбласти #Область КонструкторыКонтекстов @@ -548,11 +600,20 @@ // // Возвращаемое значение: // Структура - Данные контекста исполнения: -// * Уровень - Строка +// * Уровень - Строка - Возможные значения см. УровниИсполнения +// * Модуль - Неопределено - Нет исполняемого модуля +// - см. ОписаниеТестовогоМодуля +// * Набор - Неопределено - Нет исполняемого тестового набора +// - см. ОписаниеИсполняемогоНабораТестов +// * Тест - Неопределено - Нет исполняемого теста +// - см. ОписаниеИсполняемогоТеста Функция НовыйКонтекстИсполнения() Экспорт Контекст = Новый Структура(); Контекст.Вставить("Уровень", ""); + Контекст.Вставить("Модуль", Неопределено); + Контекст.Вставить("Набор", Неопределено); + Контекст.Вставить("Тест", Неопределено); Возврат Контекст; @@ -588,10 +649,12 @@ // Структура - Выражение предиката: // * ИмяРеквизита - Неопределено, Строка - Имя проверяемого реквизита // * ВидСравнения - Строка -// * Значение - Произвольный +// * Значение - Произвольный, Неопределено - Операнд выражения Функция ВыражениеПредиката(ВидСравнения, ИмяРеквизита = Неопределено, Значение = Неопределено) Экспорт Выражение = Новый Структура(); + ЮТОбщий.УказатьТипСтруктуры(Выражение, "Предикат"); + Выражение.Вставить("ИмяРеквизита", ИмяРеквизита); Выражение.Вставить("ВидСравнения", ВидСравнения); Выражение.Вставить("Значение", Значение); diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/Module.bsl" index 95f1806b1..249d5d762 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\244\320\260\320\271\320\273\321\213/Module.bsl" @@ -103,6 +103,49 @@ КонецФункции +// Удаляет файлы +// +// Параметры: +// Файлы - Массив из Файл +// - Массив из Строка +Процедура УдалитьВременныеФайлы(Файлы) Экспорт + + Если НЕ ЗначениеЗаполнено(Файлы) Тогда + Возврат; + КонецЕсли; + + Ошибки = Новый Массив(); + + Для Каждого УдаляемыйФайл Из Файлы Цикл + + Если ТипЗнч(УдаляемыйФайл) = Тип("Строка") Тогда + УдаляемыйФайл = Новый Файл(УдаляемыйФайл); + КонецЕсли; + + Попытка + Если УдаляемыйФайл.Существует() Тогда + + Если УдаляемыйФайл.ПолучитьТолькоЧтение() Тогда + УдаляемыйФайл.УстановитьТолькоЧтение(Ложь); + КонецЕсли; + + УдалитьФайлы(УдаляемыйФайл.ПолноеИмя); + + КонецЕсли; + Исключение + + Ошибки.Добавить(ЮТРегистрацияОшибок.ПредставлениеОшибки("Удаление файла " + УдаляемыйФайл, ИнформацияОбОшибке())); + + КонецПопытки; + + КонецЦикла; + + Если ЗначениеЗаполнено(Ошибки) Тогда + ВызватьИсключение СтрСоединить(Ошибки, Символы.ПС); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" index df73e2976..8c6be621b 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" @@ -31,16 +31,15 @@ ЮТФильтрация.УстановитьКонтекст(ПараметрыЗапускаТестов); - Для Каждого ОписаниеМодуля Из ТестовыеМодули() Цикл + Для Каждого МетаданныеМодуля Из ТестовыеМодули() Цикл - НаборыТестов = ТестовыеНаборыМодуля(ОписаниеМодуля, ПараметрыЗапускаТестов); + ОписаниеТестовогоМодуля = ТестовыеНаборыМодуля(МетаданныеМодуля, ПараметрыЗапускаТестов); - Если НаборыТестов = Неопределено Тогда + Если ОписаниеТестовогоМодуля = Неопределено Тогда Продолжить; КонецЕсли; - ТестовыйМодуль = ЮТФабрика.ОписаниеТестовогоМодуля(ОписаниеМодуля, НаборыТестов); - Результат.Добавить(ТестовыйМодуль); + Результат.Добавить(ОписаниеТестовогоМодуля); КонецЦикла; @@ -51,17 +50,19 @@ // ПрочитатьНаборТестов // Читает набор тестов из модуля // Параметры: -// ОписаниеМодуля - см. ЮТФабрика.ОписаниеМодуля +// МетаданныеМодуля - см. ЮТФабрика.ОписаниеМодуля // // Возвращаемое значение: -// Неопределено, Массив из см. ЮТФабрика.ОписаниеТестовогоНабора- Если прочитано, то будет возвращено описание наборов -Функция ИсполняемыеСценарииМодуля(ОписаниеМодуля) Экспорт +// - Неопределено - Если это не тестовый модуль +// - см. ЮТФабрика.ОписаниеТестовогоМодуля +Функция ИсполняемыеСценарииМодуля(МетаданныеМодуля) Экспорт ЭтоТестовыйМодуль = Истина; + ОписаниеТестовогоМодуля = ЮТФабрика.ОписаниеТестовогоМодуля(МетаданныеМодуля, Неопределено); - ЮТТесты.ПередЧтениемСценариевМодуля(ОписаниеМодуля); + ЮТТесты.ПередЧтениемСценариевМодуля(МетаданныеМодуля); - ПолноеИмяМетода = ОписаниеМодуля.Имя + "." + ИмяМетодаСценариев(); + ПолноеИмяМетода = МетаданныеМодуля.Имя + "." + ИмяМетодаСценариев(); Ошибка = ЮТОбщий.ВыполнитьМетод(ПолноеИмяМетода); Если Ошибка <> Неопределено Тогда @@ -81,26 +82,27 @@ Если Ошибка <> Неопределено Тогда - Данные = Новый Массив(); // Фиксируем, чтобы отобразить в отчете - Описание = ЮТФабрика.ОписаниеТестовогоНабора(ОписаниеМодуля.Имя); - ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуЧтенияТестов(Описание, "Ошибка формирования списка тестовых методов", Ошибка); - - Данные.Добавить(Описание); + НаборПоУмолчанию = ЮТФабрика.ОписаниеТестовогоНабора(МетаданныеМодуля.Имя); + ЮТРегистрацияОшибок.ЗарегистрироватьОшибкуЧтенияТестов(НаборПоУмолчанию, "Ошибка формирования списка тестовых методов", Ошибка); + ОписаниеТестовогоМодуля.НаборыТестов.Добавить(НаборПоУмолчанию); ИначеЕсли ЭтоТестовыйМодуль Тогда ЮТТесты.ПослеЧтенияСценариевМодуля(); Сценарии = ЮТТесты.СценарииМодуля(); - Данные = ЮТФильтрация.ОтфильтроватьТестовыеНаборы(Сценарии.ТестовыеНаборы, ОписаниеМодуля); + УдалитьНастройкиМодуляИзПервогоНабора(Сценарии); // TODO Нужен рефакторинг + + ОписаниеТестовогоМодуля.НаборыТестов = ЮТФильтрация.ОтфильтроватьТестовыеНаборы(Сценарии.ТестовыеНаборы, МетаданныеМодуля); + ОписаниеТестовогоМодуля.НастройкиВыполнения = Сценарии.НастройкиВыполнения; Иначе - Данные = Неопределено; + ОписаниеТестовогоМодуля = Неопределено; КонецЕсли; - Возврат Данные; + Возврат ОписаниеТестовогоМодуля; КонецФункции @@ -171,34 +173,46 @@ КонецФункции -Функция ТестовыеНаборыМодуля(Модуль, ПараметрыЗапуска) +Функция ТестовыеНаборыМодуля(МетаданныеМодуля, ПараметрыЗапуска) // TODO Фильтрация по путям - НаборыТестов = Неопределено; + ОписаниеМодуля = Неопределено; #Если ТолстыйКлиентОбычноеПриложение ИЛИ ТолстыйКлиентУправляемоеПриложение Тогда - Если Модуль.КлиентОбычноеПриложение ИЛИ Модуль.КлиентУправляемоеПриложение Тогда - НаборыТестов = ИсполняемыеСценарииМодуля(Модуль); - ИначеЕсли Модуль.Сервер Тогда - НаборыТестов = ЮТЧитательСервер.ИсполняемыеСценарииМодуля(Модуль); + Если МетаданныеМодуля.КлиентОбычноеПриложение ИЛИ МетаданныеМодуля.КлиентУправляемоеПриложение Тогда + + ОписаниеМодуля = ИсполняемыеСценарииМодуля(МетаданныеМодуля); + + ИначеЕсли МетаданныеМодуля.Сервер Тогда + + ОписаниеМодуля = ЮТЧитательСервер.ИсполняемыеСценарииМодуля(МетаданныеМодуля); ЮТЛогирование.ВывестиСерверныеСообщения(); + КонецЕсли; #ИначеЕсли Сервер Тогда - Если Модуль.Сервер Тогда - НаборыТестов = ИсполняемыеСценарииМодуля(Модуль); + Если МетаданныеМодуля.Сервер Тогда + + ОписаниеМодуля = ИсполняемыеСценарииМодуля(МетаданныеМодуля); + Иначе + ВызватьИсключение "Чтение списка тестов модуля в недоступном контексте"; + КонецЕсли; #ИначеЕсли Клиент Тогда - Если Модуль.КлиентУправляемоеПриложение Тогда - НаборыТестов = ИсполняемыеСценарииМодуля(Модуль); - ИначеЕсли Модуль.Сервер Тогда - НаборыТестов = ЮТЧитательСервер.ИсполняемыеСценарииМодуля(Модуль); + Если МетаданныеМодуля.КлиентУправляемоеПриложение Тогда + + ОписаниеМодуля = ИсполняемыеСценарииМодуля(МетаданныеМодуля); + + ИначеЕсли МетаданныеМодуля.Сервер Тогда + + ОписаниеМодуля = ЮТЧитательСервер.ИсполняемыеСценарииМодуля(МетаданныеМодуля); ЮТЛогирование.ВывестиСерверныеСообщения(); + КонецЕсли; #КонецЕсли - - Возврат НаборыТестов; + + Возврат ОписаниеМодуля; КонецФункции @@ -221,4 +235,14 @@ КонецФункции +Процедура УдалитьНастройкиМодуляИзПервогоНабора(СценарииМодуля) + + НастройкиВыполнения = ЮТОбщий.СкопироватьРекурсивно(СценарииМодуля.НастройкиВыполнения); + + СценарииМодуля.НастройкиВыполнения.Очистить(); + + СценарииМодуля.НастройкиВыполнения = НастройкиВыполнения; + +КонецПроцедуры + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\265\321\201\321\202/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\265\321\201\321\202/Module.bsl" index 98458f1bc..6453e191e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\265\321\201\321\202/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\265\321\201\321\202/Module.bsl" @@ -24,7 +24,7 @@ // Возвращает API формирования утверждения для проверки теста. // // Параметры: -// ПроверяемоеЗначение - Произвольный - Проверяемое фактическое значение +// ПроверяемоеЗначение - Произвольный - Проверяемое фактическое значение // Сообщение - Строка - Описание проверки, которое будет выведено при возникновении ошибки // // Возвращаемое значение: @@ -35,6 +35,20 @@ КонецФункции +// Возвращает API формирования утверждения для проверки данных базы. +// +// Параметры: +// ИмяТаблицы - Произвольный - Имя таблицы базы, например, `Справочник.Пользователи`, `Документ.ПКО`, `РегистрСведений.ИнформацияОбОшибках` +// Сообщение - Строка - Описание проверки, которое будет выведено при возникновении ошибки +// +// Возвращаемое значение: +// ОбщийМодуль - Утверждения для проверки данных базы, см. ЮТУтвержденияИБ +Функция ОжидаетЧтоТаблицаБазы(ИмяТаблицы, Сообщение = "") Экспорт + + Возврат ЮТУтвержденияИБ.ЧтоТаблица(ИмяТаблицы, Сообщение); + +КонецФункции + // Возвращает API для работы с тестовыми данными. // // Возвращаемое значение: @@ -115,6 +129,7 @@ // Неопределено - Если метод вызывается за рамками тестового набора Функция КонтекстТестовогоНабора() Экспорт + //@skip-check constructor-function-return-section Возврат ЮТКонтекст.КонтекстНабора(); КонецФункции @@ -126,8 +141,8 @@ // // Например, в контекст можно помещать создаваемые данные, что бы освободить/удалить их в обработчике `ПослеВсехТестов`. // Возвращаемое значение: -// Структура - Контекст тестового модуля -// Неопределено - Если метод вызывается за рамками тестового модуля +// - Структура - Контекст тестового модуля +// - Неопределено - Если метод вызывается за рамками тестового модуля Функция КонтекстМодуля() Экспорт Возврат ЮТКонтекст.КонтекстМодуля(); diff --git "a/exts/yaxunit/src/CommonPictures/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260/Picture.png" "b/exts/yaxunit/src/CommonPictures/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260/Picture.png" new file mode 100644 index 000000000..649e965bf Binary files /dev/null and "b/exts/yaxunit/src/CommonPictures/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260/Picture.png" differ diff --git "a/exts/yaxunit/src/CommonPictures/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260.mdo" "b/exts/yaxunit/src/CommonPictures/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260.mdo" new file mode 100644 index 000000000..91c06ddf0 --- /dev/null +++ "b/exts/yaxunit/src/CommonPictures/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260/\320\256\320\242\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260.mdo" @@ -0,0 +1,8 @@ + + + ЮТПодсистема + + ru + Картинка подсистемы ЮТДвижок + + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru/Template.txt" new file mode 100644 index 000000000..a8d6b5f81 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru/Template.txt" @@ -0,0 +1,33 @@ +Рога и Копыта +Ромашка +Организатория +Содружество +Синергия +УспехПартнер +Стратегия+ +Эволюция +ОргаLife +МастерОрг +ЛидерОрг +УспехОрг +Профессиональное Организованное Решение +Стратегическая Организация +Идеальная Организация +МастерПлан +Гений в Деталях +Успешная Система +Органайзер +Профессиональная Структура +Успешное будущее +Мастера организации +Профессиональные архитекторы +Организационный гений +АльпаБанк +ВТП +Пенькофф +Сперпанк +Азито +Ямтекс +Почта Рус Лимитед +Телепам +Система успеха \ No newline at end of file diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru.mdo" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru.mdo" new file mode 100644 index 000000000..a86ab4d0c --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\321\217_ru.mdo" @@ -0,0 +1,9 @@ + + + ЮТ_СловарьПодражателя_Компании_Наименования_ru + + ru + Подражатель компании наименования ru + + TextDocument + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru/Template.txt" new file mode 100644 index 000000000..00716f2e1 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru/Template.txt" @@ -0,0 +1,12 @@ +AO +ГУП +ЗАО +ИП +МУП +НКО +ОП +ООО +ОАО +ПАО +ТСЖ +ФГУП \ No newline at end of file diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru.mdo" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru.mdo" new file mode 100644 index 000000000..7894631d3 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270_\320\237\321\200\320\265\321\204\320\270\320\272\321\201\321\213\320\235\320\260\320\270\320\274\320\265\320\275\320\276\320\262\320\260\320\275\320\270\320\271_ru.mdo" @@ -0,0 +1,9 @@ + + + ЮТ_СловарьПодражателя_Компании_ПрефиксыНаименований_ru + + ru + Подражатель компании префиксы ru + + TextDocument + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/Template.txt" new file mode 100644 index 000000000..29d38d5eb --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/Template.txt" @@ -0,0 +1,80 @@ +Агата +Агафья +Акулина +Алевтина +Александра +Алина +Алла +Анастасия +Ангелина +Анжела +Анжелика +Анна +Антонина +Валентина +Валерия +Варвара +Василиса +Вера +Вероника +Виктория +Галина +Глафира +Дарья +Евгения +Евдокия +Евпраксия +Евфросиния +Екатерина +Елена +Елизавета +Жанна +Зинаида +Зоя +Иванна +Ираида +Ирина +Ия +Кира +Клавдия +Ксения +Лариса +Лидия +Лора +Лукия +Любовь +Людмила +Майя +Маргарита +Марина +Мария +Марфа +Милица +Надежда +Наина +Наталья +Нина +Нинель +Нонна +Оксана +Октябрина +Олимпиада +Ольга +Пелагея +Полина +Прасковья +Раиса +Регина +Светлана +Синклитикия +София +Таисия +Тамара +Татьяна +Ульяна +Фаина +Феврония +Фёкла +Элеонора +Эмилия +Юлия \ No newline at end of file diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru.mdo" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru.mdo" new file mode 100644 index 000000000..bda794651 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru.mdo" @@ -0,0 +1,9 @@ + + + ЮТ_СловарьПодражателя_Люди_ЖенскиеИмена_ru + + ru + Подражатель люди женские имена ru + + TextDocument + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/Template.txt" new file mode 100644 index 000000000..965d0bc8f --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/Template.txt" @@ -0,0 +1,79 @@ +Александровна +Андреевна +Архиповна +Алексеевна +Антоновна +Аскольдовна +Альбертовна +Аркадьевна +Афанасьевна +Анатольевна +Артемовна +Богдановна +Болеславовна +Борисовна +Вадимовна +Васильевна +Владимировна +Валентиновна +Вениаминовна +Владиславовна +Валериевна +Викторовна +Вячеславовна +Геннадиевна +Георгиевна +Геннадьевна +Григорьевна +Даниловна +Дмитриевна +Евгеньевна +Егоровна +Ефимовна +Ждановна +Захаровна +Ивановна +Игоревна +Ильинична +Кирилловна +Кузьминична +Константиновна +Леонидовна +Леоновна +Львовна +Макаровна +Матвеевна +Михайловна +Максимовна +Мироновна +Натановна +Никифоровна +Ниловна +Наумовна +Николаевна +Олеговна +Оскаровна +Павловна +Петровна +Робертовна +Рубеновна +Руслановна +Романовна +Рудольфовна +Святославовна +Сергеевна +Степановна +Семеновна +Станиславовна +Тарасовна +Тимофеевна +Тимуровна +Федоровна +Феликсовна +Филипповна +Харитоновна +Эдуардовна +Эльдаровна +Юльевна +Юрьевна +Яковлевна diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru.mdo" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru.mdo" new file mode 100644 index 000000000..5c0c9e4c0 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru.mdo" @@ -0,0 +1,9 @@ + + + ЮТ_СловарьПодражателя_Люди_ЖенскиеОтчества_ru + + ru + Подражатель люди женские отчества ru + + TextDocument + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/Template.txt" new file mode 100644 index 000000000..5e1ce7a4e --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/Template.txt" @@ -0,0 +1,250 @@ +Смирнова +Иванова +Кузнецова +Попова +Соколова +Лебедева +Козлова +Новикова +Морозова +Петрова +Волкова +Соловьева +Васильева +Зайцева +Павлова +Семенова +Голубева +Виноградова +Богданова +Воробьева +Федорова +Михайлова +Беляева +Тарасова +Белова +Комарова +Орлова +Киселева +Макарова +Андреева +Ковалева +Ильина +Гусева +Титова +Кузьмина +Кудрявцева +Баранова +Куликова +Алексеева +Степанова +Яковлева +Сорокина +Сергеева +Романова +Захарова +Борисова +Королева +Герасимова +Пономарева +Григорьева +Лазарева +Медведева +Ершова +Никитина +Соболева +Рябова +Полякова +Цветкова +Данилова +Жукова +Фролова +Журавлева +Николаева +Крылова +Максимова +Сидорова +Осипова +Белоусова +Федотова +Дорофеева +Егорова +Матвеева +Боброва +Дмитриева +Калинина +Анисимова +Петухова +Антонова +Тимофеева +Никифорова +Веселова +Филиппова +Маркова +Большакова +Суханова +Миронова +Ширяева +Александрова +Коновалова +Шестакова +Казакова +Ефимова +Денисова +Громова +Фомина +Давыдова +Мельникова +Щербакова +Блинова +Колесникова +Карпова +Афанасьева +Власова +Маслова +Исакова +Тихонова +Аксенова +Гаврилова +Родионова +Котова +Горбунова +Кудряшова +Быкова +Зуева +Третьякова +Савельева +Панова +Рыбакова +Суворова +Абрамова +Воронова +Мухина +Архипова +Трофимова +Мартынова +Емельянова +Горшкова +Чернова +Овчинникова +Селезнева +Панфилова +Копылова +Михеева +Галкина +Назарова +Лобанова +Лукина +Белякова +Потапова +Некрасова +Хохлова +Жданова +Наумова +Шилова +Воронцова +Ермакова +Дроздова +Игнатьева +Савина +Логинова +Сафонова +Капустина +Кириллова +Моисеева +Елисеева +Кошелева +Костина +Горбачева +Орехова +Ефремова +Исаева +Евдокимова +Калашникова +Кабанова +Носкова +Юдина +Кулагина +Лапина +Прохорова +Нестерова +Харитонова +Агафонова +Муравьева +Ларионова +Федосеева +Зимина +Пахомова +Шубина +Игнатова +Филатова +Крюкова +Рогова +Кулакова +Терентьева +Молчанова +Владимирова +Артемьева +Гурьева +Зиновьева +Гришина +Кононова +Дементьева +Ситникова +Симонова +Мишина +Фадеева +Комиссарова +Мамонтова +Носова +Гуляева +Шарова +Устинова +Вишнякова +Евсеева +Лаврентьева +Брагина +Константинова +Корнилова +Авдеева +Зыкова +Бирюкова +Шарапова +Никонова +Щукина +Дьячкова +Одинцова +Сазонова +Якушева +Красильникова +Гордеева +Самойлова +Князева +Беспалова +Уварова +Шашкова +Бобылева +Доронина +Белозерова +Рожкова +Самсонова +Мясникова +Лихачева +Бурова +Сысоева +Фомичева +Русакова +Стрелкова +Гущина +Тетерина +Колобова +Субботина +Фокина +Блохина +Селиверстова +Пестова +Кондратьева +Силина +Меркушева +Лыткина +Турова diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru.mdo" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru.mdo" new file mode 100644 index 000000000..60e444d10 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\226\320\265\320\275\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru.mdo" @@ -0,0 +1,9 @@ + + + ЮТ_СловарьПодражателя_Люди_ЖенскиеФамилии_ru + + ru + Подражатель люди женские фамилии ru + + TextDocument + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/Template.txt" new file mode 100644 index 000000000..f2123261b --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/Template.txt" @@ -0,0 +1,321 @@ +Август +Авдей +Аверкий +Аверьян +Авксентий +Автоном +Агап +Агафон +Аггей +Адам +Адриан +Азарий +Аким +Александр +Алексей +Амвросий +Амос +Ананий +Анатолий +Андрей +Андрон +Андроник +Аникей +Аникита +Анисим +Антип +Антонин +Аполлинарий +Аполлон +Арефий +Аристарх +Аркадий +Арсений +Артемий +Артем +Архип +Аскольд +Афанасий +Афиноген +Бажен +Богдан +Болеслав +Борис +Борислав +Боян +Бронислав +Будимир +Вадим +Валентин +Валерий +Валерьян +Варлаам +Варфоломей +Василий +Вацлав +Велимир +Венедикт +Вениамин +Викентий +Виктор +Викторин +Виссарион +Виталий +Владилен +Владлен +Владимир +Владислав +Влас +Всеволод +Всемил +Всеслав +Вышеслав +Вячеслав +Гаврила +Галактион +Гедеон +Геннадий +Георгий +Герасим +Герман +Глеб +Гордей +Гостомысл +Гремислав +Григорий +Гурий +Давыд +Данила +Дементий +Демид +Демьян +Денис +Дмитрий +Добромысл +Доброслав +Дорофей +Евгений +Евграф +Евдоким +Евлампий +Евсей +Евстафий +Евстигней +Егор +Елизар +Елисей +Емельян +Епифан +Еремей +Ермил +Ермолай +Ерофей +Ефим +Ефрем +Захар +Зиновий +Зосима +Иван +Игнатий +Игорь +Измаил +Изот +Изяслав +Иларион +Илья +Иннокентий +Иосиф +Ипат +Ипатий +Ипполит +Ираклий +Исай +Исидор +Казимир +Каллистрат +Капитон +Карл +Карп +Касьян +Ким +Кир +Кирилл +Клавдий +Климент +Кондрат +Кондратий +Конон +Константин +Корнил +Кузьма +Куприян +Лавр +Лаврентий +Ладимир +Ладислав +Лазарь +Лев +Леон +Леонид +Леонтий +Лонгин +Лука +Лукьян +Лучезар +Любим +Любомир +Любосмысл +Макар +Максим +Максимильян +Мариан +Марк +Мартын +Мартьян +Матвей +Мефодий +Мечислав +Милан +Милен +Милий +Милован +Мина +Мир +Мирон +Мирослав +Митофан +Михаил +Михей +Модест +Моисей +Мокей +Мстислав +Назар +Наркис +Натан +Наум +Нестор +Никандр +Никанор +Никита +Никифор +Никодим +Николай +Никон +Нифонт +Олег +Олимпий +Онуфрий +Орест +Осип +Остап +Остромир +Павел +Панкратий +Панкрат +Пантелеймон +Панфил +Парамон +Парфен +Пахом +Петр +Пимен +Платон +Поликарп +Порфирий +Потап +Пров +Прокл +Прокофий +Прохор +Радим +Радислав +Радован +Ратибор +Ратмир +Родион +Роман +Ростислав +Рубен +Руслан +Рюрик +Савва +Савватий +Савелий +Самсон +Самуил +Светозар +Святополк +Святослав +Севастьян +Селиван +Селиверст +Семен +Серафим +Сергей +Сигизмунд +Сидор +Сила +Силантий +Сильвестр +Симон +Сократ +Соломон +Софон +Софрон +Спартак +Спиридон +Станимир +Станислав +Степан +Стоян +Тарас +Твердислав +Творимир +Терентий +Тимофей +Тимур +Тит +Тихон +Трифон +Трофим +Ульян +Устин +Фадей +Федор +Федосий +Федот +Феликс +Феоктист +Феофан +Ферапонт +Филарет +Филимон +Филипп +Фирс +Флорентин +Фока +Фома +Фортунат +Фотий +Фрол +Харитон +Харлампий +Христофор +Чеслав +Эдуард +Эммануил +Эмиль +Эраст +Эрнест +Эрнст +Ювеналий +Юлиан +Юлий +Юрий +Яков +Ян +Якуб +Януарий +Ярополк +Ярослав diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru.mdo" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru.mdo" new file mode 100644 index 000000000..9bdc43cd7 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\230\320\274\320\265\320\275\320\260_ru.mdo" @@ -0,0 +1,9 @@ + + + ЮТ_СловарьПодражателя_Люди_МужскиеИмена_ru + + ru + Подражатель люди мужские имена ru + + TextDocument + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/Template.txt" new file mode 100644 index 000000000..704525ce4 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/Template.txt" @@ -0,0 +1,132 @@ +Ааронович +Абрамович +Августович +Авдеевич +Аверьянович +Адамович +Адрианович +Аксёнович +Александрович +Алексеевич +Анатольевич +Андреевич +Анисимович +Антипович +Антонович +Ануфриевич +Арсенович +Арсеньевич +Артёмович +Артемьевич +Артурович +Архипович +Афанасьевич +Бенедиктович +Богданович +Бориславович +Борисович +Брониславович +Валентинович +Валерианович +Валерьевич +Валерьянович +Васильевич +Венедиктович +Викентьевич +Викторович +Виленович +Вилорович +Витальевич +Владиленович +Владиславович +Владленович +Власович +Всеволодович +Вячеславович +Гавриилович +Гаврилович +Геннадиевич +Георгиевич +Герасимович +Германович +Гертрудович +Глебович +Гордеевич +Григорьевич +Гурьевич +Давидович +Давыдович +Даниилович +Данилович +Демидович +Демьянович +Денисович +Димитриевич +Дмитриевич +Дорофеевич +Евсеевич +Евстигнеевич +Егорович +Елизарович +Елисеевич +Еремеевич +Ермилович +Ермолаевич +Ерофеевич +Ефимович +Ефимьевич +Ефремович +Ефстафьевич +Жанович +Жоресович +Захарьевич +Зиновьевич +Игнатович +Игнатьевич +Игоревич +Измаилович +Изотович +Иларионович +Ильич +Ильясович +Иосипович +Иосифович +Исидорович +Марсович +Матвеевич +Тарасович +Теймуразович +Терентьевич +Тимурович +Тихонович +Трифонович +Трофимович +Устинович +Фадеевич +Фёдорович +Федосеевич +Федосьевич +Федотович +Феликсович +Феодосьевич +Феоктистович +Феофанович +Филатович +Филимонович +Филиппович +Фокич +Фомич +Фролович +Харитонович +Харламович +Харлампович +Харлампьевич +Чеславович +Эдгардович +Эдгарович +Эдуардович +Юлианович +Юльевич +Яковлевич +Якубович +Ярославович diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru.mdo" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru.mdo" new file mode 100644 index 000000000..fa832fe30 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\236\321\202\321\207\320\265\321\201\321\202\320\262\320\260_ru.mdo" @@ -0,0 +1,9 @@ + + + ЮТ_СловарьПодражателя_Люди_МужскиеОтчества_ru + + ru + Подражатель люди мужские отчества ru + + TextDocument + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/Template.txt" new file mode 100644 index 000000000..2bae44344 --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/Template.txt" @@ -0,0 +1,250 @@ +Смирнов +Иванов +Кузнецов +Попов +Соколов +Лебедев +Козлов +Новиков +Морозов +Петров +Волков +Соловьев +Васильев +Зайцев +Павлов +Семенов +Голубев +Виноградов +Богданов +Воробьев +Федоров +Михайлов +Беляев +Тарасов +Белов +Комаров +Орлов +Киселев +Макаров +Андреев +Ковалев +Ильин +Гусев +Титов +Кузьмин +Кудрявцев +Баранов +Куликов +Алексеев +Степанов +Яковлев +Сорокин +Сергеев +Романов +Захаров +Борисов +Королев +Герасимов +Пономарев +Григорьев +Лазарев +Медведев +Ершов +Никитин +Соболев +Рябов +Поляков +Цветков +Данилов +Жуков +Фролов +Журавлев +Николаев +Крылов +Максимов +Сидоров +Осипов +Белоусов +Федотов +Дорофеев +Егоров +Матвеев +Бобров +Дмитриев +Калинин +Анисимов +Петухов +Антонов +Тимофеев +Никифоров +Веселов +Филиппов +Марков +Большаков +Суханов +Миронов +Ширяев +Александров +Коновалов +Шестаков +Казаков +Ефимов +Денисов +Громов +Фомин +Давыдов +Мельников +Щербаков +Блинов +Колесников +Карпов +Афанасьев +Власов +Маслов +Исаков +Тихонов +Аксенов +Гаврилов +Родионов +Котов +Горбунов +Кудряшов +Быков +Зуев +Третьяков +Савельев +Панов +Рыбаков +Суворов +Абрамов +Воронов +Мухин +Архипов +Трофимов +Мартынов +Емельянов +Горшков +Чернов +Овчинников +Селезнев +Панфилов +Копылов +Михеев +Галкин +Назаров +Лобанов +Лукин +Беляков +Потапов +Некрасов +Хохлов +Жданов +Наумов +Шилов +Воронцов +Ермаков +Дроздов +Игнатьев +Савин +Логинов +Сафонов +Капустин +Кириллов +Моисеев +Елисеев +Кошелев +Костин +Горбачев +Орехов +Ефремов +Исаев +Евдокимов +Калашников +Кабанов +Носков +Юдин +Кулагин +Лапин +Прохоров +Нестеров +Харитонов +Агафонов +Муравьев +Ларионов +Федосеев +Зимин +Пахомов +Шубин +Игнатов +Филатов +Крюков +Рогов +Кулаков +Терентьев +Молчанов +Владимиров +Артемьев +Гурьев +Зиновьев +Гришин +Кононов +Дементьев +Ситников +Симонов +Мишин +Фадеев +Комиссаров +Мамонтов +Носов +Гуляев +Шаров +Устинов +Вишняков +Евсеев +Лаврентьев +Брагин +Константинов +Корнилов +Авдеев +Зыков +Бирюков +Шарапов +Никонов +Щукин +Дьячков +Одинцов +Сазонов +Якушев +Красильников +Гордеев +Самойлов +Князев +Беспалов +Уваров +Шашков +Бобылев +Доронин +Белозеров +Рожков +Самсонов +Мясников +Лихачев +Буров +Сысоев +Фомичев +Русаков +Стрелков +Гущин +Тетерин +Колобов +Субботин +Фокин +Блохин +Селиверстов +Пестов +Кондратьев +Силин +Меркушев +Лыткин +Туров diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru.mdo" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru.mdo" new file mode 100644 index 000000000..967a5542f --- /dev/null +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru/\320\256\320\242_\320\241\320\273\320\276\320\262\320\260\321\200\321\214\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\217_\320\233\321\216\320\264\320\270_\320\234\321\203\320\266\321\201\320\272\320\270\320\265\320\244\320\260\320\274\320\270\320\273\320\270\320\270_ru.mdo" @@ -0,0 +1,9 @@ + + + ЮТ_СловарьПодражателя_Люди_МужскиеФамилии_ru + + ru + Подражатель люди мужские фамилии ru + + TextDocument + diff --git "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" index 8a842b97a..31e02b130 100644 --- "a/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" +++ "b/exts/yaxunit/src/CommonTemplates/\320\256\320\242\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.txt" @@ -1,16 +1,16 @@ # Описание свойств метаданных -| Имя | ИмяКоллекции | Конструктор | Группы | Ссылочный | Реквизиты | Измерения | Ресурсы | РеквизитыАдресации | ТабличныеЧасти | -|------------------------|-------------------------|----------------------|--------|-----------|-----------|-----------|---------|--------------------|----------------| -| Справочник | Справочники | СоздатьЭлемент | + | + | + | | | | + | -| Документ | Документы | СоздатьДокумент | | + | + | | | | + | -| ПланВидовХарактеристик | ПланыВидовХарактеристик | СоздатьЭлемент | + | + | + | | | | + | -| ПланСчетов | ПланыСчетов | СоздатьСчет | | + | + | | | | + | -| ПланВидовРасчета | ПланыВидовРасчета | СоздатьВидРасчета | | + | + | | | | + | -| ПланОбмена | ПланыОбмена | СоздатьУзел | | + | + | | | | + | -| РегистрСведений | РегистрыСведений | СоздатьНаборЗаписей | | | + | + | + | | | -| РегистрНакопления | РегистрыНакопления | СоздатьНаборЗаписей | | | + | + | + | | | -| РегистрБухгалтерии | РегистрыБухгалтерии | СоздатьНаборЗаписей | | | + | + | + | | | -| РегистрРасчета | РегистрыРасчета | СоздатьНаборЗаписей | | | + | + | + | | | -| БизнесПроцесс | БизнесПроцессы | СоздатьБизнесПроцесс | | + | + | | | | + | -| Задача | Задачи | СоздатьЗадачу | | + | + | | | + | + | +| Имя | ИмяКоллекции | Конструктор | Группы | Ссылочный | Реквизиты | Измерения | Ресурсы | РеквизитыАдресации | ТабличныеЧасти | +|------------------------|-------------------------|-----------------------|--------|-----------|-----------|-----------|---------|--------------------|----------------| +| Справочник | Справочники | СоздатьЭлемент | + | + | + | | | | + | +| Документ | Документы | СоздатьДокумент | | + | + | | | | + | +| ПланВидовХарактеристик | ПланыВидовХарактеристик | СоздатьЭлемент | + | + | + | | | | + | +| ПланСчетов | ПланыСчетов | СоздатьСчет | | + | + | | | | + | +| ПланВидовРасчета | ПланыВидовРасчета | СоздатьВидРасчета | | + | + | | | | + | +| ПланОбмена | ПланыОбмена | СоздатьУзел | | + | + | | | | + | +| РегистрСведений | РегистрыСведений | СоздатьМенеджерЗаписи | | | + | + | + | | | +| РегистрНакопления | РегистрыНакопления | | | | + | + | + | | | +| РегистрБухгалтерии | РегистрыБухгалтерии | | | | + | + | + | | | +| РегистрРасчета | РегистрыРасчета | | | | + | + | + | | | +| БизнесПроцесс | БизнесПроцессы | СоздатьБизнесПроцесс | | + | + | | | | + | +| Задача | Задачи | СоздатьЗадачу | | + | + | | | + | + | diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index 9af8c9758..3bdcd3a19 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -16,7 +16,7 @@ 8.3.10 AddOn Russian - 23.04.0 + 23.07.0 Русский Adopted @@ -26,24 +26,37 @@ ru Subsystem.ЮТДвижок + Subsystem.ЮТПодражатель Subsystem.ЮТФункциональность CommonPicture.ЮТНеизвестный CommonPicture.ЮТОшибка + CommonPicture.ЮТПодсистема CommonPicture.ЮТПропущен CommonPicture.ЮТУпал CommonPicture.ЮТУспешно CommonPicture.ЮТЭлементыТестов + CommonTemplate.ЮТ_СловарьПодражателя_Компании_Наименования_ru + CommonTemplate.ЮТ_СловарьПодражателя_Компании_ПрефиксыНаименований_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеИмена_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеОтчества_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеФамилии_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеИмена_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеОтчества_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеФамилии_ru CommonTemplate.ЮТОписаниеМетаданных CommonModule.Мокито CommonModule.МокитоОбучение CommonModule.МокитоПроверки CommonModule.МокитоСлужебный CommonModule.ЮТест + CommonModule.ЮТЗапросы + CommonModule.ЮТЗапросыВызовСервера + CommonModule.ЮТЗапросыКлиентСервер CommonModule.ЮТИсполнительКлиент CommonModule.ЮТИсполнительКлиентСервер CommonModule.ЮТИсполнительСервер CommonModule.ЮТКонструкторВариантов - CommonModule.ЮТКонструкторТестовыхДанных + CommonModule.ЮТКонструкторТестовыхДанныхСлужебный CommonModule.ЮТКонтекст CommonModule.ЮТКонтекстКлиент CommonModule.ЮТКонтекстСервер @@ -61,6 +74,13 @@ CommonModule.ЮТОтчетJUnit CommonModule.ЮТПараметрыЗапуска CommonModule.ЮТПовторногоИспользования + CommonModule.ЮТПодражатель + CommonModule.ЮТПодражатель_Банки + CommonModule.ЮТПодражатель_Компании + CommonModule.ЮТПодражатель_Люди + CommonModule.ЮТПодражательВызовСервера + CommonModule.ЮТПодражательПовтИсп + CommonModule.ЮТПодражательСлужебный CommonModule.ЮТПредикаты CommonModule.ЮТПредикатыКлиентСервер CommonModule.ЮТРасширения @@ -73,11 +93,13 @@ CommonModule.ЮТТестовыеДанныеСлужебный CommonModule.ЮТТесты CommonModule.ЮТУтверждения + CommonModule.ЮТУтвержденияИБ CommonModule.ЮТФабрика CommonModule.ЮТФайлы CommonModule.ЮТФильтрация CommonModule.ЮТЧитатель CommonModule.ЮТЧитательСервер DataProcessor.ЮТHTTPСервисЗапрос + DataProcessor.ЮТКонструкторТестовыхДанных DataProcessor.ЮТЮнитТесты diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form" new file mode 100644 index 000000000..db37bb044 --- /dev/null +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Form.form" @@ -0,0 +1,26 @@ + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + + + + + + diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" new file mode 100644 index 000000000..432a61896 --- /dev/null +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Forms/\320\232\320\273\320\270\320\265\320\275\321\202\321\201\320\272\320\270\320\271\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200/Module.bsl" @@ -0,0 +1,221 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +// BSLLS:NonStandardRegion-off +#Область ОписаниеПеременных + +// см. ЮТКонструкторТестовыхДанныхСлужебный.НовыйКонтекстКонструктора +&НаКлиенте +Перем Контекст; + +#КонецОбласти + +#Область ПрограммныйИнтерфейс + +// Устанавливает значение реквизита создаваемого объекта. +// +// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливается значение реквизита строки табличной части +// +// Параметры: +// ИмяРеквизита - Строка - Имя реквизита объекта или табличной части +// Значение - Произвольный - Значение реквизита объекта или табличной части +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +&НаКлиенте +Функция Установить(ИмяРеквизита, Значение) Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.Установить(Контекст, ИмяРеквизита, Значение); + Возврат ЭтотОбъект; + +КонецФункции + +// Устанавливает фиктивное значение реквизита создаваемого объекта. +// +// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливается значение реквизита строки табличной части. +// +// На основании менеджера и имени реквизита вычисляется его тип, а по типу генерируется фиктивное значение. +// +// * Для примитивных значение генерируется случайное значение +// * Для ссылочных типов создается новый объект +// * Для перечислений (в том числе системных) выбирается случайно значение перечисления +// +// Параметры: +// ИмяРеквизита - Строка - Имя реквизита объекта или табличной части +// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы +// - Неопределено +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +&НаКлиенте +Функция Фикция(ИмяРеквизита, РеквизитыЗаполнения = Неопределено) Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.Фикция(Контекст, ИмяРеквизита, РеквизитыЗаполнения); + Возврат ЭтотОбъект; + +КонецФункции + +// Заполняет обязательные поля объекта фиктивными значениями +// +// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливаются значения реквизитов строки табличной части. +// +// На основании метаданных определяются обязательные поля (Проверка заполнения = Выдавать ошибку), +// для них генерируются и устанавливаются фиктивные значение. +// +// * Для примитивных значение генерируется случайное значение +// * Для ссылочных типов создается новый объект +// * Для перечислений (в том числе системных) выбирается случайно значение перечисления +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +&НаКлиенте +Функция ФикцияОбязательныхПолей() Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.ФикцияОбязательныхПолей(Контекст); + Возврат ЭтотОбъект; + +КонецФункции + +// Переключает конструктор на заполнение табличной части объекта. +// +// Параметры: +// ИмяТабличнойЧасти - Строка - Имя табличной части +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +&НаКлиенте +Функция ТабличнаяЧасть(ИмяТабличнойЧасти) Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.ТабличнаяЧасть(Контекст, ИмяТабличнойЧасти); + Возврат ЭтотОбъект; + +КонецФункции + +// Добавляет новую строку табличной части объекта. +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +&НаКлиенте +Функция ДобавитьСтроку() Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.ДобавитьСтроку(Контекст); + Возврат ЭтотОбъект; + +КонецФункции + +// Устанавливает дополнительное свойство объекта. +// +// Параметры: +// ИмяСвойства - Строка - Имя дополнительного свойства +// Значение - Произвольный - Значение дополнительного свойства +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +&НаКлиенте +Функция УстановитьДополнительноеСвойство(ИмяСвойства, Значение = Неопределено) Экспорт + + ЮТКонструкторТестовыхДанныхСлужебный.УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение); + Возврат ЭтотОбъект; + +КонецФункции + +// Создает новый объект и возвращает его или ссылку. +// +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. +// Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. +// +// Параметры: +// ВернутьОбъект - Булево - Вернуть объект вместо ссылки +// ОбменДаннымиЗагрузка - Булево - Записать объект с признаком `ОбменДанными.Загрузка = Истина` +// +// Возвращаемое значение: +// Произвольный - Созданный объект или ссылка на него +&НаКлиенте +Функция Записать(ВернутьОбъект = Ложь, ОбменДаннымиЗагрузка = Ложь) Экспорт + + Возврат ЮТКонструкторТестовыхДанныхСлужебный.Записать(Контекст, ВернутьОбъект, ОбменДаннымиЗагрузка); + +КонецФункции + +// Создает и возвращяет новый объект (не записывая его). +// +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. +// Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. +// +// Возвращаемое значение: +// Произвольный - Созданный объект. +&НаКлиенте +Функция НовыйОбъект() Экспорт + + Возврат ЮТКонструкторТестовыхДанныхСлужебный.НовыйОбъект(Контекст); + +КонецФункции + +// Создает и проводит новый документ. Возвращает объект или или ссылку на него. +// +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создать множество объектов. +// Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. +// +// Параметры: +// ВернутьОбъект - Булево - Вернуть объект вместо ссылки +// +// Возвращаемое значение: +// Произвольный - Созданный объект или ссылка на него +&НаКлиенте +Функция Провести(ВернутьОбъект = Ложь) Экспорт + + Возврат ЮТКонструкторТестовыхДанныхСлужебный.Провести(Контекст, ВернутьОбъект); + +КонецФункции + +// Возвращает данные текущей строки табличной части объекта. +// +// Возвращаемое значение: +// Структура - Данные строки +// Неопределено - Если заполняется объект +&НаКлиенте +Функция ДанныеСтроки() Экспорт + + Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтроки(Контекст); + +КонецФункции + +// Возвращает данные создаваемого объекта. +// +// Возвращаемое значение: +// Структура - Данные объекта +&НаКлиенте +Функция ДанныеОбъекта() Экспорт + + Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеОбъекта(Контекст); + +КонецФункции + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +&НаКлиенте +Процедура Инициализировать(Менеджер) Экспорт + + Контекст = ЮТКонструкторТестовыхДанныхСлужебный.НовыйКонтекстКонструктора(Менеджер); + +КонецПроцедуры + +#КонецОбласти +// BSLLS:NonStandardRegion-on diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" similarity index 51% rename from "exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" rename to "exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" index e59b96d47..78f8800ee 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/ObjectModule.bsl" @@ -16,6 +16,15 @@ // //©///////////////////////////////////////////////////////////////////////////©// +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Тогда + +#Область ОписаниеПеременных + +// см. ЮТКонструкторТестовыхДанныхСлужебный.НовыйКонтекстКонструктора +Перем Контекст; + +#КонецОбласти + #Область ПрограммныйИнтерфейс // Устанавливает значение реквизита создаваемого объекта. @@ -30,17 +39,8 @@ // ОбщийМодуль - Конструктор Функция Установить(ИмяРеквизита, Значение) Экспорт - Контекст = Контекст(); - - Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда - ТекущаяЗапись = ДанныеСтроки(); - Иначе - ТекущаяЗапись = Контекст.Данные; - КонецЕсли; - - ТекущаяЗапись.Вставить(ИмяРеквизита, Значение); - - Возврат ЮТКонструкторТестовыхДанных; + ЮТКонструкторТестовыхДанныхСлужебный.Установить(Контекст, ИмяРеквизита, Значение); + Возврат ЭтотОбъект; КонецФункции @@ -56,27 +56,35 @@ // // Параметры: // ИмяРеквизита - Строка - Имя реквизита объекта или табличной части -// Реквизиты - Структура - Значения реквизитов заполнения создаваемого объекта базы -// - Неопределено +// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы +// - Неопределено // // Возвращаемое значение: // ОбщийМодуль - Конструктор -Функция Фикция(ИмяРеквизита, Реквизиты = Неопределено) Экспорт - - Контекст = Контекст(); +Функция Фикция(ИмяРеквизита, РеквизитыЗаполнения = Неопределено) Экспорт - Если ЗначениеЗаполнено(Контекст.ТекущаяТабличнаяЧасть) Тогда - ОписаниеРеквизита = Контекст.Метаданные.ТабличныеЧасти[Контекст.ТекущаяТабличнаяЧасть][ИмяРеквизита]; - ТекущаяЗапись = ДанныеСтроки(); - Иначе - ОписаниеРеквизита = Контекст.Метаданные.Реквизиты[ИмяРеквизита]; - ТекущаяЗапись = Контекст.Данные; - КонецЕсли; + ЮТКонструкторТестовыхДанныхСлужебный.Фикция(Контекст, ИмяРеквизита, РеквизитыЗаполнения); + Возврат ЭтотОбъект; - Значение = ЮТТестовыеДанныеСлужебный.Фикция(ОписаниеРеквизита.Тип); - ТекущаяЗапись.Вставить(ИмяРеквизита, Значение); +КонецФункции + +// Заполняет обязательные поля объекта фиктивными значениями +// +// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливаются значения реквизитов строки табличной части. +// +// На основании метаданных определяются обязательные поля (Проверка заполнения = Выдавать ошибку), +// для них генерируются и устанавливаются фиктивные значение. +// +// * Для примитивных значение генерируется случайное значение +// * Для ссылочных типов создается новый объект +// * Для перечислений (в том числе системных) выбирается случайно значение перечисления +// +// Возвращаемое значение: +// ОбщийМодуль - Конструктор +Функция ФикцияОбязательныхПолей() Экспорт - Возврат ЮТКонструкторТестовыхДанных; + ЮТКонструкторТестовыхДанныхСлужебный.ФикцияОбязательныхПолей(Контекст); + Возврат ЭтотОбъект; КонецФункции @@ -89,11 +97,8 @@ // ОбщийМодуль - Конструктор Функция ТабличнаяЧасть(ИмяТабличнойЧасти) Экспорт - Контекст = Контекст(); - Контекст.ТекущаяТабличнаяЧасть = ИмяТабличнойЧасти; - Контекст.Данные.Вставить(ИмяТабличнойЧасти, Новый Массив()); - - Возврат ЮТКонструкторТестовыхДанных; + ЮТКонструкторТестовыхДанныхСлужебный.ТабличнаяЧасть(Контекст, ИмяТабличнойЧасти); + Возврат ЭтотОбъект; КонецФункции @@ -103,12 +108,8 @@ // ОбщийМодуль - Конструктор Функция ДобавитьСтроку() Экспорт - Контекст = Контекст(); - - Запись = Новый Структура(); - ДанныеТабличнойЧасти(Контекст).Добавить(Запись); - - Возврат ЮТКонструкторТестовыхДанных; + ЮТКонструкторТестовыхДанныхСлужебный.ДобавитьСтроку(Контекст); + Возврат ЭтотОбъект; КонецФункции @@ -120,18 +121,16 @@ // // Возвращаемое значение: // ОбщийМодуль - Конструктор -Функция УстановитьДополнительноеСвойство(ИмяСвойства, Значение) Экспорт - - Контекст = Контекст(); - Контекст.ДополнительныеСвойства.Вставить(ИмяСвойства, Значение); +Функция УстановитьДополнительноеСвойство(ИмяСвойства, Значение = Неопределено) Экспорт - Возврат ЮТКонструкторТестовыхДанных; + ЮТКонструкторТестовыхДанныхСлужебный.УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение); + Возврат ЭтотОбъект; КонецФункции // Создает новый объект и возвращает его или ссылку. // -// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество объектов. +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. // Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. // // Параметры: @@ -142,16 +141,22 @@ // Произвольный - Созданный объект или ссылка на него Функция Записать(ВернутьОбъект = Ложь, ОбменДаннымиЗагрузка = Ложь) Экспорт - Контекст = Контекст(); + Возврат ЮТКонструкторТестовыхДанныхСлужебный.Записать(Контекст, ВернутьОбъект, ОбменДаннымиЗагрузка); - ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); - ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства; - ПараметрыЗаписи.ОбменДаннымиЗагрузка = ОбменДаннымиЗагрузка; +КонецФункции + +// Создает и возвращяет новый объект (не записывая его). +// +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. +// Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. +// +// Возвращаемое значение: +// Произвольный - Созданный объект. +Функция НовыйОбъект() Экспорт - Возврат ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект); + Возврат ЮТКонструкторТестовыхДанныхСлужебный.НовыйОбъект(Контекст); КонецФункции - // Создает и проводит новый документ. Возвращает объект или или ссылку на него. // // Важно, после создания данные не очищаются, поэтому многократный вызов метода создать множество объектов. @@ -164,13 +169,7 @@ // Произвольный - Созданный объект или ссылка на него Функция Провести(ВернутьОбъект = Ложь) Экспорт - Контекст = Контекст(); - - ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); - ПараметрыЗаписи.ДополнительныеСвойства = Контекст.ДополнительныеСвойства; - ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение; - - Возврат ЮТТестовыеДанныеВызовСервера.СоздатьЗапись(Контекст.Менеджер, Контекст.Данные, ПараметрыЗаписи, ВернутьОбъект); + Возврат ЮТКонструкторТестовыхДанныхСлужебный.Провести(Контекст, ВернутьОбъект); КонецФункции @@ -181,19 +180,7 @@ // Неопределено - Если заполняется объект Функция ДанныеСтроки() Экспорт - Контекст = Контекст(); - - Если ПустаяСтрока(Контекст.ТекущаяТабличнаяЧасть) Тогда - Возврат Неопределено; - КонецЕсли; - - ДанныеТабличнойЧасти = ДанныеТабличнойЧасти(Контекст); - - Если ДанныеТабличнойЧасти.Количество() Тогда - Возврат ДанныеТабличнойЧасти[ДанныеТабличнойЧасти.ВГраница()]; - Иначе - ВызватьИсключение "Сначала необходимо добавить строку табличной части"; - КонецЕсли; + Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеСтроки(Контекст); КонецФункции @@ -203,8 +190,7 @@ // Структура - Данные объекта Функция ДанныеОбъекта() Экспорт - Контекст = Контекст(); - Возврат Контекст.Данные; + Возврат ЮТКонструкторТестовыхДанныхСлужебный.ДанныеОбъекта(Контекст); КонецФункции @@ -212,71 +198,12 @@ #Область СлужебныйПрограммныйИнтерфейс -// Инициализирует конструктор тестовых данных -// -// Параметры: -// Менеджер - Строка - Имя менеджера. Примеры: Справочники.Товары, Документы.ПриходТоваров -// -// Возвращаемое значение: -// ОбщийМодуль - Конструктор -Функция Инициализировать(Менеджер) Экспорт +Процедура Инициализировать(Менеджер) Экспорт - Контекст = НовыйКонтекстКонструктора(Менеджер); - ЮТКонтекст.УстановитьЗначениеКонтекста(КлючКонтекста(), Контекст); + Контекст = ЮТКонструкторТестовыхДанныхСлужебный.НовыйКонтекстКонструктора(Менеджер); - Возврат ЮТКонструкторТестовыхДанных; - -КонецФункции +КонецПроцедуры #КонецОбласти -#Область СлужебныеПроцедурыИФункции - -// Контекст. -// -// Возвращаемое значение: -// см. НовыйКонтекстКонструктора -Функция Контекст() - - Возврат ЮТКонтекст.ЗначениеКонтекста(КлючКонтекста()); - -КонецФункции - -// Новый контекст конструктора. -// -// Параметры: -// Менеджер - Произвольный -// -// Возвращаемое значение: -// Структура - Новый контекст конструктора: -// * Менеджер - Произвольный -// * Данные - Структура -// * Метаданные - см. ЮТМетаданные.ОписаниеОбъектМетаданных -// * ТекущаяТабличнаяЧасть - Строка - -// * ДополнительныеСвойства - Структура -Функция НовыйКонтекстКонструктора(Менеджер) - - Контекст = Новый Структура("Менеджер, Данные, Метаданные", Менеджер, Новый Структура()); - Контекст.Вставить("Менеджер", Менеджер); - Контекст.Вставить("Данные", Новый Структура()); - Контекст.Вставить("Метаданные", ЮТМетаданные.ОписаниеОбъектМетаданных(Менеджер)); - Контекст.Вставить("ТекущаяТабличнаяЧасть", ""); - Контекст.Вставить("ДополнительныеСвойства", Новый Структура()); - - Возврат Контекст; - -КонецФункции - -Функция КлючКонтекста() - - Возврат "КонструкторТестовыхДанных"; - -КонецФункции - -Функция ДанныеТабличнойЧасти(Контекст) - - Возврат Контекст.Данные[Контекст.ТекущаяТабличнаяЧасть]; - -КонецФункции - -#КонецОбласти +#КонецЕсли diff --git "a/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.mdo" "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.mdo" new file mode 100644 index 000000000..19c994e55 --- /dev/null +++ "b/exts/yaxunit/src/DataProcessors/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205.mdo" @@ -0,0 +1,23 @@ + + + + + + + ЮТКонструкторТестовыхДанных + + ru + Конструктор тестовых данных + + true + DataProcessor.ЮТКонструкторТестовыхДанных.Form.КлиентскийКонструктор + + КлиентскийКонструктор + + ru + Клиентский конструктор + + PersonalComputer + MobileDevice + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" index b60d8df59..32dfccd62 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272/\320\256\320\242\320\224\320\262\320\270\320\266\320\276\320\272.mdo" @@ -1,20 +1,27 @@ - + ЮТДвижок ru Юнит тесты true + + CommonPicture.ЮТПодсистема + CommonModule.Мокито CommonModule.МокитоОбучение CommonModule.МокитоПроверки CommonModule.МокитоСлужебный CommonModule.ЮТест + CommonModule.ЮТЗапросы + CommonModule.ЮТЗапросыВызовСервера + CommonModule.ЮТЗапросыКлиентСервер + CommonModule.ЮТИсполнительКлиент CommonModule.ЮТИсполнительКлиентСервер CommonModule.ЮТИсполнительСервер CommonModule.ЮТКонструкторВариантов - CommonModule.ЮТКонструкторТестовыхДанных + CommonModule.ЮТКонструкторТестовыхДанныхСлужебный CommonModule.ЮТКонтекст CommonModule.ЮТКонтекстКлиент CommonModule.ЮТКонтекстСервер @@ -24,6 +31,7 @@ CommonModule.ЮТМетаданные CommonModule.ЮТМетаданныеПовтИсп CommonModule.ЮТМетаданныеСервер + CommonModule.ЮТНастройкиВыполнения CommonModule.ЮТОбщий CommonModule.ЮТОбщийВызовСервера CommonModule.ЮТОтчет @@ -31,15 +39,21 @@ CommonModule.ЮТОтчетJUnit CommonModule.ЮТПараметрыЗапуска CommonModule.ЮТПовторногоИспользования + CommonModule.ЮТПредикаты + CommonModule.ЮТПредикатыКлиентСервер CommonModule.ЮТРасширения CommonModule.ЮТРегистрацияОшибок CommonModule.ЮТСобытия + CommonModule.ЮТСравнениеКлиентСервер + CommonModule.ЮТСравнениеСервер CommonModule.ЮТТестовыеДанные CommonModule.ЮТТестовыеДанныеВызовСервера CommonModule.ЮТТестовыеДанныеСлужебный CommonModule.ЮТТесты CommonModule.ЮТУтверждения + CommonModule.ЮТУтвержденияИБ CommonModule.ЮТФабрика + CommonModule.ЮТФайлы CommonModule.ЮТФильтрация CommonModule.ЮТЧитатель CommonModule.ЮТЧитательСервер @@ -52,4 +66,6 @@ DataProcessor.ЮТHTTPСервисЗапрос DataProcessor.ЮТЮнитТесты CommonTemplate.ЮТОписаниеМетаданных + CommonPicture.ЮТПодсистема + DataProcessor.ЮТКонструкторТестовыхДанных diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270.mdo" new file mode 100644 index 000000000..86fa80391 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\221\320\260\320\275\320\272\320\270.mdo" @@ -0,0 +1,11 @@ + + + ЮТПодражатель_Реализация_Банки + + ru + ЮТПодражатель реализация банки + + true + CommonModule.ЮТПодражатель_Банки + Subsystem.ЮТПодражатель.Subsystem.ЮТПодражательРеализации + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" new file mode 100644 index 000000000..90dd7745e --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" @@ -0,0 +1,13 @@ + + + ЮТПодражатель_Реализация_Компании + + ru + ЮТПодражатель реализация компании + + true + CommonModule.ЮТПодражатель_Компании + CommonTemplate.ЮТ_СловарьПодражателя_Компании_Наименования_ru + CommonTemplate.ЮТ_СловарьПодражателя_Компании_ПрефиксыНаименований_ru + Subsystem.ЮТПодражатель.Subsystem.ЮТПодражательРеализации + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/CommandInterface.cmi" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270.mdo" new file mode 100644 index 000000000..9df724a51 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217_\320\233\321\216\320\264\320\270.mdo" @@ -0,0 +1,17 @@ + + + ЮТПодражатель_Реализация_Люди + + ru + ЮТПодражатель реализация люди + + true + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеИмена_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеФамилии_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_ЖенскиеОтчества_ru + CommonModule.ЮТПодражатель_Люди + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеИмена_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеОтчества_ru + CommonTemplate.ЮТ_СловарьПодражателя_Люди_МужскиеФамилии_ru + Subsystem.ЮТПодражатель.Subsystem.ЮТПодражательРеализации + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270.mdo" new file mode 100644 index 000000000..1e60caa58 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214\320\240\320\265\320\260\320\273\320\270\320\267\320\260\321\206\320\270\320\270.mdo" @@ -0,0 +1,13 @@ + + + ЮТПодражательРеализации + + ru + ЮТПодражатель реализации + + true + ЮТПодражатель_Реализация_Банки + ЮТПодражатель_Реализация_Компании + ЮТПодражатель_Реализация_Люди + Subsystem.ЮТПодражатель + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" new file mode 100644 index 000000000..001c7b5d2 --- /dev/null +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214/\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214.mdo" @@ -0,0 +1,14 @@ + + + ЮТПодражатель + + ru + Подражатель + + true + CommonModule.ЮТПодражатель + CommonModule.ЮТПодражательПовтИсп + CommonModule.ЮТПодражательВызовСервера + CommonModule.ЮТПодражательСлужебный + ЮТПодражательРеализации + diff --git "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271/\320\256\320\242\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.mdo" "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271/\320\256\320\242\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.mdo" index 80ee25859..0e0a76b65 100644 --- "a/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271/\320\256\320\242\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.mdo" +++ "b/exts/yaxunit/src/Subsystems/\320\256\320\242\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\320\276\321\201\321\202\321\214/Subsystems/\320\256\320\242\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271/\320\256\320\242\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.mdo" @@ -9,7 +9,7 @@ true CommonModule.МокитоСлужебный CommonModule.ЮТЛогирование - CommonModule.ЮТТестовыеДанные + CommonModule.ЮТТестовыеДанныеСлужебный CommonModule.ЮТУтверждения Subsystem.ЮТФункциональность diff --git a/fixtures/demo-configuration/.project b/fixtures/demo-configuration/.project new file mode 100644 index 000000000..5dede4e0e --- /dev/null +++ b/fixtures/demo-configuration/.project @@ -0,0 +1,18 @@ + + + configuration + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + + org.eclipse.xtext.ui.shared.xtextNature + com._1c.g5.v8.dt.core.V8ConfigurationNature + + diff --git a/fixtures/demo-configuration/.settings/org.eclipse.core.resources.prefs b/fixtures/demo-configuration/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..99f26c020 --- /dev/null +++ b/fixtures/demo-configuration/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/=UTF-8 diff --git a/fixtures/demo-configuration/DT-INF/PROJECT.PMF b/fixtures/demo-configuration/DT-INF/PROJECT.PMF new file mode 100644 index 000000000..c76f2f598 --- /dev/null +++ b/fixtures/demo-configuration/DT-INF/PROJECT.PMF @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Runtime-Version: 8.3.21 +Product-Version: 1.8.0 +Store-Version: 1.0.0 diff --git a/fixtures/demo-configuration/README.md b/fixtures/demo-configuration/README.md new file mode 100644 index 000000000..c32c4c013 --- /dev/null +++ b/fixtures/demo-configuration/README.md @@ -0,0 +1,3 @@ +# Конфигурация для прогона тестов + +Используется доработанная [демо-конфигурация](https://github.com/1C-Company/dt-demo-configuration) от фирмы [1С](https://github.com/1C-Company) \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Form.form" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Form.form" new file mode 100644 index 000000000..1902f2b2e --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Form.form" @@ -0,0 +1,689 @@ + + + + ТаблицаОстатков + 6 + true + true + + true + + + ТаблицаОстатков + + false + None + + ТаблицаОстатковКонтрагент + 7 + true + true + + true + + + + ТаблицаОстатков.Контрагент + + + + ТаблицаОстатковКонтрагентExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаОстатковКонтрагентКонтекстноеМеню + 12 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + 8 + true + true + + + + ТаблицаОстатковВалюта + 8 + true + true + + true + + + + ТаблицаОстатков.Валюта + + + + ТаблицаОстатковВалютаExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаОстатковВалютаКонтекстноеМеню + 13 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + 5 + true + true + + + + ТаблицаОстатковНашДолг + 2 + true + true + + true + + + + ТаблицаОстатков.НашДолг + + + + ТаблицаОстатковНашДолгExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаОстатковНашДолгКонтекстноеМеню + 14 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + 6 + true + true + + + + ТаблицаОстатковДолгНам + 3 + true + true + + true + + + + ТаблицаОстатков.ДолгНам + + + + ТаблицаОстатковДолгНамExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаОстатковДолгНамКонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + 6 + true + true + + + None + + ТаблицаОстатковКоманднаяПанель + 11 + true + true + + true + + Left + true + + + Selection + ТаблицаОстатковВыбор + + + true + true + + true + + ТаблицаОстатковСтрокаПоиска + 24 + + ТаблицаОстатковСтрокаПоискаРасширеннаяПодсказка + 26 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаОстатковСтрокаПоискаКонтекстноеМеню + 25 + true + true + + true + + true + + ТаблицаОстатковСтрокаПоиска + + true + + + + true + true + + true + + ТаблицаОстатковСостояниеПросмотра + 27 + + ТаблицаОстатковСостояниеПросмотраРасширеннаяПодсказка + 29 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаОстатковСостояниеПросмотраКонтекстноеМеню + 28 + true + true + + true + + true + + ViewStatusAddition + ТаблицаОстатковСостояниеПросмотра + + true + Left + + + + true + true + + true + + ТаблицаОстатковУправлениеПоиском + 30 + + ТаблицаОстатковУправлениеПоискомРасширеннаяПодсказка + 32 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаОстатковУправлениеПоискомКонтекстноеМеню + 31 + true + true + + true + + true + + SearchControlAddition + ТаблицаОстатковУправлениеПоиском + + true + + + + ТаблицаОстатковExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаОстатковКонтекстноеМеню + 10 + true + true + + true + + true + + true + 40 + true + true + 4 + true +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + +
+ + ФормаКоманднаяПанель + -1 + + Обновить + 4 + true + true + + true + + false + + ОбновитьExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Обновить + PictureAndText + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Справка + 5 + true + true + + true + + false + + СправкаExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Настроить + 9 + true + true + + true + + false + + НастроитьExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + UseIfNecessary + true + true + + ТаблицаОстатков + + <key>ru</key> + <value>Таблица остатков</value> + + 2 + + ValueTable + + + true + + + true + + + Контрагент + + <key>ru</key> + <value>Контрагент</value> + + 1 + + CatalogRef.Контрагенты + + + true + + + true + + + + Валюта + + <key>ru</key> + <value>Валюта</value> + + 2 + + CatalogRef.Валюты + + + true + + + true + + FunctionalOption.ВалютныйУчет + + + НашДолг + + <key>ru</key> + <value>Наш долг</value> + + 3 + + Number + + 10 + 2 + + + + true + + + true + + + + ДолгНам + + <key>ru</key> + <value>Долг нам</value> + + 4 + + Number + + 10 + 2 + + + + true + + + true + + + + + Обновить + + <key>ru</key> + <value>Обновить</value> + + 1 + + ru + Обновить + + + true + + + StdPicture.Refresh + + + + ОбновитьВыполнить + + + Auto + + + + + FilterCriterion.ДокументыКонтрагента.StandardCommand.OpenByValue + + + + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.OpenByValue + + + + + + Document.Оплата.StandardCommand.CreateBasedOn + + + + Document.ПоступлениеДенег.StandardCommand.CreateBasedOn + + + + Document.ПриходТовара.StandardCommand.CreateBasedOn + + + + Document.РасходТовара.StandardCommand.CreateBasedOn + + + + +
diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Help/ru.html" new file mode 100644 index 000000000..3a097dd08 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Help/ru.html" @@ -0,0 +1,2 @@ + +

Отображаются текущие взаиморасчеты с контрагентами

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Module.bsl" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Module.bsl" new file mode 100644 index 000000000..47d537432 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Module.bsl" @@ -0,0 +1,39 @@ +&НаСервере +Процедура Заполнить() + Запрос = Новый Запрос("ВЫБРАТЬ + | ВзаиморасчетыОстатки.Контрагент, + | ВзаиморасчетыОстатки.Валюта, + | ВзаиморасчетыОстатки.СуммаОстаток КАК СуммаОстаток + |ИЗ + | РегистрНакопления.Взаиморасчеты.Остатки КАК ВзаиморасчетыОстатки + |АВТОУПОРЯДОЧИВАНИЕ"); + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + НоваяСтрока = ТаблицаОстатков.Добавить(); + НоваяСтрока.Контрагент = Выборка.Контрагент; + НоваяСтрока.Валюта = Выборка.Валюта; + Если Выборка.СуммаОстаток > 0 Тогда + НоваяСтрока.НашДолг = Выборка.СуммаОстаток; + Иначе + НоваяСтрока.ДолгНам = Выборка.СуммаОстаток * -1; + КонецЕсли; + КонецЦикла + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Заполнить(); +КонецПроцедуры + +&НаКлиенте +Процедура ТаблицаОстатковВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + ПоказатьЗначение( ,ТаблицаОстатков.НайтиПоИдентификатору(ВыбраннаяСтрока).Контрагент); + СтандартнаяОбработка = Ложь; +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьВыполнить() + ТаблицаОстатков.Очистить(); + Заполнить(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..488287472 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,627 @@ + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Период + 4 + + <key>ru</key> + <value>Период</value> + + true + true + + true + + + + Список.Period + + + true + + ПериодExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + + Период_КонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Регистратор + 6 + + <key>ru</key> + <value>Регистратор</value> + + true + true + + true + + + + Список.Recorder + + + + РегистраторExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + + Регистратор_КонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + НомерСтроки + 8 + + <key>ru</key> + <value>Номер строки</value> + + true + true + + true + + + + Список.LineNumber + + + + НомерСтрокиExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + + НомерСтроки_КонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Контрагент + 10 + + <key>ru</key> + <value>Контрагент</value> + + true + true + + true + + + + Список.Контрагент + + + + КонтрагентExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + + Контрагент_КонтекстноеМеню + 11 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Сумма + 14 + + <key>ru</key> + <value>Сумма</value> + + true + true + + true + + + + Список.Сумма + + + + СуммаExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + + Сумма_КонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Валюта + 12 + + <key>ru</key> + <value>Валюта</value> + + true + true + + true + + + + Список.Валюта + + + + ВалютаExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + + Валюта_КонтекстноеМеню + 13 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + Список_КоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 27 + + СписокСтрокаПоискаРасширеннаяПодсказка + 29 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 28 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 30 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 32 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 31 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 33 + + СписокУправлениеПоискомРасширеннаяПодсказка + 35 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 34 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + + Список_КонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + 10 + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + + Список.DefaultPicture + + + Style.BorderColor + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + +
+ + Форма_КоманднаяПанель + -1 + + ВсеВзаиморасчеты + 18 + + <key>ru</key> + <value>Все взаиморасчеты</value> + + true + true + + true + + false + + ВсеВзаиморасчетыExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ВсеВзаиморасчеты + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + AccumulationRegister.Взаиморасчеты + true + true + true + true + +
+ + ВсеВзаиморасчеты + + <key>ru</key> + <value>Все взаиморасчеты</value> + + 1 + + ru + Все взаиморасчеты + + + true + + + + ВсеВзаиморасчетыВыполнить + + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" new file mode 100644 index 000000000..a3f54f8a6 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" @@ -0,0 +1,13 @@ + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +// Обработчик команды ВсеВзаиморасчеты +&НаКлиенте +Процедура ВсеВзаиморасчетыВыполнить() + ТекущаяСтрока = Элементы.Список.ТекущаяСтрока; + СтруктураПараметров = Новый Структура("ТекущаяСтрока", ТекущаяСтрока); + ОткрытьФорму("РегистрНакопления.Взаиморасчеты.ФормаСписка", СтруктураПараметров, , Истина); +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Help/ru.html" new file mode 100644 index 000000000..f265fc8ed --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/Help/ru.html" @@ -0,0 +1 @@ +В этом регистре хранится информация по взаиморасчетам предприятия. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213.mdo" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213.mdo" new file mode 100644 index 000000000..ff7f6ec10 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213/\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\321\213.mdo" @@ -0,0 +1,164 @@ + + + + + + + + + + + Взаиморасчеты + + ru + Взаиморасчеты + + + true + AccumulationRegister.Взаиморасчеты.Form.ФормаСписка + true + + + ru + + + + Use + RecordType + + + Use + + + + + + Use + Active + + + Use + + + + + + Use + LineNumber + + + Use + + + + + + Use + Recorder + + + Use + + + + + + Use + Period + + + ShowError + Use + + + + + true + + ru + Регистр взаиморасчетов с контрагентами + + + ru + Изменения взаиморасчетов с контрагентами + + + Сумма + + ru + Сумма + + Задолженность нашей организации + + Number + + 10 + 2 + + + + + + DontUse + Use + Use + + + Контрагент + + ru + Контрагент + + + + CatalogRef.Контрагенты + + + + + Index + Use + true + + + Валюта + + ru + Валюта + + + + CatalogRef.Валюты + + + + + Use + true + + + ТекущиеВзаиморасчеты + + ru + Текущие взаиморасчеты + + + + + ru + + + PersonalComputer + MobileDevice + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/Help/ru.html" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/Help/ru.html" new file mode 100644 index 000000000..8235e4ed7 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/Help/ru.html" @@ -0,0 +1 @@ +В данном регистре хранится информация о продажах предприятия. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" new file mode 100644 index 000000000..de037a388 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" @@ -0,0 +1,161 @@ + + + + + + + + + + + Продажи + + ru + Продажи + + + true + Turnovers + true + + + ru + + + + Use + Active + + + Use + + + + + + Use + LineNumber + + + Use + + + + + + Use + Recorder + + + Use + + + + + + Use + Period + + + ShowError + Use + + + + + true + + + Auto + AccumulationRegister.Продажи.Dimension.Покупатель + + + Auto + AccumulationRegister.Продажи.Dimension.Товар + + + + ru + Регистр продаж + + + ru + Регистр продаж контрагентам + + + Количество + + ru + Количество + + + + Number + + 10 + 2 + + + + + + Use + + + Сумма + + ru + Сумма + + + + Number + + 10 + 2 + true + + + + ru + Сумма по товару + + + + + ShowError + Use + + + Покупатель + + ru + Покупатель + + + + CatalogRef.Контрагенты + + + + + Use + true + + + Товар + + ru + Товар + + + + CatalogRef.Товары + + + + + Use + true + + diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Help/ru.html" new file mode 100644 index 000000000..c241120a3 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Help/ru.html" @@ -0,0 +1,2 @@ + +

В этом регистре находится информация о всех товарных запасах предприятия.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/AccumulationRegisters/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" new file mode 100644 index 000000000..3373f9832 --- /dev/null +++ "b/fixtures/demo-configuration/src/AccumulationRegisters/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" @@ -0,0 +1,138 @@ + + + + + + + + + + + ТоварныеЗапасы + + ru + Товарные запасы + + + true + true + + + ru + + + + Use + RecordType + + + Use + + + + + + Use + Active + + + Use + + + + + + Use + LineNumber + + + Use + + + + + + Use + Recorder + + + Use + + + + + + Use + Period + + + Use + + + + + true + + ru + Регистр товарных запасов + + + ru + Изменения товарных запасов при поступлениях, продажах, корректировке товарных запасов + + + Количество + + ru + Количество + + + + Number + + 10 + 2 + + + true + + + + ShowError + Use + + + Товар + + ru + Товар + + + + CatalogRef.Товары + + + + + ShowError + Use + true + + + Склад + + ru + Склад + + + + CatalogRef.Склады + + + + + ShowError + Use + true + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\221\320\260\320\275\320\272\320\270/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\221\320\260\320\275\320\272\320\270/Help/ru.html" new file mode 100644 index 000000000..0884f282b --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\221\320\260\320\275\320\272\320\270/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике собрана информация о банках, которые участвуют во взаиморасчетах между предприятием и контрагентами. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\221\320\260\320\275\320\272\320\270/\320\221\320\260\320\275\320\272\320\270.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\221\320\260\320\275\320\272\320\270/\320\221\320\260\320\275\320\272\320\270.mdo" new file mode 100644 index 000000000..eab1cedfc --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\221\320\260\320\275\320\272\320\270/\320\221\320\260\320\275\320\272\320\270.mdo" @@ -0,0 +1,147 @@ + + + + + + + + + + Банки + + ru + Банки + + + true + Catalog.Банки.StandardAttribute.Description + Catalog.Банки.StandardAttribute.Code + AnyPart + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + DontUse + true + + + ru + + + Use + + ru + Банк + + + ru + Банки + + + ru + Классификатор банков РФ + + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + true + BothWays + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..4ff43717d --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,146 @@ + + + + Код + 1 + true + true + + true + + + + Объект.Code + + + + КодРасширеннаяПодсказка + 3 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + Наименование + 4 + true + true + + true + + + + Объект.Description + + + + НаименованиеРасширеннаяПодсказка + 6 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.Валюты + + + true + + + true + +
true
+ true +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/Help/ru.html" new file mode 100644 index 000000000..3ab00dea6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/Help/ru.html" @@ -0,0 +1 @@ +В данном справочнике находится информация о валюте предприятия, в которой оно осуществляет взаиморасчеты. Товарооборот предприятия ведется только в рублях. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/\320\222\320\260\320\273\321\216\321\202\321\213.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/\320\222\320\260\320\273\321\216\321\202\321\213.mdo" new file mode 100644 index 000000000..e3360ac57 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\260\320\273\321\216\321\202\321\213/\320\222\320\260\320\273\321\216\321\202\321\213.mdo" @@ -0,0 +1,158 @@ + + + + + + + + + + Валюты + + ru + Валюты + + + true + Catalog.Валюты.StandardAttribute.Description + Catalog.Валюты.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + DontUse + true + + + ru + + + Use + + ru + Валюта + + + ru + Валюты + + + ru + Классификатор валют + + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + true + BothWays + Catalog.Валюты.Form.ФормаЭлемента + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\320\270\320\264\321\213\320\246\320\265\320\275/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\270\320\264\321\213\320\246\320\265\320\275/Help/ru.html" new file mode 100644 index 000000000..bda5d92bd --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\270\320\264\321\213\320\246\320\265\320\275/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике хранится информация о различных видах цен предприятия. Цены различаются в зависимости от условий договора. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\320\270\320\264\321\213\320\246\320\265\320\275/\320\222\320\270\320\264\321\213\320\246\320\265\320\275.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\270\320\264\321\213\320\246\320\265\320\275/\320\222\320\270\320\264\321\213\320\246\320\265\320\275.mdo" new file mode 100644 index 000000000..8c340ac10 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\320\270\320\264\321\213\320\246\320\265\320\275/\320\222\320\270\320\264\321\213\320\246\320\265\320\275.mdo" @@ -0,0 +1,156 @@ + + + + + + + + + + ВидыЦен + + ru + Виды цен + + + true + Catalog.ВидыЦен.StandardAttribute.Description + Catalog.ВидыЦен.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + DontUse + true + + + ru + + + Use + + ru + Вид цены + + + ru + Виды цен + + + ru + Виды используемых цен + + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + + + Закупочная + Закупочная + + 000000010 + + + + InDialog + true + BothWays + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/CommandModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/CommandModule.bsl" new file mode 100644 index 000000000..cae83795c --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/CommandModule.bsl" @@ -0,0 +1,13 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + ОткрытьФорму("Справочник.Встречи.Форма.Календарь", + , + ПараметрыВыполненияКоманды.Источник, + ПараметрыВыполненияКоманды.Уникальность, + ПараметрыВыполненияКоманды.Окно, + ПараметрыВыполненияКоманды.НавигационнаяСсылка + ); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Attributes/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/ExtInfo/PlannerSettings.pnrs" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Attributes/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/ExtInfo/PlannerSettings.pnrs" new file mode 100644 index 000000000..9a556b8ca --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Attributes/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/ExtInfo/PlannerSettings.pnrs" @@ -0,0 +1,48 @@ + + + + + 2015-08-06T01:00:00 + 2015-08-06T04:00:00 + Встреча + + 0001-01-01T00:00:00 + 821efef7-461d-41c2-abc6-77cb513ba998 + + true + true + true + true + + # + DLF="DD" + + 1 + Day + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + BeginTime + + Left + + Hour + 1 + true + + 1 + + + MonthDayWeekDay + + # + DF="HH:mm" + + + true + + + + 2015-08-06T00:00:00 + 2015-08-06T23:59:59 + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Form.form" new file mode 100644 index 000000000..1379ed2f0 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Form.form" @@ -0,0 +1,911 @@ + + + + ГоризонтальнаяГруппировка + 1 + + ГруппаСлева + 3 + + ДатаОтображения + 5 + true + true + + true + + + + ДатаОтображения + + + None + + OnChange + ДатаОтображенияПриИзменении + + + ДатаОтображенияРасширеннаяПодсказка + 7 + true + true + + true + + Label + true + true + + Left + + + + ДатаОтображенияКонтекстноеМеню + 6 + true + true + + true + + true + + CalendarField + Enter + true + Left + true + + + OnActivateDate + ДатаОтображенияПриАктивизацииДаты + + 16 + true + 9 + true + true + Interval + true + true + + 1 + + 1 + 2 + + + true + true + + true + + + <key>ru</key> + <value>Группа слева</value> + + + ru + Группа слева + + 28 + false + + ГруппаСлеваРасширеннаяПодсказка + 4 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ГруппаСправа + 25 + + ПанельНастроек + 27 + + ФормаСегодня + 29 + true + true + + true + + + ФормаСегодняРасширеннаяПодсказка + 30 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Item.Планировщик.StandardCommand.Today + true + true + UserCmds + + + ФормаНазад + 31 + true + true + + true + + + ФормаНазадРасширеннаяПодсказка + 32 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Item.Планировщик.StandardCommand.Back + Picture + 3 + true + true + UserCmds + + + ФормаВперед + 33 + true + true + + true + + + ФормаВпередРасширеннаяПодсказка + 34 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Item.Планировщик.StandardCommand.Forward + Picture + 3 + true + true + UserCmds + + + ОтображатьВстречиДругихПользователей + 64 + true + true + + true + + Role.Продавец + + + + + ОтображатьВстречиДругихПользователей + + + + OnChange + ОтображатьВстречиДругихПользователейПриИзменении + + + ОтображатьВстречиДругихПользователейРасширеннаяПодсказка + 66 + true + true + + true + + Label + true + true + + Left + + + + ОтображатьВстречиДругихПользователейКонтекстноеМеню + 65 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ПредставлениеПериода + 35 + true + true + + true + + + + ПредставлениеПериода + + + None + + ПредставлениеПериодаРасширеннаяПодсказка + 37 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеПериодаКонтекстноеМеню + 36 + true + true + + true + + true + + LabelField + Center + Enter + true + Left + true + + 15 + true + + + + ВариантПериода + 38 + true + true + + true + + + + ВариантПериода + + + None + + OnChange + ВариантПериодаПриИзменении + + + ВариантПериодаРасширеннаяПодсказка + 40 + true + true + + true + + Label + true + true + + Left + + + + ВариантПериодаКонтекстноеМеню + 39 + true + true + + true + + true + + RadioButtonField + Enter + true + Left + true + + Tumbler + 7 + true + + + День + + + + + Неделя + + + + + Месяц + + + + + + КоманднаяПанельФормы + 41 + + ГруппаНастройки + 49 + + ФормаОбновить + 51 + true + true + + true + + + ФормаОбновитьРасширеннаяПодсказка + 52 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Обновить + Auto + true + true + true + UserCmds + + + ФормаСписокЗаписейКалендаря + 59 + + <key>ru</key> + <value>Перейти к списку дел</value> + + true + true + + true + + + ФормаСписокЗаписейКалендаряРасширеннаяПодсказка + 60 + true + true + + true + + Label + true + true + + Left + + + Catalog.Встречи.StandardCommand.OpenList + Auto + true + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Группа настройки</value> + + + ru + Группа настройки + + + ГруппаНастройкиРасширеннаяПодсказка + 50 + true + true + + true + + Label + true + true + + Left + + + + + true + true + + true + + + <key>ru</key> + <value>Командная панель формы</value> + + + ru + Командная панель формы + + + КоманднаяПанельФормыРасширеннаяПодсказка + 42 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + Form + + + true + true + + true + + + <key>ru</key> + <value>Панель настроек</value> + + + ru + Панель настроек + + + ПанельНастроекРасширеннаяПодсказка + 28 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + Планировщик + 61 + true + true + + true + + + + Планировщик + + + None + + ПланировщикРасширеннаяПодсказка + 63 + true + true + + true + + Label + true + true + + Left + + + + ПланировщикКонтекстноеМеню + 62 + true + true + + true + + true + + PlannerField + Enter + true + Left + true + + + BeforeCreate + ПланировщикПередСозданием + + + OnCurrentRepresentationPeriodChange + ПланировщикПриСменеТекущегоПериодаОтображения + + + OnEditEnd + ПланировщикПриОкончанииРедактирования + + + BeforeDelete + ПланировщикПередУдалением + + + BeforeStartEdit + ПланировщикПередНачаломРедактирования + + + BeforeStartQuickEdit + ПланировщикПередНачаломБыстрогоРедактирования + + 50 + true + 15 + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа справа</value> + + + ru + Группа справа + + + ГруппаСправаРасширеннаяПодсказка + 26 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Горизонтальная группировка</value> + + + ru + Горизонтальная группировка + + + ГоризонтальнаяГруппировкаРасширеннаяПодсказка + 2 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + + + NotificationProcessing + ОбработкаОповещения + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Планировщик + + <key>ru</key> + <value>Планировщик</value> + + 1 + + Planner + + + true + + + true + + + + + ДатаОтображения + + <key>ru</key> + <value>Дата отображения</value> + + 2 + + Date + + Date + + + + true + + + true + + + + ПредставлениеПериода + + <key>ru</key> + <value>Представление периода</value> + + 3 + + String + + + + true + + + true + + + + ВариантПериода + + <key>ru</key> + <value>Вариант периода</value> + + 4 + + String + + + + true + + + true + + + + ОкноПодгрузки + + <key>ru</key> + <value>Окно подгрузки</value> + + 5 + + + true + + + true + + + + ОтображатьВстречиДругихПользователей + + <key>ru</key> + <value>Отображать встречи других пользователей</value> + + 6 + + Boolean + + + true + + Role.Продавец + + + + true + + Role.Продавец + + + + + Измерения + + <key>ru</key> + <value>Измерения</value> + + 8 + + ValueList + + + true + + + true + + + + + + + ТекущийПользовательБазы + + <key>ru</key> + <value>Текущий пользователь базы</value> + + 9 + + String + + + + true + + + true + + + + Обновить + + <key>ru</key> + <value>Обновить</value> + + 1 + + ru + Обновить + + + true + + F5 + + + Обновить + + + TextPicture + DontUse + + + + + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Module.bsl" new file mode 100644 index 000000000..49b3ee5c2 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\232\320\260\320\273\320\265\320\275\320\264\320\260\321\200\321\214/Module.bsl" @@ -0,0 +1,595 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ОкноПодгрузки = Новый Структура; + ОкноПодгрузки.Вставить("Начало", ТекущаяДата()); + ОкноПодгрузки.Вставить("Конец", ТекущаяДата()); + + ОтображатьВстречиДругихПользователей = РаботаСХранилищемОбщихНастроек.ПолучитьОтображениеВстречДругихПользователей(); + + ВариантПериода = РаботаСХранилищемОбщихНастроек.ПолучитьВариантПериодаКалендаряВстреч(); + + Планировщик.ШкалаВремени.Элементы[0].ФорматДня = ФорматДняШкалыВремени.ДеньМесяцаДеньНедели; + + ДатаОтображения = ТекущаяДата(); + ВыделитьДатыОтображения(ЭтотОбъект); + УстановитьПредставлениеПериода(ЭтотОбъект); + + ОбновитьДанныеПланировщикаСервер(); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + ОбновитьДанныеПланировщикаКлиент(); +КонецПроцедуры + +&НаКлиенте +Процедура ДатаОтображенияПриИзменении(Элемент) + + ПлавнаяПрокрутка = Ложь; + ПодключитьОбработчикОжидания("ОбновитьДанныеПланировщикаКлиент", 0.2, Истина); + +КонецПроцедуры + +&НаКлиенте +Процедура ДатаОтображенияПриАктивизацииДаты(Элемент) + + ВыделитьДатыОтображения(ЭтотОбъект); + УстановитьПредставлениеПериода(ЭтотОбъект); + Элементы.ДатаОтображения.Обновить(); + +КонецПроцедуры + +&НаКлиенте +Процедура ВариантПериодаПриИзменении(Элемент) + РаботаСХранилищемОбщихНастроек.СохранитьВариантПериодаКалендаряВстреч(ВариантПериода); + + ВыделитьДатыОтображения(ЭтотОбъект); + УстановитьПредставлениеПериода(ЭтотОбъект); + Элементы.ДатаОтображения.Обновить(); + ОбновитьДанныеПланировщикаКлиент(); + +КонецПроцедуры + +&НаКлиенте +Процедура ПланировщикПередСозданием(Элемент, Начало, Конец, Значения, Текст, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ЗначенияЗаполнения = Новый Структура; + ЗначенияЗаполнения.Вставить("Начало", Начало); + ЗначенияЗаполнения.Вставить("Окончание", Конец); + + Если Значения.Количество() = 0 Тогда + ЗначенияЗаполнения.Вставить("Владелец", Неопределено); + Иначе + ЗначенияЗаполнения.Вставить("Владелец", Значения.Получить("Пользователь")); + КонецЕсли; + + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("ЗначенияЗаполнения", ЗначенияЗаполнения); + ОткрытьФорму("Справочник.Встречи.Форма.ФормаЭлемента", ПараметрыФормы, ЭтотОбъект); + +КонецПроцедуры + +&НаКлиенте +Процедура ПланировщикПриОкончанииРедактирования(Элемент, НовыйЭлемент, ОтменаРедактирования) + + ОбрабатываемыеЭлементы = Новый Массив; + + Для Каждого ВыделенныйЭлемент Из Элемент.ВыделенныеЭлементы Цикл + + ОбрабатываемыйЭлемент = Новый Структура; + ОбрабатываемыйЭлемент.Вставить("Встреча", ВыделенныйЭлемент.Значение); + ОбрабатываемыйЭлемент.Вставить("Начало", ВыделенныйЭлемент.Начало); + ОбрабатываемыйЭлемент.Вставить("Конец", ВыделенныйЭлемент.Конец); + + Если Планировщик.Измерения.Количество() = 0 Тогда + ОбрабатываемыйЭлемент.Вставить("Владелец", Неопределено); + Иначе + ОбрабатываемыйЭлемент.Вставить("Владелец", ВыделенныйЭлемент.ЗначенияИзмерений.Получить("Пользователь")); + КонецЕсли; + + ОбрабатываемыеЭлементы.Добавить(ОбрабатываемыйЭлемент); + + КонецЦикла; + + ОтменаРедактирования = Не СохранитьИзмененияВБазу(ОбрабатываемыеЭлементы); + +КонецПроцедуры + +&НаКлиенте +Процедура ПланировщикПередНачаломРедактирования(Элемент, НовыйЭлемент, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОткрытьФормуТекущегоЭлементаПланировщика(); + +КонецПроцедуры + +&НаКлиенте +Процедура ПланировщикПередУдалением(Элемент, Отказ) + + ОбрабатываемыеЭлементы = Новый Массив; + + Для Каждого ВыделенныйЭлемент Из Элемент.ВыделенныеЭлементы Цикл + + ОбрабатываемыйЭлемент = Новый Структура; + ОбрабатываемыйЭлемент.Вставить("Встреча", ВыделенныйЭлемент.Значение); + ОбрабатываемыйЭлемент.Вставить("ПометкаУдаления", Истина); + + ОбрабатываемыеЭлементы.Добавить(ОбрабатываемыйЭлемент); + + КонецЦикла; + + Отказ = Не СохранитьИзмененияВБазу(ОбрабатываемыеЭлементы); + +КонецПроцедуры + +&НаКлиенте +Процедура ПланировщикПриСменеТекущегоПериодаОтображения(Элемент, ТекущиеПериодыОтображения, СтандартнаяОбработка) + + ПлавнаяПрокрутка = Истина; + Если ВариантПериода = "Месяц" Тогда + + СтандартнаяОбработка = Ложь; + ТекущаяДата = ТекущаяДата(); + + Если ТекущиеПериодыОтображения[0].Начало = НачалоДня(ТекущаяДата) Тогда + ДатаОтображения = ТекущаяДата; + ИначеЕсли ТекущиеПериодыОтображения[0].Начало < Планировщик.ТекущиеПериодыОтображения[0].Начало Тогда + ДатаОтображения = ДобавитьМесяц(ДатаОтображения, -1); + ИначеЕсли ТекущиеПериодыОтображения[0].Начало > Планировщик.ТекущиеПериодыОтображения[0].Начало Тогда + ДатаОтображения = ДобавитьМесяц(ДатаОтображения, 1); + КонецЕсли; + + ПериодДанных = ПолучитьПериодДанных(ВариантПериода, ДатаОтображения); + Планировщик.ТекущиеПериодыОтображения.Очистить(); + Планировщик.ТекущиеПериодыОтображения.Добавить(ПериодДанных.ДатаНачала, ПериодДанных.ДатаОкончания); + + Планировщик.ИнтервалыФона.Очистить(); + Интервал = Планировщик.ИнтервалыФона.Добавить(НачалоНедели(НачалоМесяца(ДатаОтображения)), НачалоМесяца(ДатаОтображения)); + Интервал.Цвет = Новый Цвет(230, 230, 230); + + Интервал = Планировщик.ИнтервалыФона.Добавить(КонецМесяца(ДатаОтображения), КонецНедели(КонецМесяца(ДатаОтображения))); + Интервал.Цвет = Новый Цвет(230, 230, 230); + + Интервал = Планировщик.ИнтервалыФона.Добавить(НачалоДня(ТекущаяДата), КонецДня(ТекущаяДата)); + Интервал.Цвет = Новый Цвет(223, 255, 223); + + ПлавнаяПрокрутка = Ложь; + + Иначе + + ДатаОтображения = ТекущиеПериодыОтображения[0].Начало; + + КонецЕсли; + + ВыделитьДатыОтображения(ЭтотОбъект); + УстановитьПредставлениеПериода(ЭтотОбъект); + Элементы.ДатаОтображения.Обновить(); + ОбновитьДанныеПланировщикаКлиент(ПлавнаяПрокрутка); + +КонецПроцедуры + +&НаКлиенте +Процедура ПланировщикПередНачаломБыстрогоРедактирования(Элемент, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОткрытьФормуТекущегоЭлементаПланировщика(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОтображатьВстречиДругихПользователейПриИзменении(Элемент) + РаботаСХранилищемОбщихНастроек.СохранитьОтображениеВстречДругихПользователей(ОтображатьВстречиДругихПользователей); + ОбновитьДанныеПланировщикаКлиент(); +КонецПроцедуры + + +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// Возвращает период отображения Планировщика на основе текущих настроек +// +// Параметры: +// +// ВариантПериода - день/неделя/месяц для текущей даты +// ДатаОтображения - текущая дата отображения +// +// Возвращаемое значение: +// Структура - дата начала и дата окончания периода. +&НаКлиентеНаСервереБезКонтекста +Функция ПолучитьПериодДанных(ВариантПериода, ДатаОтображения) + + Результат = Новый Структура("ДатаНачала, ДатаОкончания"); + + Если ВариантПериода = "День" Тогда + Результат.ДатаНачала = НачалоДня(ДатаОтображения); + Результат.ДатаОкончания = КонецДня(ДатаОтображения); + ИначеЕсли ВариантПериода = "Неделя" Тогда + Результат.ДатаНачала = НачалоНедели(ДатаОтображения); + Результат.ДатаОкончания = КонецНедели(ДатаОтображения); + ИначеЕсли ВариантПериода = "Месяц" Тогда + Результат.ДатаНачала = НачалоНедели(НачалоМесяца(ДатаОтображения)); + Результат.ДатаОкончания = КонецНедели(КонецМесяца(ДатаОтображения)); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +// Выделяет соотвествующие даты в поле календаря +// +// Параметры: +// +// Форма - форма, в которой расположен календарь +&НаКлиентеНаСервереБезКонтекста +Процедура ВыделитьДатыОтображения(Форма) + + ПолеКалендаря = Форма.Элементы.ДатаОтображения; + + ПолеКалендаря.ВыделенныеДаты.Очистить(); + + Если Форма.ВариантПериода = "Месяц" Тогда + // Для варианта "Месяц" выделенные даты календаря отличаются от фактического периода. + // Фактический период должен быть кратен 7 дням (недели). + // Но в поле календаря выделяются даты только в пределах месяца. + ПериодДанных = Новый Структура("ДатаНачала, ДатаОкончания"); + ПериодДанных.ДатаНачала = НачалоМесяца(Форма.ДатаОтображения); + ПериодДанных.ДатаОкончания = КонецМесяца(Форма.ДатаОтображения); + Иначе + ПериодДанных = ПолучитьПериодДанных(Форма.ВариантПериода, Форма.ДатаОтображения); + КонецЕсли; + + ТекДата = ПериодДанных.ДатаНачала; + + Пока ТекДата < ПериодДанных.ДатаОкончания Цикл + ПолеКалендаря.ВыделенныеДаты.Добавить(ТекДата); + ТекДата = ТекДата + 86400; + КонецЦикла; + +КонецПроцедуры + +// Сохраняет измененные встречи в справочнике +// +// Параметры: +// +// ОбрабатываемыеЭлементы - массив измененнных встреч +// +// Возвращаемое значение: +// Булево - данные были успешно сохранены +&НаСервереБезКонтекста +Функция СохранитьИзмененияВБазу(Знач ОбрабатываемыеЭлементы) + + Возврат Справочники.Встречи.СохранитьИзменения(ОбрабатываемыеЭлементы); + +КонецФункции + +// Устанавливает соотвествующее секстовое представление отображаемого периода на основе текущих настроек +// +// Параметры: +// +// Форма - форма, в которой расположен элемент представления +&НаКлиентеНаСервереБезКонтекста +Процедура УстановитьПредставлениеПериода(Форма) + + Если Форма.ВариантПериода = "День" Тогда + + Форма.ПредставлениеПериода = Формат(Форма.ДатаОтображения, "ДФ='дддд, д МММ'"); + + ИначеЕсли Форма.ВариантПериода = "Неделя" Тогда + + ПериодДанных = ПолучитьПериодДанных(Форма.ВариантПериода, Форма.ДатаОтображения); + Форма.ПредставлениеПериода = СтрШаблон( + "%1 - %2", + Формат(ПериодДанных.ДатаНачала, "ДФ='д МММ'"), + Формат(ПериодДанных.ДатаОкончания, "ДФ='д МММ гггг'") + ); + + ИначеЕсли Форма.ВариантПериода = "Месяц" Тогда + + Форма.ПредставлениеПериода = ПредставлениеПериода(НачалоМесяца(Форма.ДатаОтображения), КонецМесяца(Форма.ДатаОтображения)); + + КонецЕсли; + +КонецПроцедуры + +// Настраивает отображение Планировщика на основе текущих настроек +&НаКлиенте +Процедура УстановитьОтображениеПланировщика() + + Если ВариантПериода = "День" Тогда + + Планировщик.ОтображатьТекущуюДату = Истина; + Планировщик.ЕдиницаПериодическогоВарианта = ТипЕдиницыШкалыВремени.Час; + Планировщик.КратностьПериодическогоВарианта = 24; + Планировщик.ОтступСНачалаПереносаШкалыВремени = 9; + Планировщик.ОтступСКонцаПереносаШкалыВремени = 6; + Планировщик.ОтображатьПеренесенныеЗаголовки = Истина; + Планировщик.ОтображатьПеренесенныеЗаголовкиШкалыВремени = Ложь; + Планировщик.ОтображениеВремениЭлементов = ОтображениеВремениЭлементовПланировщика.ВремяНачалаИКонца; + Планировщик.ФорматПеренесенныхЗаголовковШкалыВремени = "ДФ='dddd, d MMMM yyyy'"; + Планировщик.ШкалаВремени.Положение = ПоложениеШкалыВремени.Лево; + Планировщик.ШкалаВремени.Элементы[0].Формат = "ДФ=ЧЧ:мм"; + Планировщик.ШкалаВремени.Элементы[0].Кратность = 1; + Планировщик.ШкалаВремени.Элементы[0].Единица = ТипЕдиницыШкалыВремени.Час; + + Если Планировщик.ШкалаВремени.Элементы.Количество() = 1 Тогда + Планировщик.ШкалаВремени.Элементы.Добавить(); + КонецЕсли; + + Планировщик.ШкалаВремени.Элементы[1].Кратность = 15; + Планировщик.ШкалаВремени.Элементы[1].Единица = ТипЕдиницыШкалыВремени.Минута; + Планировщик.ШкалаВремени.Элементы[1].ОтображатьПериодическиеМетки = Ложь; + + ИначеЕсли ВариантПериода = "Неделя" Тогда + + Планировщик.ОтображатьТекущуюДату = Истина; + Планировщик.ЕдиницаПериодическогоВарианта = ТипЕдиницыШкалыВремени.Час; + Планировщик.КратностьПериодическогоВарианта = 24; + Планировщик.ОтступСНачалаПереносаШкалыВремени = 9; + Планировщик.ОтступСКонцаПереносаШкалыВремени = 6; + Планировщик.ОтображатьПеренесенныеЗаголовки = Истина; + Планировщик.ОтображатьПеренесенныеЗаголовкиШкалыВремени = Ложь; + Планировщик.ОтображениеВремениЭлементов = ОтображениеВремениЭлементовПланировщика.НеОтображать; + Планировщик.ФорматПеренесенныхЗаголовковШкалыВремени = "ДФ='ddd, d MMMM'"; + Планировщик.ШкалаВремени.Положение = ПоложениеШкалыВремени.Лево; + Планировщик.ШкалаВремени.Элементы[0].Формат = "ДФ=ЧЧ:мм"; + Планировщик.ШкалаВремени.Элементы[0].Кратность = 1; + Планировщик.ШкалаВремени.Элементы[0].Единица = ТипЕдиницыШкалыВремени.Час; + + Если Планировщик.ШкалаВремени.Элементы.Количество() = 1 Тогда + Планировщик.ШкалаВремени.Элементы.Добавить(); + КонецЕсли; + + Планировщик.ШкалаВремени.Элементы[1].Кратность = 15; + Планировщик.ШкалаВремени.Элементы[1].Единица = ТипЕдиницыШкалыВремени.Минута; + Планировщик.ШкалаВремени.Элементы[1].ОтображатьПериодическиеМетки = Ложь; + + ИначеЕсли ВариантПериода = "Месяц" Тогда + + Планировщик.ОтображатьТекущуюДату = Ложь; + Планировщик.ЕдиницаПериодическогоВарианта = ТипЕдиницыШкалыВремени.День; + Планировщик.КратностьПериодическогоВарианта = 7; + Планировщик.ОтступСНачалаПереносаШкалыВремени = 0; + Планировщик.ОтступСКонцаПереносаШкалыВремени = 0; + Планировщик.ОтображатьПеренесенныеЗаголовки = Ложь; + Планировщик.ОтображатьПеренесенныеЗаголовкиШкалыВремени = Истина; + Планировщик.ОтображениеВремениЭлементов = ОтображениеВремениЭлементовПланировщика.НеОтображать; + Планировщик.ФорматПеренесенныхЗаголовковШкалыВремени = "ДФ='ddd, d MMM yyyy'"; + Планировщик.ШкалаВремени.Положение = ПоложениеШкалыВремени.Верх; + + Если Планировщик.ШкалаВремени.Элементы.Количество() = 2 Тогда + Планировщик.ШкалаВремени.Элементы.Удалить(Планировщик.ШкалаВремени.Элементы.Получить(1)); + КонецЕсли; + + Планировщик.ШкалаВремени.Элементы[0].Формат = "ДФ='ddd, d MMM yyyy'"; + Планировщик.ШкалаВремени.Элементы[0].Кратность = 1; + Планировщик.ШкалаВремени.Элементы[0].Единица = ТипЕдиницыШкалыВремени.День; + + + Интервал = Планировщик.ИнтервалыФона.Добавить(НачалоНедели(НачалоМесяца(ДатаОтображения)), НачалоМесяца(ДатаОтображения)); + Интервал.Цвет = Новый Цвет(230, 230, 230); + + Интервал = Планировщик.ИнтервалыФона.Добавить(КонецМесяца(ДатаОтображения), КонецНедели(КонецМесяца(ДатаОтображения))); + Интервал.Цвет = Новый Цвет(230, 230, 230); + + ТекущаяДата = ТекущаяДата(); + Интервал = Планировщик.ИнтервалыФона.Добавить(НачалоДня(ТекущаяДата), КонецДня(ТекущаяДата)); + Интервал.Цвет = Новый Цвет(223, 255, 223); + + КонецЕсли; + + Планировщик.Измерения.Очистить(); + Если ОтображатьВстречиДругихПользователей Тогда + + ПолучитьИзмеренияПланировщика(); + ИзмерениеПланировщика = Планировщик.Измерения.Добавить("Пользователь"); + + Для каждого Измерение Из Измерения Цикл + ЭлементИзмерения = ИзмерениеПланировщика.Элементы.Добавить(Измерение.Значение); + ЭлементИзмерения.Текст = Измерение.Представление; + КонецЦикла; + + ПолучитьКодТекущегоПользователя(); + + СоответствиеЗначений = Новый Соответствие; + СоответствиеЗначений.Вставить("Пользователь",ТекущийПользовательБазы); + + ПериодДанных = ПолучитьПериодДанных(ВариантПериода, ДатаОтображения); + Интервал = Планировщик.ИнтервалыФона.Добавить(ОкноПодгрузки.Начало, ОкноПодгрузки.Конец); + Интервал.Цвет = Новый Цвет(223, 223, 255); + Интервал.ЗначенияИзмерений = Новый ФиксированноеСоответствие(СоответствиеЗначений); + КонецЕсли; + +КонецПроцедуры + +// Получает с сервера список пользователей для задания измерений Планировщика +&НаСервере +Процедура ПолучитьИзмеренияПланировщика() + Измерения.Очистить(); + ПользователиБазы = Справочники.Пользователи.Выбрать(); + Пока ПользователиБазы.Следующий() Цикл + Если Не ПользователиБазы.ПометкаУдаления = Истина Тогда + ЭлементИзмерения = Измерения.Добавить(ПользователиБазы.Код); + ЭлементИзмерения.Представление = ПользователиБазы.Наименование; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +// Получает с сервера измерение, соответствующее текущему пользователю +&НаСервере +Процедура ПолучитьКодТекущегоПользователя() + ТекущийПользовательБазы = "" + ПользователиИнформационнойБазы.ТекущийПользователь(); +КонецПроцедуры + +// Обновляет параметры планировщика, которые можно получить только на сервере +// +// Параметры: +// +// ПлавнаяПрокрутка - данные обновляются в результате прокрутки колесом и, возможно, подгрузка новых втреч не требуется +&НаСервере +Процедура ОбновитьДанныеПланировщикаСервер(ПлавнаяПрокрутка = Ложь) + + Если ПлавнаяПрокрутка Тогда + Планировщик.Элементы.УдалитьНеиспользуемые(); + Иначе + Планировщик.Элементы.Очистить(); + КонецЕсли; + + МассивЗагружаемыхПользователей = Новый Массив(); + + Если ОтображатьВстречиДругихПользователей Тогда + ПользователиБазы = Справочники.Пользователи.Выбрать(); + Пока ПользователиБазы.Следующий() Цикл + Если Не ПользователиБазы.ПометкаУдаления = Истина Тогда + МассивЗагружаемыхПользователей.Добавить(ПользователиБазы.Код); + КонецЕсли; + КонецЦикла; + Иначе + Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + МассивЗагружаемыхПользователей.Добавить(Пользователь); + КонецЕсли; + + Для Каждого Пользователь из МассивЗагружаемыхПользователей Цикл + Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь); + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ РАЗРЕШЕННЫЕ + | Встречи.Ссылка КАК Встреча, + | Встречи.Наименование КАК Наименование, + | Встречи.Начало КАК Начало, + | Встречи.Окончание КАК Конец, + | Встречи.Описание КАК Описание + |ИЗ + | Справочник.Встречи КАК Встречи + |ГДЕ + | Встречи.ПометкаУдаления = ЛОЖЬ + | И Встречи.Начало < &ДатаОкончания + | И Встречи.Окончание > &ДатаНачала + | И Встречи.Владелец = &Пользователь + | + |УПОРЯДОЧИТЬ ПО + | Начало"; + + Запрос.УстановитьПараметр("ДатаНачала", ОкноПодгрузки.Начало); + Запрос.УстановитьПараметр("ДатаОкончания", ОкноПодгрузки.Конец); + Запрос.УстановитьПараметр("Пользователь", Владелец); + + Выборка = Запрос.Выполнить().Выбрать(); + + Пока Выборка.Следующий() Цикл + Значение = Выборка.Встреча; + Если Планировщик.Элементы.Найти(Значение) = Неопределено Тогда + ЭлементПланировщика = Планировщик.Элементы.Добавить(Выборка.Начало, Выборка.Конец); + ЭлементПланировщика.Значение = Значение; + ЭлементПланировщика.Текст = Выборка.Наименование; + ЭлементПланировщика.Подсказка = Выборка.Описание; + + Если МассивЗагружаемыхПользователей.Количество() > 1 Тогда + СоответствиеЗначений = Новый Соответствие; + СоответствиеЗначений.Вставить("Пользователь", Пользователь); + ЭлементПланировщика.ЗначенияИзмерений = Новый ФиксированноеСоответствие(СоответствиеЗначений); + КонецЕсли; + КонецЕсли; + КонецЦикла; + КонецЦикла; + +КонецПроцедуры + +// Польностью обновляет данные Планировщика +&НаКлиенте +Процедура Обновить(Команда) + + ОбновитьДанныеПланировщикаКлиент(); + +КонецПроцедуры + +// Открывает форму редактирования выбраной встречи +&НаКлиенте +Процедура ОткрытьФормуТекущегоЭлементаПланировщика() + + ЗначениеЭлемента = Элементы.Планировщик.ВыделенныеЭлементы[0].Значение; + + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("Ключ", ЗначениеЭлемента); + ОткрытьФорму("Справочник.Встречи.Форма.ФормаЭлемента", ПараметрыФормы, ЭтотОбъект); + +КонецПроцедуры + +// Обновляет данные Планировщика +&НаКлиенте +Процедура ОбновитьДанныеПланировщикаКлиент(ПлавнаяПрокрутка = Ложь) + + ПериодДанных = ПолучитьПериодДанных(ВариантПериода, ДатаОтображения); + + // ОбновлениеЭлементов + НужноПодгрузитьЭлементы = Ложь; + + Если ПлавнаяПрокрутка Тогда + Если ОкноПодгрузки.Конец <= ПериодДанных.ДатаОкончания + ИЛИ ОкноПодгрузки.Начало >= ПериодДанных.ДатаНачала Тогда + НужноПодгрузитьЭлементы = Истина; + КонецЕсли; + Иначе + НужноПодгрузитьЭлементы = Истина; + КонецЕсли; + + Если НужноПодгрузитьЭлементы Тогда + ОбновитьОкноПодгрузки(); + ОбновитьДанныеПланировщикаСервер(ПлавнаяПрокрутка); + КонецЕсли; + + Если Не ПлавнаяПрокрутка ИЛИ НужноПодгрузитьЭлементы Тогда + // ВнешнийВидПланировщика + Планировщик.ИнтервалыФона.Очистить(); + УстановитьОтображениеПланировщика(); + КонецЕсли; + + + Если Не ПлавнаяПрокрутка Тогда + Планировщик.ТекущиеПериодыОтображения.Очистить(); + Планировщик.ТекущиеПериодыОтображения.Добавить(ПериодДанных.ДатаНачала, ПериодДанных.ДатаОкончания); + КонецЕсли; + +КонецПроцедуры + +// Обрабатывает входящее оповещение +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "Запись_Встречи" Тогда + + ОбновитьДанныеПланировщикаКлиент(); + + КонецЕсли; + +КонецПроцедуры + +// Обновляет окно, внутри которого кэшируются встречи +&НаКлиенте +Процедура ОбновитьОкноПодгрузки() + // Окно отображения расщиряется на три периода вперед и назад для ускорения подгрузки элементов (итого 7 периодов) + + ПериодДанных = ПолучитьПериодДанных(ВариантПериода, ДатаОтображения); + + Если ВариантПериода = "Месяц" Тогда + ОкноПодгрузки.Начало = ДобавитьМесяц(ПериодДанных.ДатаНачала, -3); + ОкноПодгрузки.Конец = ДобавитьМесяц(ПериодДанных.ДатаОкончания, 3); + ИначеЕсли ВариантПериода = "Неделя" Тогда + ОкноПодгрузки.Начало = ПериодДанных.ДатаНачала - 3 * 7 * 24 * 60 * 60; + ОкноПодгрузки.Конец = ПериодДанных.ДатаОкончания + 3 * 7 * 24 * 60 * 60; + ИначеЕсли ВариантПериода = "День" Тогда + ОкноПодгрузки.Начало = ПериодДанных.ДатаНачала - 3 * 24 * 60 * 60; + ОкноПодгрузки.Конец = ПериодДанных.ДатаОкончания + 3 * 24 * 60 * 60; + КонецЕсли + +КонецПроцедуры \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..a04894d8c --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,21 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + + Начало + Desc + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..8318ba6a0 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,636 @@ + + + + Список + 3 + true + true + + true + + + Список + + true + None + + Календарь + 28 + true + true + + true + + + + Список.Календарь + + + + КалендарьРасширеннаяПодсказка + 30 + true + true + + true + + Label + true + true + + Left + + + + КалендарьКонтекстноеМеню + 29 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Наименование + 16 + true + true + + true + + + + Список.Description + + + true + + НаименованиеРасширеннаяПодсказка + 18 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 17 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Начало + 31 + true + true + + true + + + + Список.Начало + + + + НачалоРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + + НачалоКонтекстноеМеню + 32 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Окончание + 34 + true + true + + true + + + + Список.Окончание + + + + ОкончаниеРасширеннаяПодсказка + 36 + true + true + + true + + Label + true + true + + Left + + + + ОкончаниеКонтекстноеМеню + 35 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Источник + 25 + true + true + + true + + + + Список.Источник + + + + ИсточникРасширеннаяПодсказка + 27 + true + true + + true + + Label + true + true + + Left + + + + ИсточникКонтекстноеМеню + 26 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Подсказка + 37 + true + true + + true + + + + Список.Подсказка + + + + ПодсказкаРасширеннаяПодсказка + 39 + true + true + + true + + Label + true + true + + Left + + + + ПодсказкаКонтекстноеМеню + 38 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Код + 19 + true + true + + + + Список.Code + + + + КодРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 20 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Ссылка + 22 + true + true + + + + Список.Ref + + + + СсылкаРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + СсылкаКонтекстноеМеню + 23 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 5 + true + true + + true + + Left + + + true + true + + true + + СписокСтрокаПоиска + 7 + + СписокСтрокаПоискаРасширеннаяПодсказка + 9 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 8 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 10 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 12 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 11 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 13 + + СписокУправлениеПоискомРасширеннаяПодсказка + 15 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 14 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокРасширеннаяПодсказка + 6 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 4 + true + true + + true + + true + + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + 1:02023637-7868-4a5f-8576-835a76e0c9ba + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + + + Список.Ref + +
true
+ + Catalog.Встречи + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" new file mode 100644 index 000000000..f4f2f5195 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" @@ -0,0 +1,14 @@ +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Установим настройки формы для случая открытия в режиме выбора + Элементы.Список.РежимВыбора = Параметры.РежимВыбора; + Элементы.Список.МножественныйВыбор = ?(Параметры.ЗакрыватьПриВыборе = Неопределено, Ложь, Не Параметры.ЗакрыватьПриВыборе); + Если Параметры.РежимВыбора Тогда + КлючНазначенияИспользования = "ВыборПодбор"; + РежимОткрытияОкна = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца; + Иначе + КлючНазначенияИспользования = "Список"; + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..52901712b --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,726 @@ + + + + ПростаяФорма + 39 + + Период + 22 + + ПериодДата + 24 + + НачалоДата + 13 + true + true + + true + + + + Объект.Начало + + + + НачалоДатаРасширеннаяПодсказка + 15 + true + true + + true + + Label + true + true + + Left + + + + НачалоДатаКонтекстноеМеню + 14 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + 11 + true + true + true + + ru + ДЛФ=D + + true + true + true + + + + ОкончаниеДата + 16 + true + true + + true + + + + Объект.Окончание + + + + ОкончаниеДатаРасширеннаяПодсказка + 18 + true + true + + true + + Label + true + true + + Left + + + + ОкончаниеДатаКонтекстноеМеню + 17 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + 11 + true + true + true + + ru + ДЛФ=D + + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Период дата</value> + + + ru + Период дата + + + ПериодДатаРасширеннаяПодсказка + 25 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ПериодВремя + 26 + + НачалоВремя + 28 + true + true + + true + + + + Объект.Начало + + + None + + НачалоВремяРасширеннаяПодсказка + 30 + true + true + + true + + Label + true + true + + Left + + + + НачалоВремяКонтекстноеМеню + 29 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + НачалоОбработкаВыбора + + 10 + true + true + true + false + true + + ru + ДФ=ЧЧ:мм + + true + true + true + + + + ОкончаниеВремя + 31 + true + true + + true + + + + Объект.Окончание + + + None + + ОкончаниеВремяРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + + ОкончаниеВремяКонтекстноеМеню + 32 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + ChoiceProcessing + ОкончаниеОбработкаВыбора + + 10 + true + true + true + false + true + + ru + ДФ=ЧЧ:мм + + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Период время</value> + + + ru + Период время + + + ПериодВремяРасширеннаяПодсказка + 27 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Период</value> + + + ru + Период + + + ПериодРасширеннаяПодсказка + 23 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + НаименованиеКод + 41 + + Наименование + 4 + true + true + + true + + + + Объект.Description + + + true + + НаименованиеРасширеннаяПодсказка + 6 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + Код + 1 + true + true + + + + Объект.Code + + + + КодРасширеннаяПодсказка + 3 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Наименование код</value> + + + ru + Наименование код + + + НаименованиеКодРасширеннаяПодсказка + 42 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + Подсказка + 19 + true + true + + true + + + + Объект.Описание + + + Left + + ПодсказкаРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + + ПодсказкаКонтекстноеМеню + 20 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + 3 + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Простая форма</value> + + + ru + Простая форма + + + ПростаяФормаРасширеннаяПодсказка + 40 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + Владелец + 43 + + <key>ru</key> + <value>Пользователь</value> + + true + true + + true + + + + Объект.Owner + + + + ВладелецРасширеннаяПодсказка + 45 + true + true + + true + + Label + true + true + + Left + + + + ВладелецКонтекстноеМеню + 44 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.Встречи + + + true + + + true + +
true
+ true +
+ + ПометитьНаУдалениеПриЗаписи + + <key>ru</key> + <value>Пометить на удаление при записи</value> + + 2 + + CatalogRef.Встречи + + + true + + + true + + + + + + + + + AfterWrite + ПослеЗаписи + + + OnWriteAtServer + ПриЗаписиНаСервере + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..12c439bb5 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,62 @@ +&НаСервере +Процедура ЗаполнитьСписокВыбораВремени(ПолеВводаФормы, Интервал = 3600, Начало = '00010101080000', Окончание = '00010101200000') Экспорт + + СписокВремен = ПолеВводаФормы.СписокВыбора; + СписокВремен.Очистить(); + + ВремяСписка = НачалоЧаса(Начало); + + Пока НачалоЧаса(ВремяСписка) <= НачалоЧаса(Окончание) Цикл + + Если НЕ ЗначениеЗаполнено(ВремяСписка) Тогда + ПредставлениеВремени = "00:00"; + Иначе + ПредставлениеВремени = Формат(ВремяСписка,"ДФ=ЧЧ:мм"); + КонецЕсли; + + СписокВремен.Добавить(ВремяСписка, ПредставлениеВремени); + + ВремяСписка = ВремяСписка + Интервал; + + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ЗаполнитьСписокВыбораВремени(Элементы.НачалоВремя); + ЗаполнитьСписокВыбораВремени(Элементы.ОкончаниеВремя); + +КонецПроцедуры + +&НаСервере +Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + + Если ЗначениеЗаполнено(ПометитьНаУдалениеПриЗаписи) Тогда + ПометитьНаУдалениеПриЗаписи.ПолучитьОбъект().УстановитьПометкуУдаления(Истина); + ПометитьНаУдалениеПриЗаписи = Справочники.Встречи.ПустаяСсылка(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗаписи(ПараметрыЗаписи) + + Оповестить("Запись_Встречи"); + +КонецПроцедуры + +&НаКлиенте +Процедура НачалоОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) + + ВыбранноеЗначение = НачалоДня(Объект.Начало) + (ВыбранноеЗначение - НачалоДня(ВыбранноеЗначение)); + +КонецПроцедуры + +&НаКлиенте +Процедура ОкончаниеОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) + + ВыбранноеЗначение = НачалоДня(Объект.Окончание) + (ВыбранноеЗначение - НачалоДня(ВыбранноеЗначение)); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" new file mode 100644 index 000000000..0ca240b25 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ManagerModule.bsl" @@ -0,0 +1,43 @@ +Функция СохранитьИзменения(ОбрабатываемыеЭлементы) Экспорт + + НачатьТранзакцию(); + + Попытка + + Для Каждого ОбрабатываемыйЭлемент Из ОбрабатываемыеЭлементы Цикл + + ВстречаОбъект = ОбрабатываемыйЭлемент.Встреча.ПолучитьОбъект(); + + Если ОбрабатываемыйЭлемент.Свойство("ПометкаУдаления") Тогда + ВстречаОбъект.УстановитьПометкуУдаления(ОбрабатываемыйЭлемент.ПометкаУдаления); + Продолжить; + КонецЕсли; + + ВстречаОбъект.Начало = ОбрабатываемыйЭлемент.Начало; + ВстречаОбъект.Окончание = ОбрабатываемыйЭлемент.Конец; + + Пользователь = ОбрабатываемыйЭлемент.Владелец; + Если Пользователь = Неопределено Тогда + Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + КонецЕсли; + + Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь); + ВстречаОбъект.Владелец = Владелец; + + ВстречаОбъект.Записать(); + + КонецЦикла; + + ЗафиксироватьТранзакцию(); + Успешно = Истина; + + Исключение + + ОтменитьТранзакцию(); + Успешно = Ложь; + + КонецПопытки; + + Возврат Успешно; + +КонецФункции diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ObjectModule.bsl" new file mode 100644 index 000000000..1602cffb0 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/ObjectModule.bsl" @@ -0,0 +1,59 @@ + +Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) + + Пользователь = Неопределено; + Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда + ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения); + + Пользователь = ДанныеЗаполнения.Владелец; + Если Пользователь = Неопределено Тогда + Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + КонецЕсли; + + Иначе + Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + КонецЕсли; + + Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь); + +КонецПроцедуры + +Процедура ПередЗаписью(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + Если Владелец = Неопределено Тогда + Пользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + Владелец = Справочники.Пользователи.НайтиПоКоду(Пользователь); + КонецЕсли; + +КонецПроцедуры + +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + Если НЕ УказанКорректныйПериод() Тогда + Отказ = Истина; + КонецЕсли; + +КонецПроцедуры + +Функция УказанКорректныйПериод() + + Успешно = Истина; + + Если Окончание < Начало Тогда + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Дата окончания не может быть меньше даты начала.'", "ru"); + Сообщение.Поле = "Окончание"; + Сообщение.УстановитьДанные(ЭтотОбъект); + Сообщение.Сообщить(); + + Успешно = Ложь; + + КонецЕсли; + + Возврат Успешно; + +КонецФункции diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/\320\222\321\201\321\202\321\200\320\265\321\207\320\270.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/\320\222\321\201\321\202\321\200\320\265\321\207\320\270.mdo" new file mode 100644 index 000000000..9354e0040 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\201\321\202\321\200\320\265\321\207\320\270/\320\222\321\201\321\202\321\200\320\265\321\207\320\270.mdo" @@ -0,0 +1,257 @@ + + + + + + + + + + Встречи + + ru + Встречи + + + true + Catalog.Встречи.StandardAttribute.Description + Catalog.Встречи.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + ru + Заголовок + + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + Managed + Use + + ru + Встреча + + + ru + Встречи + + Use + 2 + true + Catalog.Пользователи + 9 + 100 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.Встречи.Form.ФормаЭлемента + Catalog.Встречи.Form.ФормаСписка + Catalog.Встречи.Form.ФормаСписка + + Начало + + ru + Начало + + + + Date + + + + ru + Дата и время начала записи + + + + + ShowError + + Use + Use + + + Окончание + + ru + Окончание + + + + Date + + + + ru + Дата и время окончания записи + + + + + + Use + Use + + + Описание + + ru + Описание + + + + String + + + + ru + Дополнительная информация о записи календаря. Отображается в виде всплывающей подсказки при наведении курсора. + + + true + + + + + + Use + Use + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + + Календарь + + ru + Календарь + + + PersonalComputer + MobileDevice + + + ОткрытьКалендарь + + ru + Календарь + + + NavigationPanelOrdinary + + Auto + + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..2246e6c8a --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,561 @@ + + + + Дата + 3 + true + true + + true + + + + Объект.Дата + + + + ДатаExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 4 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + Наименование + 1 + true + true + + true + + + + Объект.Description + + + true + + НаименованиеExtendedTooltip + 31 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + Адресат + 5 + true + true + + true + + + + Объект.Отправитель + + + + АдресатExtendedTooltip + 32 + true + true + + true + + Label + true + true + + Left + + + + АдресатКонтекстноеМеню + 6 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + Группа + 21 + + ГруппаHTML + 22 + + HTML + 24 + true + true + + true + + + + HTML + + + None + + HTMLExtendedTooltip + 35 + true + true + + true + + Label + true + true + + Left + + + + HTMLКонтекстноеМеню + 25 + true + true + + true + + true + + HTMLDocumentField + Enter + true + Left + true + + 50 + true + 10 + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа HTML</value> + + + ru + Группа HTML + + + ГруппаHTMLExtendedTooltip + 34 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + ГруппаТекст + 23 + + Текст + 26 + true + true + + true + + + + Текст + + + None + + ТекстExtendedTooltip + 37 + true + true + + true + + Label + true + true + + Left + + + + ТекстКонтекстноеМеню + 27 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа текст</value> + + + ru + Группа текст + + + ГруппаТекстExtendedTooltip + 36 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + <key>ru</key> + <value>Группа</value> + + + ru + Группа + + + ГруппаExtendedTooltip + 33 + true + true + + true + + Label + true + true + + Left + + + Pages + + DontUse + + + + ФормаКоманднаяПанель + -1 + + Ответить + 20 + true + true + + true + + + ОтветитьExtendedTooltip + 28 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Ответить + Auto + true + true + UserCmds + + + Справка + 14 + true + true + + true + + + СправкаExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + Auto + true + true + UserCmds + + true + true + + true + + Left + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.ВходящиеПисьма + + + true + + + true + +
true
+ true +
+ + БылоПрочитано + + <key>ru</key> + <value>Было прочитано</value> + + 2 + + Boolean + + + true + + + true + + + + HTML + + <key>ru</key> + <value>HTML</value> + + 3 + + String + + + + true + + + true + + + + Текст + + <key>ru</key> + <value>Текст</value> + + 4 + + String + + + + true + + + true + + + + Ответить + + <key>ru</key> + <value>Ответить</value> + + 1 + + ru + Ответить + + + true + + + + Ответить + + + Auto + + + ВходящееПисьмо + + CatalogRef.ВходящиеПисьма + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..54b194ad9 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,42 @@ + + +&НаКлиенте +Процедура Ответить(Команда) + ПараметрыФормы = Новый Структура("ВходящееПисьмо", Объект.Ссылка); + ОткрытьФорму("Справочник.ИсходящиеПисьма.ФормаОбъекта", ПараметрыФормы); + Закрыть(); +КонецПроцедуры + + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Если НЕ Параметры.Ключ.Пустая() Тогда + Отбор = Новый Структура("Письмо", Параметры.Ключ); + БылоПрочитано = РегистрыСведений.СостояниеВходящихПисем.Получить(Отбор).Прочитано; + Если Не БылоПрочитано Тогда + НЗ = РегистрыСведений.СостояниеВходящихПисем.СоздатьНаборЗаписей(); + НЗ.Отбор.Письмо.Установить(Параметры.Ключ); + Запись = НЗ.Добавить(); + Запись.Письмо = Параметры.Ключ; + Запись.Прочитано = Истина; + НЗ.Записать(); + КонецЕсли; + Если Объект.ВидСодержимого = Перечисления.ВидСодержимогоВходящегоПисьма.Текст Тогда + Текст = Объект.Текст; + Элементы.Группа.ТекущаяСтраница = Элементы.ГруппаТекст; + Иначе + HTML = Объект.Текст; + Элементы.Группа.ТекущаяСтраница = Элементы.ГруппаHTML; + КонецЕсли; + КонецЕсли; +КонецПроцедуры + + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + Если Не БылоПрочитано Тогда + ОповеститьОбИзменении(Объект.Ссылка); + //Оповестить("ОбновитьСписокВходящихПисем"); + КонецЕсли; +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260.mdo" new file mode 100644 index 000000000..7e6ec0834 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260.mdo" @@ -0,0 +1,271 @@ + + + + + + + + + + ВходящиеПисьма + + ru + Входящие письма + + + true + Catalog.ВходящиеПисьма.StandardAttribute.Description + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + ru + Тема + + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + Managed + Use + + ru + Входящее письмо + + + ru + Входящее письмо + + + ru + Входящие письма + + + ru + Входящие письма + + 2 + true + 100 + String + Variable + AsDescription + InDialog + BothWays + Catalog.ВходящиеПисьма.Form.ФормаЭлемента + + Дата + + ru + Дата + + + + Date + + + + + + + Index + Use + Use + + + Отправитель + + ru + Отправитель + + + + String + + + + + + + + + Use + Use + + + Текст + + ru + Текст + + + + String + + + + + + + Use + Use + + + ВидСодержимого + + ru + Вид содержимого + + + + EnumRef.ВидСодержимогоВходящегоПисьма + + + + + + Use + Use + + + Идентификатор + + ru + Идентификатор + + Идентификатор полученного сообщения + + String + + + + + + + + + Use + Use + + + ПочтовыйЯщик + + ru + Почтовый ящик + + + + String + + 64 + + + + + + + + + Use + Use + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Help/ru.html" new file mode 100644 index 000000000..c748a21a1 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике собрана информация о различных значениях характеристик товаров предприятия. Например, зеленый цвет товара или кожаный материал и т.д. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" new file mode 100644 index 000000000..9ed46f67e --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" @@ -0,0 +1,158 @@ + + + + + + + + + + ЗначенияХарактеристик + + ru + Значения характеристик + + + true + Catalog.ЗначенияХарактеристик.StandardAttribute.Description + Catalog.ЗначенияХарактеристик.StandardAttribute.Code + AnyPart + Background + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + ru + Вид характеристики + + + true + + ChartOfCharacteristicTypes.ВидыХарактеристик.EmptyRef + + ShowError + Use + + + + + + Use + Parent + + true + + Catalog.ЗначенияХарактеристик.EmptyRef + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + + + Use + + + + + Use + true + + + ru + + + Use + + ru + Значение характеристики + + + ru + Значения характеристик + + + ru + Значения характеристик + + Use + 2 + true + ChartOfCharacteristicTypes.ВидыХарактеристик + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Commands/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\203/CommandModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Commands/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\203/CommandModule.bsl" new file mode 100644 index 000000000..52c410870 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Commands/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\237\320\270\321\201\321\214\320\274\320\276\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\203/CommandModule.bsl" @@ -0,0 +1,6 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ПараметрыФормы = Новый Структура("Адресаты", ПараметрКоманды); + ОткрытьФорму("Справочник.ИсходящиеПисьма.ФормаОбъекта", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..0063e1252 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,853 @@ + + + + Дата + 3 + true + true + + true + + + + Объект.Дата + + + + ДатаExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 4 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + Наименование + 1 + true + true + + true + + + + Объект.Description + + + true + + НаименованиеExtendedTooltip + 31 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + Контрагент + 43 + true + true + + true + + + + Объект.Контрагент + + + + OnChange + КонтрагентПриИзменении + + + КонтрагентРасширеннаяПодсказка + 45 + true + true + + true + + Label + true + true + + Left + + + + КонтрагентКонтекстноеМеню + 44 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ГруппаПолучатель + 22 + + Получатель + 5 + + <key>ru</key> + <value>Адрес</value> + + true + true + + true + + + + Объект.Получатель + + + + ПолучательРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + + ПолучательКонтекстноеМеню + 6 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + true + + + + ВыбратьПолучателя + 23 + + <key>ru</key> + <value>Выбрать</value> + + true + + true + + + ВыбратьПолучателяExtendedTooltip + 34 + true + true + + true + + Label + true + true + + Left + + + UsualButton + 0 + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Группа получатель</value> + + + ru + Группа получатель + + + ГруппаПолучательExtendedTooltip + 32 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ГруппаРедактор + 25 + + ГруппаКПТекст + 9 + + ВыделитьВажное + 39 + true + true + + true + + + ВыделитьВажноеРасширеннаяПодсказка + 40 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ВыделитьВажное + Auto + true + true + UserCmds + + + ВставитьКонтактноеЛицо + 24 + true + true + + true + + + ВставитьКонтактноеЛицоExtendedTooltip + 37 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ВставитьКонтактноеЛицо + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Группа КПТекст</value> + + + ru + Группа КПТекст + + + ГруппаКПТекстExtendedTooltip + 36 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + Item.Содержимое + + + + Содержимое + 7 + true + true + + true + + + + Содержимое + + + None + + СодержимоеExtendedTooltip + 38 + true + true + + true + + Label + true + true + + Left + + + + СодержимоеКонтекстноеМеню + 8 + true + true + + true + + true + + FormattedDocumentField + Enter + true + Left + true + + 50 + true + 10 + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа редактор</value> + + + ru + Группа редактор + + + ГруппаРедакторExtendedTooltip + 35 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + NormalSeparation + true + true + Auto + DontUse + + + + ФормаКоманднаяПанель + -1 + + ОтправитьИЗакрыть + 11 + true + true + + true + + + ОтправитьИЗакрытьExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОтправитьИЗакрыть + Auto + true + true + true + UserCmds + + + Отправить + 12 + true + true + + true + + + ОтправитьExtendedTooltip + 27 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Отправить + Auto + true + true + UserCmds + + + ЗаполнитьПоШаблону + 41 + true + + true + + + ЗаполнитьПоШаблонуРасширеннаяПодсказка + 42 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ЗаполнитьПоШаблону + Auto + true + true + UserCmds + + + Записать + 13 + true + true + + true + + + ЗаписатьExtendedTooltip + 28 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Write + PictureAndText + true + true + UserCmds + + + Справка + 14 + true + true + + true + + + СправкаExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + Auto + true + true + UserCmds + + + ФормаИсторияИзменений + 46 + true + true + + true + + + ФормаИсторияИзмененийРасширеннаяПодсказка + 47 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.ChangeHistory + Auto + true + true + UserCmds + + true + true + + true + + Left + + + BeforeClose + ПередЗакрытием + + + OnCreateAtServer + ПриСозданииНаСервере + + true + Vertical + true + true + true + UseIfNecessary + true + true + + Объект + 1 + + CatalogObject.ИсходящиеПисьма + + + true + + + true + +
true
+ true +
+ + Содержимое + + <key>ru</key> + <value>Содержимое</value> + + 2 + + FormattedDocument + + + true + + + true + + true + + + ОтправитьИЗакрыть + + <key>ru</key> + <value>Отправить и закрыть</value> + + 1 + + ru + Отправить и закрыть + + + true + + + + ОтправитьИЗакрыть + + + true + DontUse + + + Отправить + + <key>ru</key> + <value>Отправить</value> + + 2 + + ru + Отправить + + + true + + + + Отправить + + + true + DontUse + + + ВставитьКонтактноеЛицо + + <key>ru</key> + <value>Вставить контактное лицо</value> + + 4 + + ru + Вставить контактное лицо + + + true + + + + ВставитьКонтактноеЛицо + + + DontUse + + + ВыделитьВажное + + <key>ru</key> + <value>Выделить важное</value> + + 3 + + ru + Выделить важное + + + true + + + CommonPicture.ВыделитьВажное + + + + ВыделитьВажное + + + TextPicture + DontUse + + + ЗаполнитьПоШаблону + + <key>ru</key> + <value>Заполнить по шаблону</value> + + 5 + + ru + Заполнить по шаблону + + + true + + + + ЗаполнитьПоШаблону + + + DontUse + + + ВходящееПисьмо + + CatalogRef.ВходящиеПисьма + + + + Адресаты + + + + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + + + BeforeWriteAtServer + ПередЗаписьюНаСервере + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..fe346cc29 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,304 @@ +&НаСервереБезКонтекста +Функция ПолучитьКонтактноеЛицоПоПолучателю(Получатель) + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Контрагенты.КонтактноеЛицо + |ИЗ + | Справочник.Контрагенты КАК Контрагенты + |ГДЕ + | Контрагенты.Ссылка = &Получатель"; + Запрос.Параметры.Вставить("Получатель", Получатель); + Выборка = Запрос.Выполнить().Выбрать(); + КонтактноеЛицо = ""; + Если Выборка.Следующий() Тогда + КонтактноеЛицо = Выборка.КонтактноеЛицо; + КонецЕсли; + Возврат КонтактноеЛицо; +КонецФункции + +&НаСервереБезКонтекста +Процедура ДобавитьПолучателей(Получатель, Получатели) + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Контрагенты.ЭлектроннаяПочта + |ИЗ + | Справочник.Контрагенты КАК Контрагенты + |ГДЕ + | Контрагенты.Ссылка "; + Если ТипЗнч(Получатели) = Тип("Массив") Тогда + Запрос.Текст = Запрос.Текст + "В (&Получатели)"; + Иначе + Запрос.Текст = Запрос.Текст + "= &Получатели"; + КонецЕсли; + Запрос.Параметры.Вставить("Получатели", Получатели); + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Если Получатель <> "" Тогда + Получатель = Получатель + "; "; + КонецЕсли; + Получатель = Получатель + Выборка.ЭлектроннаяПочта; + КонецЦикла; +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Если Параметры.Ключ.Пустая() Тогда + Заголовок = "Исходящее письмо (Создание)"; + Объект.Дата = ТекущаяДата(); + ПоШаблону = Параметры.Свойство("ПоШаблону"); + ВходящееПисьмо = Параметры.ВходящееПисьмо; + Если ПоШаблону = Истина Тогда + Элементы.ЗаполнитьПоШаблону.Видимость = Истина; + РаботаСПочтой.ЗаполнитьПисьмоПоШаблону(Объект, Содержимое); + ИначеЕсли Не ВходящееПисьмо.Пустая() Тогда + РаботаСПочтой.ЗаполнитьОтветНаПисьмо(ВходящееПисьмо, Объект, Содержимое); + КонецЕсли; + Адресаты = Параметры.Адресаты; + Если Адресаты <> Неопределено Тогда + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Контрагенты.ЭлектроннаяПочта + |ИЗ + | Справочник.Контрагенты КАК Контрагенты + |ГДЕ + | Контрагенты.Ссылка В(&Адресаты) + | И Контрагенты.ЭлектроннаяПочта <> """""; + Запрос.УстановитьПараметр("Адресаты", Адресаты); + Получатель = ""; + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Если Получатель <> "" Тогда + Получатель = Получатель + "; "; + КонецЕсли; + Получатель = Получатель + Выборка.ЭлектроннаяПочта; + КонецЦикла; + Объект.Получатель = Получатель; + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + Содержимое = ТекущийОбъект.Содержимое.Получить(); + Заголовок = ТекущийОбъект.Наименование + " (Исходящее письмо)"; + Если РаботаСПочтой.ПисьмоОтправлено(ТекущийОбъект.Ссылка) Тогда + Заголовок = Заголовок + " - Отправлено"; + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + ТекущийОбъект.Содержимое = Новый ХранилищеЗначения(Содержимое, Новый СжатиеДанных()); + ТекущийОбъект.Текст = Содержимое.ПолучитьТекст(); +КонецПроцедуры + +&НаСервере +Функция ОтправитьПисьмо(Ошибка) + Если Не Записать() Тогда + Ошибка = "ОшибкаЗаписи"; + Возврат Ложь; + КонецЕсли; + Если Не РаботаСПочтой.ОтправитьПисьмо(Объект.Ссылка) Тогда + Ошибка = "ОшибкаОтправки"; + Возврат Ложь; + КонецЕсли; + Заголовок = Заголовок + " - Отправлено"; + Возврат Истина; +КонецФункции + +&НаКлиенте +Функция ОтправитьПисьмоКлиент() + Ошибка = ""; + Если Не ОтправитьПисьмо(Ошибка) Тогда + Если Ошибка = "ОшибкаОтправки" Тогда + Кнопки = Новый СписокЗначений; + Кнопки.Добавить(1, НСтр("ru = 'Настроить почту'")); + Кнопки.Добавить(2, НСтр("ru = 'Закрыть'")); + + Оповещение = Новый ОписаниеОповещения( + "ОтправитьПисьмоКлиентВопросЗавершение", + ЭтотОбъект); + + ПоказатьВопрос( + Оповещение, + НСтр("ru = 'Не указаны настройки интернет почты!'"), + Кнопки, + , + 1); + КонецЕсли; + Возврат Ложь; + КонецЕсли; + + НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Объект.Ссылка); + ПоказатьОповещениеПользователя("Письмо отправлено", НавигационнаяСсылка, Объект.Наименование); + ОповеститьОбИзменении(Объект.Ссылка); + Возврат Истина; +КонецФункции + +&НаКлиенте +Процедура ОтправитьПисьмоКлиентВопросЗавершение(Результат, Параметры) Экспорт + Если Результат = 1 Тогда + ОткрытьФорму("ОбщаяФорма.НастройкаПочты"); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Отправить(Команда) + ОтправитьПисьмоКлиент(); +КонецПроцедуры + +&НаКлиенте +Процедура ОтправитьИЗакрыть(Команда) + Если Не ОтправитьПисьмоКлиент() Тогда + Возврат; + КонецЕсли; + Закрыть(); +КонецПроцедуры + +&НаКлиенте +Процедура ВставитьСтрокуВТекущуюПозицию(Поле, Документ, Строка) + Перем Начало, Конец; + + Поле.ПолучитьГраницыВыделения(Начало, Конец); + Позиция = Документ.ПолучитьПозициюПоЗакладке(Начало); + Документ.Удалить(Начало, Конец); + Начало = Документ.ПолучитьЗакладкуПоПозиции(Позиция); + Документ.Вставить(Начало, Строка); + Позиция = Позиция + СтрДлина(Строка); + Закладка = Документ.ПолучитьЗакладкуПоПозиции(Позиция); + Поле.УстановитьГраницыВыделения(Закладка, Закладка); +КонецПроцедуры + +&НаКлиенте +Процедура ВставитьКонтактноеЛицо(Команда) + Если Объект.Контрагент.Пустая() Тогда + Сообщить("Выберите контрагента"); + Иначе + КонтактноеЛицо = ПолучитьКонтактноеЛицоПоПолучателю(Объект.Контрагент); + ВставитьСтрокуВТекущуюПозицию(Элементы.Содержимое, Содержимое, КонтактноеЛицо + " "); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + Заголовок = ТекущийОбъект.Наименование + " (Исходящее письмо)"; +КонецПроцедуры + +&НаКлиенте +Процедура КонтрагентПриИзменении(Элемент) + ДобавитьПолучателей(Объект.Получатель, Объект.Контрагент); +КонецПроцедуры + +&НаКлиенте +Процедура ВыделитьВажное(Команда) + Перем Начало, Конец; + + ВсеВажное = Истина; + Элементы.Содержимое.ПолучитьГраницыВыделения(Начало, Конец); + Если Начало = Конец Тогда + Возврат; + КонецЕсли; + + НаборТекстовыхЭлементов = Новый Массив(); + Для Каждого ТекстовыйЭлемент Из Содержимое.СформироватьЭлементы(Начало, Конец) Цикл + Если Тип(ТекстовыйЭлемент) = Тип("ТекстФорматированногоДокумента") Тогда + НаборТекстовыхЭлементов.Добавить(ТекстовыйЭлемент); + КонецЕсли; + КонецЦикла; + + Для Каждого ТекстовыйЭлемент Из НаборТекстовыхЭлементов Цикл + Если ТекстовыйЭлемент.Шрифт.Жирный <> Истина И + ТекстовыйЭлемент.ЦветТекста <> Новый Цвет(255, 0, 0) Тогда + ВсеВажное = Ложь; + Прервать; + КонецЕсли; + КонецЦикла; + + Для Каждого ТекстовыйЭлемент Из НаборТекстовыхЭлементов Цикл + ТекстовыйЭлемент.Шрифт = Новый Шрифт(ТекстовыйЭлемент.Шрифт, , , Не ВсеВажное); + ТекстовыйЭлемент.ЦветТекста = Новый Цвет(?(ВсеВажное, 0, 255), 0, 0); + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьПоШаблону(Команда) + Если Объект.Контрагент.Пустая() Тогда + Сообщить("Выберите контрагента"); + Иначе + НайтиИЗаменить("[Контрагент]", Объект.Контрагент); + НайтиИЗаменить("[КонтактноеЛицо]", ПолучитьКонтактноеЛицоПоПолучателю(Объект.Контрагент)); + КонецЕсли; + НайтиИЗаменить("[ДатаПисьма]", Объект.Дата); +КонецПроцедуры + +&НаКлиенте +Процедура НайтиИЗаменить(СтрокаДляПоиска, СтрокаДляЗамены) + Перем ВставленныйТекст, ШрифтОформления, ЦветТекстаОформления, ЦветФонаОформления, НавигационнаяСсылкаОформления; + + РезультатПоиска = Содержимое.НайтиТекст(СтрокаДляПоиска); + Пока ((РезультатПоиска <> Неопределено) И (РезультатПоиска.ЗакладкаНачала <> Неопределено) И (РезультатПоиска.ЗакладкаКонца <> Неопределено)) Цикл + ПозицияНачалаСледующегоЦиклаПоиска = Содержимое.ПолучитьПозициюПоЗакладке(РезультатПоиска.ЗакладкаНачала) + СтрДлина(СтрокаДляЗамены); + МассивЭлементовДляОформления = Содержимое.ПолучитьЭлементы(РезультатПоиска.ЗакладкаНачала, РезультатПоиска.ЗакладкаКонца); + Для Каждого ЭлементДляОформления Из МассивЭлементовДляОформления Цикл + Если Тип(ЭлементДляОформления) = Тип("ТекстФорматированногоДокумента") Тогда + ШрифтОформления = ЭлементДляОформления.Шрифт; + ЦветТекстаОформления = ЭлементДляОформления.ЦветТекста; + ЦветФонаОформления = ЭлементДляОформления.ЦветФона; + НавигационнаяСсылкаОформления = ЭлементДляОформления.НавигационнаяССылка; + Прервать; + КонецЕсли; + КонецЦикла; + Содержимое.Удалить(РезультатПоиска.ЗакладкаНачала, РезультатПоиска.ЗакладкаКонца); + ВставленныйТекст = Содержимое.Вставить(РезультатПоиска.ЗакладкаНачала, СтрокаДляЗамены); + Если ВставленныйТекст <> Неопределено И ШрифтОформления <> Неопределено Тогда + ВставленныйТекст.Шрифт = ШрифтОформления; + КонецЕсли; + Если ВставленныйТекст <> Неопределено И ЦветТекстаОформления <> Неопределено Тогда + ВставленныйТекст.ЦветТекста = ЦветТекстаОформления; + КонецЕсли; + Если ВставленныйТекст <> Неопределено И ЦветФонаОформления <> Неопределено Тогда + ВставленныйТекст.ЦветФона = ЦветФонаОформления; + КонецЕсли; + Если ВставленныйТекст <> Неопределено И НавигационнаяСсылкаОформления <> Неопределено Тогда + ВставленныйТекст.НавигационнаяССылка = НавигационнаяСсылкаОформления; + КонецЕсли; + + РезультатПоиска = Содержимое.НайтиТекст(СтрокаДляПоиска, Содержимое.ПолучитьЗакладкуПоПозиции(ПозицияНачалаСледующегоЦиклаПоиска)); + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка) + + Если Модифицированность Тогда + Отказ = Истина; + Если ЗавершениеРаботы = Истина Тогда + ТекстПредупреждения = НСтр("ru = 'Письмо было изменено. Все изменения будут потеряны.'"); + Иначе + СтандартнаяОбработка = Ложь; + ОписаниеОповещения = Новый ОписаниеОповещения("ОтветНаВопрос", ЭтаФорма); + Текст = НСтр("ru = 'Письмо было изменено. Сохранить изменения?'"); + Режим = РежимДиалогаВопрос.ДаНетОтмена; + ПоказатьВопрос(ОписаниеОповещения, Текст, Режим, 0); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОтветНаВопрос(Ответ, Параметры) Экспорт + Если Ответ = КодВозвратаДиалога.Да Тогда + Записать(); + Модифицированность = Ложь; + Закрыть(); + ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда + Модифицированность = Ложь; + Закрыть(); + ИначеЕсли Ответ = КодВозвратаДиалога.Отмена Тогда + + КонецЕсли; +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260.mdo" new file mode 100644 index 000000000..6d30d91cc --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260/\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265\320\237\320\270\321\201\321\214\320\274\320\260.mdo" @@ -0,0 +1,263 @@ + + + + + + + + + + ИсходящиеПисьма + + ru + Исходящие письма + + + true + Catalog.ИсходящиеПисьма.StandardAttribute.Description + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + ru + Тема + + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + Managed + Use + + ru + Исходящее письмо + + + ru + Исходящее письмо + + + ru + Исходящие письма + + + ru + Исходящие письма + + Use + 2 + true + 100 + String + Variable + AsDescription + InDialog + BothWays + Catalog.ИсходящиеПисьма.Form.ФормаЭлемента + + Дата + + ru + Дата + + + + Date + + + + + + + Index + Use + Use + + + Получатель + + ru + Получатель + + + + String + + + + + + + + + Use + Use + + + Содержимое + + ru + Содержимое + + + + ValueStorage + + + + + + Use + + + Текст + + ru + Текст + + + + String + + + + + + + + + Use + Use + + + Контрагент + + ru + Контрагент + + + + CatalogRef.Контрагенты + + + + + + Use + Use + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + + КомандаОтправитьПисьмоКонтрагенту + + ru + Отправить письмо + + + FormCommandBarImportant + + CatalogRef.Контрагенты + + Multiple + Auto + + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" new file mode 100644 index 000000000..36232397f --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" @@ -0,0 +1,402 @@ + + + + Настройки + 11 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 12 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Наименование + 4 + + <key>ru</key> + <value>Наименование</value> + + true + true + + true + + + + Список.Description + + + true + + НаименованиеExtendedTooltip + 9 + true + true + + true + + Label + true + true + + Left + + + + Наименование_КонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Код + 6 + + <key>ru</key> + <value>Код</value> + + true + true + + true + + + + Список.Code + + + + КодExtendedTooltip + 10 + true + true + + true + + Label + true + true + + Left + + + + Код_КонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + Список_КоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 13 + + СписокСтрокаПоискаРасширеннаяПодсказка + 15 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 14 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 16 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 18 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 17 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 19 + + СписокУправлениеПоискомРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 20 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 8 + true + true + + true + + Label + true + true + + Left + + + + Список_КонтекстноеМеню + 2 + true + true + + true + + true + + HierarchicalList + true + true + true + true + 10 + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + true + + Список.DefaultPicture + + + Style.BorderColor + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + Настройки + +
+ + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Catalog.Контрагенты + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..9c2aeb5c1 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,943 @@ + + + + Настройки + 47 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 48 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Наименование + 4 + true + true + + true + + + + Список.Description + + + true + + НаименованиеExtendedTooltip + 33 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Код + 6 + true + true + + true + + + + Список.Code + + + + КодExtendedTooltip + 34 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Регион + 8 + true + true + + + + Список.Регион + + + + РегионExtendedTooltip + 35 + true + true + + true + + Label + true + true + + Left + + + + РегионКонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Индекс + 10 + true + true + + + + Список.Индекс + + + + ИндексExtendedTooltip + 36 + true + true + + true + + Label + true + true + + Left + + + + ИндексКонтекстноеМеню + 11 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Страна + 12 + true + true + + + + Список.Страна + + + + СтранаExtendedTooltip + 37 + true + true + + true + + Label + true + true + + Left + + + + СтранаКонтекстноеМеню + 13 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Город + 14 + true + true + + + + Список.Город + + + + ГородExtendedTooltip + 38 + true + true + + true + + Label + true + true + + Left + + + + ГородКонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Улица + 16 + true + true + + + + Список.Улица + + + + УлицаExtendedTooltip + 39 + true + true + + true + + Label + true + true + + Left + + + + УлицаКонтекстноеМеню + 17 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Дом + 18 + true + true + + + + Список.Дом + + + + ДомExtendedTooltip + 40 + true + true + + true + + Label + true + true + + Left + + + + ДомКонтекстноеМеню + 19 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Телефон + 20 + true + true + + + + Список.Телефон + + + + ТелефонExtendedTooltip + 41 + true + true + + true + + Label + true + true + + Left + + + + ТелефонКонтекстноеМеню + 21 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ЭлектроннаяПочта + 22 + true + true + + + + Список.ЭлектроннаяПочта + + + + ЭлектроннаяПочтаExtendedTooltip + 42 + true + true + + true + + Label + true + true + + Left + + + + ЭлектроннаяПочтаКонтекстноеМеню + 23 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Факс + 24 + true + true + + + + Список.Факс + + + + ФаксExtendedTooltip + 43 + true + true + + true + + Label + true + true + + Left + + + + ФаксКонтекстноеМеню + 25 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ВебСайт + 26 + true + true + + + + Список.ВебСайт + + + + ВебСайтExtendedTooltip + 44 + true + true + + true + + Label + true + true + + Left + + + + ВебСайтКонтекстноеМеню + 27 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ВидЦен + 28 + true + true + + true + + + + Список.ВидЦен + + + + ВидЦенExtendedTooltip + 45 + true + true + + true + + Label + true + true + + Left + + + + ВидЦенКонтекстноеМеню + 29 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ДополнительнаяИнформация + 30 + true + true + + + + Список.ДополнительнаяИнформация + + + + ДополнительнаяИнформацияExtendedTooltip + 46 + true + true + + true + + Label + true + true + + Left + + + + ДополнительнаяИнформацияКонтекстноеМеню + 31 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + + + true + true + + true + + СписокСтрокаПоиска + 49 + + СписокСтрокаПоискаРасширеннаяПодсказка + 51 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 50 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 52 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 54 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 53 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 55 + + СписокУправлениеПоискомРасширеннаяПодсказка + 57 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 56 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 32 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + HierarchicalList + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + true + + Список.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Catalog.Контрагенты + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..4787f8e87 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,2149 @@ + + + + ГруппаОсновные + 16 + + ОсновноеЛевая + 39 + + Наименование + 3 + true + true + + true + + + + Объект.Description + + + true + + НаименованиеExtendedTooltip + 44 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 24 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Родитель + 4 + true + true + + true + + + + Объект.Parent + + + + РодительExtendedTooltip + 45 + true + true + + true + + Label + true + true + + Left + + + + РодительКонтекстноеМеню + 22 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ГруппаВидЦенИНовыйРасчетныйСчет + 78 + + ВидЦен + 15 + true + true + + true + + + + Объект.ВидЦен + + + + ВидЦенExtendedTooltip + 46 + true + true + + true + + Label + true + true + + Left + + + + ВидЦенКонтекстноеМеню + 25 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + false + true + true + true + + Style.BorderColor + + + + + НовыйРасчетныйСчет + 21 + true + true + + true + + false + + НовыйРасчетныйСчетExtendedTooltip + 65 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.НовыйРасчетныйСчет + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Группа вид цен и новый расчетный счет</value> + + + ru + Группа вид цен и новый расчетный счет + + + ГруппаВидЦенИНовыйРасчетныйСчетРасширеннаяПодсказка + 79 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + true + true + + true + + + ОсновноеЛеваяExtendedTooltip + 43 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ОсновноеПравая + 38 + + Код + 2 + true + true + + true + + + + Объект.Code + + + + КодExtendedTooltip + 48 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 23 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + true + true + + true + + + ОсновноеПраваяExtendedTooltip + 47 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Основные</value> + + + ГруппаОсновныеExtendedTooltip + 42 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + WeakSeparation + true + true + + ru + Основные + + true + Auto + DontUse + + + + АдресаИКонтакты + 37 + + Адрес + 17 + + Регион + 5 + true + true + + true + + + + Объект.Регион + + + + РегионExtendedTooltip + 51 + true + true + + true + + Label + true + true + + Left + + + + РегионКонтекстноеМеню + 30 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Страна + 6 + true + true + + true + + + + Объект.Страна + + + + СтранаExtendedTooltip + 52 + true + true + + true + + Label + true + true + + Left + + + + СтранаКонтекстноеМеню + 31 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Город + 8 + true + true + + true + + + + Объект.Город + + + + ГородExtendedTooltip + 53 + true + true + + true + + Label + true + true + + Left + + + + ГородКонтекстноеМеню + 32 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Улица + 14 + true + true + + true + + + + Объект.Улица + + + + УлицаExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + + УлицаКонтекстноеМеню + 33 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Дом + 9 + + <key>ru</key> + <value>Дом (стр.)</value> + + true + true + + true + + + + Объект.Дом + + + + ДомExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + + ДомКонтекстноеМеню + 34 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Индекс + 7 + true + true + + true + + + + Объект.Индекс + + + + ИндексExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + + ИндексКонтекстноеМеню + 35 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Адрес</value> + + + АдресExtendedTooltip + 50 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + + ru + Адрес + + Auto + DontUse + + + + Контакты + 18 + + КонтактноеЛицо + 40 + + <key>ru</key> + <value>Контактное лицо</value> + + true + true + + true + + + + Объект.КонтактноеЛицо + + + + КонтактноеЛицоExtendedTooltip + 62 + true + true + + true + + Label + true + true + + Left + + + + КонтактноеЛицоКонтекстноеМеню + 41 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ЭлектроннаяПочта + 11 + true + true + + true + + + + Объект.ЭлектроннаяПочта + + + + ЭлектроннаяПочтаExtendedTooltip + 58 + true + true + + true + + Label + true + true + + Left + + + + ЭлектроннаяПочтаКонтекстноеМеню + 26 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ВебСайт + 13 + true + true + + true + + + + Объект.ВебСайт + + + + ВебСайтExtendedTooltip + 60 + true + true + + true + + Label + true + true + + Left + + + + ВебСайтКонтекстноеМеню + 28 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ГруппаТелефонФакс + 74 + + ГруппаТелефон + 106 + + Телефон + 10 + true + true + + true + + + + Объект.Телефон + + + + ТелефонExtendedTooltip + 59 + true + true + + true + + Label + true + true + + Left + + + + ТелефонКонтекстноеМеню + 27 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ФормаПозвонить + 86 + true + true + + true + + + ФормаПозвонитьРасширеннаяПодсказка + 87 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.Позвонить + Picture + true + true + UserCmds + + + ФормаОтправитьСМС + 88 + true + true + + true + + + ФормаОтправитьСМСРасширеннаяПодсказка + 89 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ОтправитьСМС + Picture + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Группа телефон</value> + + + ru + Группа телефон + + + ГруппаТелефонРасширеннаяПодсказка + 107 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + AlwaysHorizontal + WeakSeparation + true + true + DontUse + + + + Факс + 12 + true + true + + true + + + + Объект.Факс + + + + ФаксExtendedTooltip + 61 + true + true + + true + + Label + true + true + + Left + + + + ФаксКонтекстноеМеню + 29 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа телефон факс</value> + + + ru + Группа телефон факс + + + ГруппаТелефонФаксРасширеннаяПодсказка + 75 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Контакты</value> + + + КонтактыExtendedTooltip + 57 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + + ru + Контакты + + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Адреса и контакты</value> + + + АдресаИКонтактыExtendedTooltip + 49 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + PopUp + Picture + NormalSeparation + true + true + true + Auto + DontUse + + + + Координаты + 66 + + Широта + 68 + true + true + + true + + + + Объект.Широта + + + + ШиротаРасширеннаяПодсказка + 70 + true + true + + true + + Label + true + true + + Left + + + + ШиротаКонтекстноеМеню + 69 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + false + true + true + true + + + + Долгота + 71 + true + true + + true + + + + Объект.Долгота + + + + ДолготаРасширеннаяПодсказка + 73 + true + true + + true + + Label + true + true + + Left + + + + ДолготаКонтекстноеМеню + 72 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + false + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Координаты</value> + + + ru + Координаты + + + КоординатыРасширеннаяПодсказка + 67 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Collapsible + true + Picture + NormalSeparation + true + true + true + Auto + DontUse + + + + Прочее + 20 + + ДополнительнаяИнформация + 19 + true + true + + true + + + + Объект.ДополнительнаяИнформация + + + None + + ДополнительнаяИнформацияExtendedTooltip + 64 + true + true + + true + + Label + true + true + + Left + + + + ДополнительнаяИнформацияКонтекстноеМеню + 36 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + 4 + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Дополнительная информация</value> + + + ПрочееExtendedTooltip + 63 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + Collapsible + Picture + NormalSeparation + true + + ru + Прочее + + true + Auto + DontUse + + + + ФормаКоманднаяПанель + -1 + + ФормаГруппаЗвонок + 80 + + ФормаНапомнитьОЗвонке + 90 + true + true + + true + + + ФормаНапомнитьОЗвонкеРасширеннаяПодсказка + 91 + true + true + + true + + Label + true + true + + Left + + + Form.Command.НапомнитьОЗвонке + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Телефония</value> + + + ru + Форма группа звонок + + + ФормаГруппаЗвонокРасширеннаяПодсказка + 81 + true + true + + true + + Label + true + true + + Left + + + Popup + + Auto + + + + ФормаГруппаГеопозиционирование + 82 + + ФормаИспользоватьТекущееМестоположение + 92 + true + true + + true + + + ФормаИспользоватьТекущееМестоположениеРасширеннаяПодсказка + 93 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ИспользоватьТекущееМестоположение + Auto + true + true + UserCmds + + + ФормаПоказатьКарту + 94 + true + true + + true + + + ФормаПоказатьКартуРасширеннаяПодсказка + 95 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПоказатьКарту + Auto + true + true + UserCmds + + + ФормаПостроитьМаршрут + 96 + true + true + + true + + + ФормаПостроитьМаршрутРасширеннаяПодсказка + 97 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПостроитьМаршрут + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Геопозиционирование</value> + + + ru + Форма группа геопозиционирование + + + ФормаГруппаГеопозиционированиеРасширеннаяПодсказка + 83 + true + true + + true + + Label + true + true + + Left + + + Popup + + Auto + + + + ФормаГруппаМультимедиа + 84 + + ФормаСделатьФотоснимок + 102 + true + true + + true + + + ФормаСделатьФотоснимокРасширеннаяПодсказка + 103 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СделатьФотоснимок + Auto + true + true + UserCmds + + + ФормаСделатьВидеозапись + 100 + true + true + + true + + + ФормаСделатьВидеозаписьРасширеннаяПодсказка + 101 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СделатьВидеозапись + Auto + true + true + UserCmds + + + ФормаСделатьАудиозапись + 98 + true + true + + true + + + ФормаСделатьАудиозаписьРасширеннаяПодсказка + 99 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СделатьАудиозапись + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Мультимедиа</value> + + + ru + Форма группа мультимедиа + + + ФормаГруппаМультимедиаРасширеннаяПодсказка + 85 + true + true + + true + + Label + true + true + + Left + + + Popup + + Auto + + + + ФормаИзКонтактов + 104 + true + true + + true + + + ФормаИзКонтактовРасширеннаяПодсказка + 105 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ИзКонтактов + Auto + true + true + UserCmds + + true + true + + true + + Left + true + + + OnOpen + ПриОткрытии + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.Контрагенты + + + true + + + true + +
true
+ true +
+ + ТаблицаСертификатовКриптографии + + <key>ru</key> + <value>Таблица сертификатов криптографии</value> + + 2 + + ValueTable + + + true + + + true + + + ПредставлениеСертификатаКриптографии + + <key>ru</key> + <value>Представление сертификата криптографии</value> + + 1 + + String + + + + true + + + true + + + + + НовыйРасчетныйСчет + + <key>ru</key> + <value>Новый расчетный счет</value> + + 1 + + ru + Новый расчетный счет + + + true + + + + НовыйРасчетныйСчетВыполнить + + + DontUse + + + СделатьФотоснимок + + <key>ru</key> + <value>Сделать фотоснимок</value> + + 2 + + ru + Сделать фотоснимок + + + true + + + + СделатьФотоснимок + + + DontUse + + + СделатьВидеозапись + + <key>ru</key> + <value>Сделать видеозапись</value> + + 3 + + ru + Сделать видеозапись + + + true + + + + СделатьВидеозапись + + + DontUse + + + СделатьАудиозапись + + <key>ru</key> + <value>Сделать аудиозапись</value> + + 4 + + ru + Сделать аудиозапись + + + true + + + + СделатьАудиозапись + + + DontUse + + + ПостроитьМаршрут + + <key>ru</key> + <value>Построить маршрут</value> + + 5 + + ru + Построить маршрут + + + true + + + + ПостроитьМаршрут + + + DontUse + + + ПоказатьКарту + + <key>ru</key> + <value>Показать на карте</value> + + 6 + + ru + Показать карту + + + true + + + + ПоказатьКарту + + + DontUse + + + Позвонить + + <key>ru</key> + <value>Позвонить</value> + + 7 + + ru + Позвонить + + + true + + + CommonPicture.Позвонить + + + + Позвонить + + + DontUse + + + ОтправитьСМС + + <key>ru</key> + <value>Отправить СМС</value> + + 8 + + ru + Отправить СМС + + + true + + + CommonPicture.ОтправитьСМС + + + + ОтправитьСМС + + + DontUse + + + НапомнитьОЗвонке + + <key>ru</key> + <value>Напомнить о звонке</value> + + 9 + + ru + Напомнить о звонке + + + true + + + + НапомнитьОЗвонке + + + DontUse + + + ИспользоватьТекущееМестоположение + + <key>ru</key> + <value>Использовать текущее местоположение</value> + + 10 + + ru + Использовать текущее местоположение + + + true + + + + ИспользоватьТекущееМестоположение + + + DontUse + + + ИзКонтактов + + <key>ru</key> + <value>Заполнить из контакта</value> + + 11 + + ru + Из контактов + + + true + + + + ЗаполнитьИзКонтактов + + + DontUse + + + + + FilterCriterion.ДокументыКонтрагента.StandardCommand.OpenByValue + + true + + + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..f83bbf599 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,398 @@ + + +&НаСервере +Процедура ИспользоватьТекущееМестоположениеСервер(ДанныеАдреса, ДанныеМестоположения) + + Объект.Регион = Справочники.Регионы.НайтиПоНаименованию(ДанныеАдреса.Регион); + Объект.Страна = ДанныеАдреса.Страна; + Объект.Город = ДанныеАдреса.Город; + Объект.Улица = ДанныеАдреса.Улица; + Объект.Дом = ДанныеАдреса.Дом; + Объект.Индекс = ДанныеАдреса.Индекс; + Если ДанныеМестоположения <> Неопределено Тогда + Объект.Широта = ДанныеМестоположения.Координаты.Широта; + Объект.Долгота = ДанныеМестоположения.Координаты.Долгота; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура СоздатьНовыйФайлСервер(Данные, Расширение, Тип) + + ТипСодержимого = Тип; + Номер = Найти(ТипСодержимого, "/"); + Если Номер > 0 Тогда + ТипСодержимого = Лев(ТипСодержимого, Номер - 1); + КонецЕсли; + Файл = Новый Файл(СтрЗаменить(Строка(ТекущаяДата()), ":", "_") + "." + Расширение); + + ХранимыйФайл = Справочники.ХранимыеФайлы.СоздатьЭлемент(); + ХранимыйФайл.Владелец = Объект.Ссылка; + ХранимыйФайл.Наименование = ТипСодержимого + " " + Строка(ТекущаяДата()); + ХранимыйФайл.ИмяФайла = Файл.Имя; + ХранимыйФайл.ДанныеФайла = Новый ХранилищеЗначения(Данные, Новый СжатиеДанных()); + ХранимыйФайл.Подпись = Новый ХранилищеЗначения(Неопределено, Новый СжатиеДанных()); + ХранимыйФайл.Зашифрован = Ложь; + ХранимыйФайл.Подписан = Ложь; + ХранимыйФайл.Записать(); + +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьИзКонтактаНаСервере(ДанныеКонтакта) + +#Если МобильноеПриложениеСервер Тогда + Объект.Наименование = ДанныеКонтакта.Фамилия + " " + ДанныеКонтакта.Имя + " " + ДанныеКонтакта.Отчество; + Если ДанныеКонтакта.Адреса.Количество() > 0 Тогда + ИспользоватьТекущееМестоположениеСервер(ДанныеКонтакта.Адреса[0].Значение, Неопределено) + КонецЕсли; + Для каждого Номер из ДанныеКонтакта.НомераТелефонов Цикл + Если Номер.ТипДанных = ТипНомераТелефонаДанныхКонтакта.ДомашнийФакс + ИЛИ Номер.ТипДанных = ТипНомераТелефонаДанныхКонтакта.РабочийФакс + Или Номер.ТипДанных = ТипНомераТелефонаДанныхКонтакта.ДругойФакс Тогда + Объект.Факс = Номер.Значение; + Иначе + Объект.Телефон = Номер.Значение; + КонецЕсли; + КонецЦикла; + Если ДанныеКонтакта.АдресаЭлектроннойПочты.Количество() > 0 Тогда + Объект.ЭлектроннаяПочта = ДанныеКонтакта.АдресаЭлектроннойПочты[0].Значение; + КонецЕсли; + Если ДанныеКонтакта.ВебАдреса.Количество() > 0 Тогда + Объект.ВебСайт = ДанныеКонтакта.ВебАдреса[0].Значение; + КонецЕсли; + Объект.ДополнительнаяИнформация = ДанныеКонтакта.Заметка; +#КонецЕсли + +КонецПроцедуры + +#Если МобильныйКлиент Тогда + +&НаКлиенте +Процедура СоздатьНовыйФайл(ДанныеМультимедиа) + + Если ДанныеМультимедиа <> Неопределено Тогда + СоздатьНовыйФайлСервер(ДанныеМультимедиа.ПолучитьДвоичныеДанные(),ДанныеМультимедиа.РасширениеФайла,ДанныеМультимедиа.ТипСодержимого); + КонецЕсли; + +КонецПроцедуры + +#КонецЕсли + +&НаКлиенте +Функция ПолучитьКоординатыКонтрагента() + +#Если МобильныйКлиент Тогда + Координаты = Неопределено; + Если Объект.Широта <> 0 ИЛИ Объект.Долгота <> 0 Тогда + Координаты = Новый ГеографическиеКоординаты(Объект.Широта, Объект.Долгота); + Иначе + СтруктураДанныхАдреса = Новый Структура(); + СтруктураДанныхАдреса.Вставить("Регион",Объект.Регион); + СтруктураДанныхАдреса.Вставить("Страна",Объект.Страна); + СтруктураДанныхАдреса.Вставить("Город",Объект.Город); + СтруктураДанныхАдреса.Вставить("Улица",Объект.Улица); + СтруктураДанныхАдреса.Вставить("Дом",Объект.Дом); + СтруктураДанныхАдреса.Вставить("Индекс",Объект.Индекс); + ДанныеАдреса = Новый ДанныеАдреса(СтруктураДанныхАдреса); + Координаты = ПолучитьМестоположениеПоАдресу(ДанныеАдреса); + КонецЕсли; + Возврат Координаты; +#КонецЕсли + +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + +#Если НЕ МобильныйКлиент Тогда + // Команды имеют смысл только на мобильном клиенте + Элементы.ФормаПозвонить.Видимость = Ложь; + Элементы.ФормаОтправитьСМС.Видимость = Ложь; + Элементы.ФормаПостроитьМаршрут.Видимость = Ложь; + Элементы.ФормаПоказатьКарту.Видимость = Ложь; + Элементы.ФормаИспользоватьТекущееМестоположение.Видимость = Ложь; + Элементы.ФормаСделатьАудиозапись.Видимость = Ложь; + Элементы.ФормаСделатьВидеозапись.Видимость = Ложь; + Элементы.ФормаСделатьФотоснимок.Видимость = Ложь; + Элементы.ФормаИзКонтактов.Видимость = Ложь; + Элементы.ФормаПоказатьКарту.Доступность = Ложь; +#Иначе + Элементы.ФормаПозвонить.Доступность = СредстваТелефонии.ПоддерживаетсяНаборНомера(); + Элементы.ФормаОтправитьСМС.Доступность = СредстваТелефонии.ПоддерживаетсяОтправкаSMS(Истина); + Элементы.ФормаСделатьАудиозапись.Доступность = СредстваМультимедиа.ПоддерживаетсяАудиозапись(); + Элементы.ФормаСделатьВидеозапись.Доступность = СредстваМультимедиа.ПоддерживаетсяВидеозапись(); + Элементы.ФормаСделатьФотоснимок.Доступность = СредстваМультимедиа.ПоддерживаетсяФотоснимок(); + Элементы.ФормаПоказатьКарту.Доступность = ПоддерживаетсяОтображениеКарты(); + + Если Объект.Ссылка.Пустая() Тогда + НачатьРедактированиеЭлемента(); + КонецЕсли; +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура НовыйРасчетныйСчетВыполнить() + + Если Объект.Ссылка.Пустая() Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Данные не записаны'", "ru")); + Возврат; + КонецЕсли; + + // Подготовка параметров и открытие формы нового расчетного счета контрагента. + ЗначенияЗаполнения = Новый Структура(); + ЗначенияЗаполнения.Вставить("НаименованиеЗаполнить", "Р/С " + Объект.Наименование); + ЗначенияЗаполнения.Вставить("Владелец", Объект.Ссылка); + СтруктураПараметров = Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения); + ОткрытьФорму("Справочник.РасчетныеСчетаКонтрагентов.ФормаОбъекта", СтруктураПараметров); + +КонецПроцедуры + +&НаКлиенте +Процедура Позвонить(Команда) + + Если ЗначениеЗаполнено(Объект.Телефон) Тогда + +#Если МобильныйКлиент Тогда + СредстваТелефонии.НабратьНомер(Объект.Телефон, Ложь); +#КонецЕсли + + Иначе + + // Сообщим пользователю о том, что информация не консистентна + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Телефон не указан!'", "ru"); + Сообщение.Поле = "Объект.Телефон"; + Сообщение.Сообщить(); + + КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ОтправитьСМС(Команда) + + Если ЗначениеЗаполнено(Объект.Телефон) Тогда + +#Если МобильныйКлиент Тогда + Сообщение = Новый SMSСообщение(); + Сообщение.Получатели.Добавить(Объект.Телефон); + СредстваТелефонии.ПослатьSMS(Сообщение, Истина); +#КонецЕсли + + Иначе + + // Сообщим пользователю о том, что информация не консистентна + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Телефон не указан!'", "ru"); + Сообщение.Поле = "Объект.Телефон"; + Сообщение.Сообщить(); + + КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура СделатьАудиозапись(Команда) + + Если Объект.Ссылка.Пустая() Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Данные не записаны'", "ru")); + Возврат; + КонецЕсли; + +#Если МобильныйКлиент Тогда + ДанныеМультимедиа = СредстваМультимедиа.СделатьАудиозапись(); + СоздатьНовыйФайл(ДанныеМультимедиа); +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура СделатьВидеозапись(Команда) + + Если Объект.Ссылка.Пустая() Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Данные не записаны'", "ru")); + Возврат; + КонецЕсли; + +#Если МобильныйКлиент Тогда + ДанныеМультимедиа = СредстваМультимедиа.СделатьВидеозапись(); + СоздатьНовыйФайл(ДанныеМультимедиа); +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура СделатьФотоснимок(Команда) + + Если Объект.Ссылка.Пустая() Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Данные не записаны'", "ru")); + Возврат; + КонецЕсли; + +#Если МобильныйКлиент Тогда + ДанныеМультимедиа = СредстваМультимедиа.СделатьФотоснимок(); + СоздатьНовыйФайл(ДанныеМультимедиа); +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура НапомнитьОЗвонке(Команда) + + Если ЗначениеЗаполнено(Объект.Телефон) Тогда + +#Если МобильныйКлиент Тогда + Оп = Новый ОписаниеОповещения("ПослеВводаДаты", ЭтотОбъект); + ПоказатьВводДаты(Оп, ТекущаяДата(), НСтр("ru = 'Введите время напоминания.'", "ru")); +#КонецЕсли + + Иначе + + // Сообщим пользователю о том, что информация не консистентна + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Телефон не указан!'", "ru"); + Сообщение.Поле = "Объект.Телефон"; + Сообщение.Сообщить(); + + КонецЕсли + +КонецПроцедуры + +#Если МобильныйКлиент Тогда + +&НаКлиенте +Процедура ПослеВводаДаты(Дата, Параметры) Экспорт + + Если НЕ Дата = Неопределено Тогда + + Уведомление = Новый ДоставляемоеУведомление(); + Уведомление.Текст = НСтр("ru = 'Перезвоните '", "ru") + Объект.Наименование; + Уведомление.Данные = "TN:" + Объект.Телефон; + Уведомление.ДатаПоявленияУниверсальноеВремя = УниверсальноеВремя(Дата); + ДоставляемыеУведомления.ДобавитьЛокальноеУведомление(Уведомление); + + КонецЕсли; + +КонецПроцедуры + +#КонецЕсли + +&НаКлиенте +Процедура ПоказатьКарту(Команда) + +#Если МобильныйКлиент Тогда + Координаты = ПолучитьКоординатыКонтрагента(); + Если Координаты <> Неопределено Тогда + ПоказатьНаКарте(Координаты); + Иначе + // Сообщим пользователю о том, что информация не консистентна + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Не заполнены поля, описывающие адрес контрагента.'", "ru"); + Сообщение.Поле = "Объект.Регион"; + Сообщение.Сообщить(); + КонецЕсли; +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ИспользоватьТекущееМестоположение(Команда) + +#Если МобильныйКлиент Тогда + Имя = ""; + Если ГеопозиционированиеКлиент.ОбновитьМестоположение(Имя) Тогда + ДанныеМестоположения = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(Имя); + ДанныеАдреса = ПолучитьАдресПоМестоположению(ДанныеМестоположения.Координаты); + Если ДанныеАдреса <> Неопределено Тогда + ИспользоватьТекущееМестоположениеСервер(ДанныеАдреса, ДанныеМестоположения); + Иначе + Сообщить(НСтр("ru = 'Не удалось установить адрес по местоположению.'", "ru")); + КонецЕсли; + КонецЕсли; +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ПостроитьМаршрут(Команда) + +#Если МобильныйКлиент Тогда + ДанныеМестоположения = Неопределено; + Имя = ""; + Если ГеопозиционированиеКлиент.ОбновитьМестоположение(Имя) Тогда + ДанныеМестоположения = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(Имя); + КонецЕсли; + + Если ДанныеМестоположения = Неопределено Тогда + Сообщить(НСтр("ru = 'Не удалось установить текущее местоположению.'", "ru")); + Возврат; + КонецЕсли; + + КоординатыКонтрагента = ПолучитьКоординатыКонтрагента(); + Если КоординатыКонтрагента = Неопределено Тогда + Сообщить(НСтр("ru = 'Не удалось установить расположение контрагента.'", "ru")); + Возврат; + КонецЕсли; + + Запуск = Новый ЗапускПриложенияМобильногоУстройства("android.intent.action.VIEW", + "http://maps.google.com/maps?saddr=" + + XMLСтрока(ДанныеМестоположения.Координаты.Широта) + "," + XMLСтрока(ДанныеМестоположения.Координаты.Долгота) + + "&daddr=" + + XMLСтрока(КоординатыКонтрагента.Широта) + "," + XMLСтрока(КоординатыКонтрагента.Долгота)); + Запуск.Запустить(Ложь); + +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ЗаполнитьИзКонтактов(Команда) + +#Если МобильныйКлиент Тогда + Список = Новый СписокЗначений(); + МенеджерКонтактов = Новый МенеджерКонтактов(); + Ключи = МенеджерКонтактов.НайтиКонтакты(); + Для каждого Ключ Из Ключи Цикл + Контакт = МенеджерКонтактов.ПолучитьКонтакт(Ключ); + Представление = Контакт.ДанныеКонтакта.Имя; + Если Не ПустаяСтрока(Представление) И Не ПустаяСтрока(Контакт.ДанныеКонтакта.Отчество) Тогда + Представление = Представление + " " + Контакт.ДанныеКонтакта.Отчество; + КонецЕсли; + Если Не ПустаяСтрока(Представление) И Не ПустаяСтрока(Контакт.ДанныеКонтакта.Фамилия) Тогда + Представление = Представление + " " + Контакт.ДанныеКонтакта.Фамилия; + КонецЕсли; + Если Не ПустаяСтрока(Представление) И Не ПустаяСтрока(Контакт.ДанныеКонтакта.Прозвище) Тогда + Представление = Контакт.ДанныеКонтакта.Прозвище + "( " + Представление + " )"; + КонецЕсли; + Список.Добавить(Ключ, Представление); + КонецЦикла; + + Оп = Новый ОписаниеОповещения("ВыполнитьПослеВыбора", ЭтотОбъект, Список); + ПоказатьВыборИзСписка(Оп, Список); + +#КонецЕсли + +КонецПроцедуры + +#Если МобильныйКлиент Тогда + +&НаКлиенте +Процедура ВыполнитьПослеВыбора(Ключ, Параметры) Экспорт + + Если НЕ Ключ = Неопределено Тогда + + МенеджерКонтактов = Новый МенеджерКонтактов(); + Контакт = МенеджерКонтактов.ПолучитьКонтакт(Ключ.Значение); + ЗаполнитьИзКонтактаНаСервере(Контакт.ДанныеКонтакта); + + КонецЕсли; + +КонецПроцедуры + +#КонецЕсли diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Help/ru.html" new file mode 100644 index 000000000..5767028d4 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике хранится информация о контрагентах, с которыми взаимодействует предприятие. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/ManagerModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/ManagerModule.bsl" new file mode 100644 index 000000000..e69de29bb diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/ObjectModule.bsl" new file mode 100644 index 000000000..f640b651d --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/ObjectModule.bsl" @@ -0,0 +1,41 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА + +//////////////////////////////////////////////////////////////////////////////// +// Обработчик события "Проверка заполнения" +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + // Если это группа, + Если ЭтоГруппа Тогда + // дальнейшие проверки не имеют смысла + Возврат; + КонецЕсли; + + // Сами проверим реквизит ВидЦен + Если ВидЦен.Пустая() Тогда + + // Сообщим пользователю о том, что информация не консистентна + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Контрагенту необходимо задать вид цен!'", "ru"); + Сообщение.Поле = "ВидЦен"; + Сообщение.УстановитьДанные(ЭтотОбъект); + Сообщение.Сообщить(); + + // Удалим реквизит из списка автоматически проверяемых + ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("ВидЦен")); + // Уведомим платформу, что дальнейшая работа не имеет смысла + Отказ = Истина; + + КонецЕсли; + + // Если заполнено поле "Улица" + Если НЕ ПустаяСтрока(Улица) Тогда + + // Тогда, должны быть заполнены и поля Регион, Город, и Дом. + ПроверяемыеРеквизиты.Добавить("Регион"); + ПроверяемыеРеквизиты.Добавить("Город"); + ПроверяемыеРеквизиты.Добавить("Дом"); + + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213.mdo" new file mode 100644 index 000000000..36d34e213 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213/\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\321\213.mdo" @@ -0,0 +1,536 @@ + + + + + + + + + + Контрагенты + + ru + Контрагенты + + + true + Catalog.Контрагенты.StandardAttribute.Description + Catalog.Контрагенты.StandardAttribute.Code + AnyPart + Background + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + ru + Группа контрагентов + + + true + + Catalog.Контрагенты.EmptyRef + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + + + Use + + + + + + ChartOfCharacteristicTypes.ВидыХарактеристик + ChartOfCharacteristicTypes.ВидыХарактеристик.StandardAttribute.Ref + ChartOfCharacteristicTypes.ВидыХарактеристик.Attribute.Назначение + + Enum.НазначениеХарактеристик.EnumValue.Контрагенты + + InformationRegister.Характеристики + InformationRegister.Характеристики.Dimension.Объект + InformationRegister.Характеристики.Dimension.ВидХарактеристики + InformationRegister.Характеристики.Resource.Значение + + Use + true + + + ru + + + Use + + ru + Контрагент + + + ru + Контрагенты + + + ru + Организации и физические лица, с которыми у нас есть договорные отношения + + Use + true + 2 + true + 9 + 30 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.Контрагенты.Form.ФормаЭлемента + Catalog.Контрагенты.Form.ФормаСписка + Catalog.Контрагенты.Form.ФормаВыбора + + Регион + + ru + Регион + + + + CatalogRef.Регионы + + + ru + Регион контрагента + + + + + + Catalog.Регионы.EmptyRef + + Use + Use + + + Индекс + + ru + Индекс + + + + String + + 10 + + + + + + DontUse + Use + + + + Use + Use + + + Страна + + ru + Страна + + + + String + + + + + + DontUse + Use + + + + Use + Use + + + Город + + ru + Город + + + + String + + + + + + DontUse + Use + + + + Use + Use + + + Улица + + ru + Улица + + + + String + + + + + + DontUse + Use + + + + Use + Use + + + Дом + + ru + Дом + + + + String + + 15 + + + + + + Use + + + + Use + Use + + + Телефон + + ru + Телефон + + + + String + + 16 + + + + + + + + + Use + Use + + + ЭлектроннаяПочта + + ru + Электронная почта + + + + String + + 40 + + + + + + + + + Use + Use + + + Факс + + ru + Факс + + + + String + + 16 + + + + + + + + + Use + Use + + + ВебСайт + + ru + Веб сайт + + + + String + + 40 + + + + + + + + + Use + Use + + + ВидЦен + + ru + Вид цен + + + + CatalogRef.ВидыЦен + + + ru + Вид цены при продаже товара + + + + + ShowError + + Catalog.ВидыЦен.EmptyRef + + Use + Use + + + ДополнительнаяИнформация + + ru + Дополнительная информация + + + + String + + + + true + + + DontUse + Use + + + + Use + Use + + + КонтактноеЛицо + + ru + Контактное лицо + + + + String + + 100 + + + + + + + + + Use + Use + + + Широта + + ru + Широта + + + + Number + + 10 + 6 + + + + + + + Use + Use + + + Долгота + + ru + Долгота + + + + Number + + 10 + 6 + + + + + + + Use + Use + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + + ФормаВыбора + + ru + Форма выбора + + + PersonalComputer + MobileDevice + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/ManagerModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/ManagerModule.bsl" new file mode 100644 index 000000000..d2bd616d3 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/ManagerModule.bsl" @@ -0,0 +1,31 @@ +Процедура НовыйИдентификаторПодписчикаУведомлений(Подписчик, Идентификатор) Экспорт + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | МобильныеУстройства.Ссылка КАК Ссылка, + | МобильныеУстройства.ПометкаУдаления КАК ПометкаУдаления + |ИЗ + | Справочник.МобильныеУстройства КАК МобильныеУстройства + |ГДЕ + | МобильныеУстройства.Подписчик = &Подписчик"; + Запрос.УстановитьПараметр("Подписчик", Подписчик); + Выборка = Запрос.Выполнить().Выбрать(); + Устройство = 0; + Пока Выборка.Следующий() Цикл + Если Выборка.ПометкаУдаления = Ложь Тогда + Устройство = Выборка.Ссылка.ПолучитьОбъект(); + Прервать; + КонецЕсли; + КонецЦикла; + + Если Устройство = 0 Тогда + Устройство = СоздатьЭлемент(); + Устройство.Владелец = Пользователи.ТекущийПользователь(); + Устройство.Подписчик = Подписчик; + КонецЕсли; + + Устройство.ИдентификаторПодписчикаДоставляемыхУведомлений = Новый ХранилищеЗначения(Идентификатор); + Устройство.Записать(); + +КонецПроцедуры + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.mdo" new file mode 100644 index 000000000..39264d48e --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.mdo" @@ -0,0 +1,170 @@ + + + + + + + + + + МобильныеУстройства + + ru + Мобильные устройства + + + true + Catalog.МобильныеУстройства.StandardAttribute.Description + Catalog.МобильныеУстройства.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + Managed + Use + 2 + true + Catalog.Пользователи + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + + ИдентификаторПодписчикаДоставляемыхУведомлений + + ru + Идентификатор подписчика доставляемых уведомлений + + + + ValueStorage + + + + + + Use + Use + + + Подписчик + + ru + Подписчик + + + + ExchangePlanRef.Мобильные + String + + 36 + true + + + + + + + + + Use + Use + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.mdo" new file mode 100644 index 000000000..e7da089b7 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.mdo" @@ -0,0 +1,142 @@ + + + + + + + + + + НастройкиИнтеграции + + ru + Настройки интеграции + + true + Catalog.НастройкиИнтеграции.StandardAttribute.Code + Catalog.НастройкиИнтеграции.StandardAttribute.Description + DontUse + Use + Managed + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + + InDialog + BothWays + + Адрес + + ru + Адрес + + + String + + + + + + Use + Use + + + Пользователь + + ru + Пользователь + + + String + + + + + + Use + Use + + + Пароль + + ru + Пароль + + + String + + + + + + Use + Use + + + Организация + + ru + Организация + + + CatalogRef.Организации + + + + + Use + Use + + + Склад + + ru + Склад + + + CatalogRef.Склады + + + + + Use + Use + + + Валюта + + ru + Валюта + + + CatalogRef.Валюты + + + + + Use + Use + + + ВидЦен + + ru + Вид цен + + + CatalogRef.ВидыЦен + + + + + Use + Use + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..48e57cf83 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,308 @@ + + + + Код + 2 + true + true + + true + + + + Объект.Code + + + + КодExtendedTooltip + 12 + true + true + + true + + Label + true + true + + Left + + + + Код_КонтекстноеМеню + 7 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Наименование + 3 + true + true + + true + + + + Объект.Description + + + true + + НаименованиеExtendedTooltip + 13 + true + true + + true + + Label + true + true + + Left + + + + Наименование_КонтекстноеМеню + 8 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + БитДанных + 4 + true + true + + true + + + + Объект.БитДанных + + + + БитДанныхExtendedTooltip + 14 + true + true + + true + + Label + true + true + + Left + + + + БитДанных_КонтекстноеМеню + 9 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Скорость + 5 + true + true + + true + + + + Объект.Скорость + + + + СкоростьExtendedTooltip + 15 + true + true + + true + + Label + true + true + + Left + + + + Скорость_КонтекстноеМеню + 10 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Порт + 6 + true + true + + true + + + + Объект.Порт + + + + ПортExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + + Порт_КонтекстноеМеню + 11 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.НастройкиТорговогоОборудования + + + true + + + true + +
true
+ true +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..522f54be6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,16 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Ключ.Пустая() Тогда + + Объект.БитДанных = 8; + Объект.Скорость = 9600; + Объект.Порт = "COM1"; + + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Help/ru.html" new file mode 100644 index 000000000..ddc682c2b --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/Help/ru.html" @@ -0,0 +1,2 @@ + +

В этом справочнике хранятся варианты настройки торгового оборудование, которое используется на предприятии.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..ce73e5178 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\242\320\276\321\200\320\263\320\276\320\262\320\276\320\263\320\276\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\321\217.mdo" @@ -0,0 +1,228 @@ + + + + + + + + + + НастройкиТорговогоОборудования + + ru + Настройки торгового оборудования + + + true + Catalog.НастройкиТорговогоОборудования.StandardAttribute.Description + Catalog.НастройкиТорговогоОборудования.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + true + + + ru + + + Managed + Use + + ru + Настройка ТО + + + ru + Настойка торгового оборудования + + + ru + Настройки торгового оборудования + + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.НастройкиТорговогоОборудования.Form.ФормаЭлемента + + БитДанных + + ru + Бит данных + + + + Number + + 10 + + + + + + DontUse + Use + + 0 + + Use + Use + + + Скорость + + ru + Скорость + + + + Number + + 10 + + + + + + DontUse + Use + + 0 + + Use + Use + + + Порт + + ru + Порт + + + + String + + 20 + + + + + + + COM1 + + Use + Use + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..5d883f005 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,195 @@ + + + + Код + 1 + true + true + + true + + + + Объект.Code + + + + КодExtendedTooltip + 7 + true + true + + true + + Label + true + true + + Left + + + + Код_КонтекстноеМеню + 2 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + + + + Наименование + 3 + true + true + + true + + + + Объект.Description + + + + НаименованиеExtendedTooltip + 8 + true + true + + true + + Label + true + true + + Left + + + + Наименование_КонтекстноеМеню + 4 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + + + + ВалютныйУчет + 5 + true + true + + true + + + + Объект.ВалютныйУчет + + + + ВалютныйУчетExtendedTooltip + 9 + true + true + + true + + Label + true + true + + Left + + + + ВалютныйУчет_КонтекстноеМеню + 6 + true + true + + true + + true + + CheckBoxField + EnterOnInput + true + Left + true + + + + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.Организации + + + true + + + true + +
true
+ true +
+ + + + + + + AfterWrite + ПослеЗаписи + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..1c584d5fd --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,5 @@ + +&НаКлиенте +Процедура ПослеЗаписи(ПараметрыЗаписи) + ОбновитьИнтерфейс(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Help/ru.html" new file mode 100644 index 000000000..a10e71c0c --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/Help/ru.html" @@ -0,0 +1 @@ +Справочник необходим при многофирменности вашего учета. В нем хранится информация про различные организации, учет которых вы ведете. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270.mdo" new file mode 100644 index 000000000..579182c3a --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\320\270.mdo" @@ -0,0 +1,179 @@ + + + + + + + + + + Организации + + ru + Организации + + + true + Catalog.Организации.StandardAttribute.Description + Catalog.Организации.StandardAttribute.Code + AnyPart + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + DontUse + true + + + ru + + + Managed + Use + + ru + Организация + + + ru + Организации + + + ru + Наши юридические лица + + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + true + BothWays + Catalog.Организации.Form.ФормаЭлемента + + ВалютныйУчет + + ru + Валютный учет + + + + Boolean + + + + + DontUse + Use + + Use + Use + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..144ad7ff8 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,146 @@ + + + + Код + 1 + true + true + + true + + + + Объект.Code + + + + КодРасширеннаяПодсказка + 3 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + Наименование + 4 + true + true + + true + + + + Объект.Description + + + + НаименованиеРасширеннаяПодсказка + 6 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.Пользователи + + + true + + + true + +
true
+ true +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/ObjectModule.bsl" new file mode 100644 index 000000000..e69de29bb diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" new file mode 100644 index 000000000..c159995d8 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" @@ -0,0 +1,162 @@ + + + + + + + + + + Пользователи + + ru + Пользователи + + + true + Catalog.Пользователи.StandardAttribute.Description + Catalog.Пользователи.StandardAttribute.Code + AnyPart + Background + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + ru + Полное имя + + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + Managed + Use + Use + 2 + true + 25 + 50 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.Пользователи.Form.ФормаЭлемента + + ИдентификаторПользователяИБ + + ru + Идентификатор пользователя ИБ + + Требуется для сопоставления элемента справочника Пользователи пользователю ИБ + + UUID + + + + + + Index + Use + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\265\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217/\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\265\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\265\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217/\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\265\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..892accf90 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\265\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217/\320\237\320\276\321\207\321\202\320\276\320\262\321\213\320\265\320\222\320\273\320\276\320\266\320\265\320\275\320\270\321\217.mdo" @@ -0,0 +1,146 @@ + + + + + + + + + + ПочтовыеВложения + + ru + Почтовые вложения + + + Catalog.ПочтовыеВложения.StandardAttribute.Description + Catalog.ПочтовыеВложения.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + Managed + Use + Use + 2 + true + Catalog.ВходящиеПисьма + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + + Данные + + ru + Данные + + + + ValueStorage + + + + + + Use + Use + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" new file mode 100644 index 000000000..e90654dc6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" @@ -0,0 +1,541 @@ + + + + Настройки + 20 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Наименование + 4 + true + true + + true + + + + Список.Description + + + true + + НаименованиеExtendedTooltip + 15 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Код + 6 + true + true + + true + + + + Список.Code + + + + КодExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Владелец + 8 + true + true + + true + + + + Список.Owner + + + + ВладелецExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + + ВладелецКонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Банк + 10 + true + true + + true + + + + Список.Банк + + + + БанкExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + + БанкКонтекстноеМеню + 11 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + Номер + 12 + true + true + + true + + + + Список.Номер + + + + НомерExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 13 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + + + true + true + + true + + СписокСтрокаПоиска + 22 + + СписокСтрокаПоискаРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 23 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 25 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 27 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 26 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 28 + + СписокУправлениеПоискомРасширеннаяПодсказка + 30 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 29 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 14 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Catalog.РасчетныеСчета + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Help/ru.html" new file mode 100644 index 000000000..0f43b98fa --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике хранится информация о расчетных счетах предприятия. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260.mdo" new file mode 100644 index 000000000..82c1560ea --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260.mdo" @@ -0,0 +1,217 @@ + + + + + + + + + + РасчетныеСчета + + ru + Расчетные счета + + + true + Catalog.РасчетныеСчета.StandardAttribute.Description + Catalog.РасчетныеСчета.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + ru + Организация + + + true + + Catalog.Организации.EmptyRef + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + true + + + ru + + + Use + + ru + Расчетный счет + + + ru + Наш расчетный счет + + + ru + Наши расчетные счета + + + ru + Наши расчетные счета используемые при расчетах с контрагентами + + Use + 2 + true + Catalog.Организации + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.РасчетныеСчета.Form.ФормаВыбора + + Номер + + ru + Номер + + + + String + + 20 + + + + + + ShowError + DontUse + Use + + + + Use + Use + + + Банк + + ru + Банк + + + + CatalogRef.Банки + + + ru + Банк в котором зарегистрирован расчетный счет + + + + + ShowError + + Catalog.Банки.EmptyRef + + Use + Use + + + ФормаВыбора + + ru + Форма выбора + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" new file mode 100644 index 000000000..9c8226ca5 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" @@ -0,0 +1,437 @@ + + + + Настройки + 14 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 15 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Наименование + 4 + true + true + + true + + + + Список.Description + + + true + + НаименованиеExtendedTooltip + 11 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Код + 6 + true + true + + true + + + + Список.Code + + + + КодExtendedTooltip + 12 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Владелец + 8 + true + true + + true + + + + Список.Owner + + + + ВладелецExtendedTooltip + 13 + true + true + + true + + Label + true + true + + Left + + + + ВладелецКонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + + + true + true + + true + + СписокСтрокаПоиска + 16 + + СписокСтрокаПоискаРасширеннаяПодсказка + 18 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 17 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 19 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 20 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 22 + + СписокУправлениеПоискомРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 23 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 10 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Catalog.РасчетныеСчетаКонтрагентов + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Help/ru.html" new file mode 100644 index 000000000..6ef171481 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике находится информация о расчетных счетах контрагентов предприятия. Эта информация необходима для взаиморасчетов. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" new file mode 100644 index 000000000..3302642c2 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" @@ -0,0 +1,17 @@ + +// обработка заполнения нового элемента +Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) + + Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда + + Значение = Неопределено; + + Если ДанныеЗаполнения.Свойство("НаименованиеЗаполнить", Значение) Тогда + + Наименование = Значение; + + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..c854b3bad --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262/\320\240\320\260\321\201\321\207\320\265\321\202\320\275\321\213\320\265\320\241\321\207\320\265\321\202\320\260\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\276\320\262.mdo" @@ -0,0 +1,223 @@ + + + + + + + + + + РасчетныеСчетаКонтрагентов + + ru + Расчетные счета контрагентов + + + true + Catalog.РасчетныеСчетаКонтрагентов.StandardAttribute.Description + Catalog.РасчетныеСчетаКонтрагентов.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + ru + Контрагент + + + true + + Catalog.Контрагенты.EmptyRef + + ShowError + Use + + + + + + Use + Parent + + true + + Catalog.РасчетныеСчетаКонтрагентов.EmptyRef + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + + + Use + + + + + Use + true + + + ru + + + Use + + ru + Расчетный счет + + + ru + Расчетный счет контрагента + + + ru + Расчетные счета + + + ru + Расчетные счета контрагентов + + + ru + Расчетные счета наших контрагентов + + Use + 2 + true + Catalog.Контрагенты + 9 + 40 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.РасчетныеСчетаКонтрагентов.Form.ФормаВыбора + + Номер + + ru + Номер + + + + String + + 20 + + + + + + DontUse + Use + + + + Use + Use + + + Банк + + ru + Банк + + + + CatalogRef.Банки + + + ru + Банк в котором зарегистрирован расчетный счет + + + + + + Catalog.Банки.EmptyRef + + Use + Use + + + ФормаВыбора + + ru + Форма выбора + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\265\320\263\320\270\320\276\320\275\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\265\320\263\320\270\320\276\320\275\321\213/Help/ru.html" new file mode 100644 index 000000000..9f83efc70 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\265\320\263\320\270\320\276\320\275\321\213/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике хранится информация о регионах, в которых предприятие осуществляет свою деятельность. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\240\320\265\320\263\320\270\320\276\320\275\321\213/\320\240\320\265\320\263\320\270\320\276\320\275\321\213.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\265\320\263\320\270\320\276\320\275\321\213/\320\240\320\265\320\263\320\270\320\276\320\275\321\213.mdo" new file mode 100644 index 000000000..9f66c5687 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\240\320\265\320\263\320\270\320\276\320\275\321\213/\320\240\320\265\320\263\320\270\320\276\320\275\321\213.mdo" @@ -0,0 +1,151 @@ + + + + + + + + + + Регионы + + ru + Регионы + + + true + Catalog.Регионы.StandardAttribute.Description + Catalog.Регионы.StandardAttribute.Code + AnyPart + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + true + + + ru + + + Use + + ru + Регион + + + ru + Регионы + + + ru + Регионы РФ + + + ru + Регионы РФ согласно адресному классификатору + + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/Help/ru.html" new file mode 100644 index 000000000..632e37732 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике перечислены склады, на которых находятся товары предприятия. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/ManagerModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/ManagerModule.bsl" new file mode 100644 index 000000000..1a599de98 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/ManagerModule.bsl" @@ -0,0 +1,45 @@ + +// обработка события получения данных выбора +Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) + + Если Параметры.СтрокаПоиска = Неопределено Тогда + + СтандартнаяОбработка = Ложь; + ДанныеВыбора = Новый СписокЗначений; + + //Сфорируем список с предупреждениями + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Склады.Ссылка, + | Склады.Наименование, + | Склады.НеИспользовать + |ИЗ + | Справочник.Склады КАК Склады"; + + Результат = Запрос.Выполнить(); + ВыборкаДетальныеЗаписи = Результат.Выбрать(); + + Пока ВыборкаДетальныеЗаписи.Следующий() Цикл + + Структура = Новый Структура("Значение", ВыборкаДетальныеЗаписи.Ссылка); + + //Заполним предупреждение + Если ВыборкаДетальныеЗаписи.НеИспользовать Тогда + Структура.Вставить("Предупреждение", НСтр("ru = 'Этот склад не должен использоваться!'", "ru")); + КонецЕсли; + + Элемент = ДанныеВыбора.Добавить(); + Элемент.Значение = Структура; + Элемент.Представление = ВыборкаДетальныеЗаписи.Наименование; + + КонецЦикла; + + Иначе + + //Исключим неиспользуемые из ввода по строке + Параметры.Отбор.Вставить("НеИспользовать", Ложь); + + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/\320\241\320\272\320\273\320\260\320\264\321\213.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/\320\241\320\272\320\273\320\260\320\264\321\213.mdo" new file mode 100644 index 000000000..e033b6e43 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\241\320\272\320\273\320\260\320\264\321\213/\320\241\320\272\320\273\320\260\320\264\321\213.mdo" @@ -0,0 +1,160 @@ + + + + + + + + + + Склады + + ru + Склады + + + true + Catalog.Склады.StandardAttribute.Description + Catalog.Склады.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + DontUse + true + + + ru + + + Use + + ru + Склад + + + ru + Склады + + Use + 2 + true + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + true + BothWays + + НеИспользовать + + ru + Не использовать + + + + Boolean + + + + + + Use + Use + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\237\321\200\320\260\320\271\321\201\320\233\320\270\321\201\321\202\320\260/CommandModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\237\321\200\320\260\320\271\321\201\320\233\320\270\321\201\321\202\320\260/CommandModule.bsl" new file mode 100644 index 000000000..f96e8811a --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\237\321\200\320\260\320\271\321\201\320\233\320\270\321\201\321\202\320\260/CommandModule.bsl" @@ -0,0 +1,85 @@ +&НаСервере +Функция ПечатнаяФорма(ПараметрКоманды) + ТабличныйДокумент = Новый ТабличныйДокумент; + ТабличныйДокумент.ОтображатьСетку = Истина; + ТабличныйДокумент.ОтображатьЗаголовки = Истина; + + Сформирован = Ложь; + ТабМакет = Справочники.Товары.ПолучитьМакет("МакетПрайсЛиста"); + + Шапка = ТабМакет.ПолучитьОбласть("Шапка"); + ТабличныйДокумент.Вывести(Шапка); + + ОбластьНоменклатура = ТабМакет.ПолучитьОбласть("ОбластьНоменклатура"); + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | Товары.Код КАК Код, + | Товары.Наименование КАК Наименование, + | Товары.Артикул КАК Артикул, + | Товары.ФайлКартинки КАК Картинка, + | Товары.Описание КАК Описание, + | Товары.Вид КАК Вид, + | ЦеныТоваров.Цена КАК Цена + |ИЗ + | РегистрСведений.ЦеныТоваров КАК ЦеныТоваров + | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Товары КАК Товары + | ПО ЦеныТоваров.Товар = Товары.Ссылка + |ГДЕ + | Товары.ЭтоГруппа = ЛОЖЬ + | И ЦеныТоваров.ВидЦен = &ВидЦен + | + |УПОРЯДОЧИТЬ ПО + | Вид, + | Товары.Родитель.Код, + | Код"; + + Запрос.УстановитьПараметр("ВидЦен", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная")); + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + ОбластьНоменклатура.Параметры.Заполнить(Выборка); + + Описание = ""; + + Чтение = Новый ЧтениеHTML(); + Чтение.УстановитьСтроку(Выборка.Описание); + + ДокDOM = Новый ПостроительDOM(); + HTML = ДокDOM.Прочитать(Чтение); + + Если Не HTML.ЭлементДокумента = Неопределено Тогда + Для Каждого Узел из HTML.ЭлементДокумента.ДочерниеУзлы Цикл + Если Узел.ИмяУзла = "body" Тогда + Для Каждого ЭлементОписания из Узел.ДочерниеУзлы Цикл + Описание = Описание + ЭлементОписания.ТекстовоеСодержимое; + КонецЦикла; + КонецЕсли; + КонецЦикла; + КонецЕсли; + ОбластьНоменклатура.Параметры.Описание = Описание; + + Если (Выборка.Картинка <> Null) Тогда + ОбластьНоменклатура.Параметры.ПараметрКартинки = Новый Картинка(Выборка.Картинка.ДанныеФайла.Получить()); + КонецЕсли; + + ТабличныйДокумент.Вывести(ОбластьНоменклатура, Выборка.Уровень()); + Сформирован = Истина; + КонецЦикла; + + Если Сформирован Тогда + Возврат ТабличныйДокумент; + Иначе + Возврат Неопределено; + КонецЕсли; +КонецФункции + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ТабличныйДокумент = ПечатнаяФорма(ПараметрКоманды); + + Если ТабличныйДокумент <> Неопределено Тогда + ТабличныйДокумент.Показать(); + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\260/CommandModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\260/CommandModule.bsl" new file mode 100644 index 000000000..bc01d8718 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\260/CommandModule.bsl" @@ -0,0 +1,39 @@ + &НаСервере +Функция ПечатнаяФорма(ПараметрКоманды) + ТабличныйДокумент = Новый ТабличныйДокумент; + ТабличныйДокумент.ОтображатьСетку = Ложь; + ТабличныйДокумент.ОтображатьЗаголовки = Ложь; + + Сформирован = Ложь; + + Для каждого Ссылка Из ПараметрКоманды Цикл + Объект = Ссылка.ПолучитьОбъект(); + Если Объект.ЭтоГруппа ИЛИ ПустаяСтрока(Объект.ШтрихКод) Тогда + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Не задан штрихкод для '", "ru") + Строка(Объект); + Сообщение.Поле = "ШтрихКод"; + Сообщение.УстановитьДанные(Объект); + Сообщение.Сообщить(); + Продолжить; + КонецЕсли; + Объект.ПечатнаяФормаШтрихкода(ТабличныйДокумент); + Сформирован = Истина; + КонецЦикла; + + Если Сформирован Тогда + Возврат ТабличныйДокумент; + Иначе + Возврат Неопределено; + КонецЕсли; + +КонецФункции + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ТабличныйДокумент = ПечатнаяФорма(ПараметрКоманды); + + Если ТабличныйДокумент <> Неопределено Тогда + ТабличныйДокумент.Показать(); + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" new file mode 100644 index 000000000..33b4b7d96 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" @@ -0,0 +1,403 @@ + + + + Настройки + 11 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 12 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Наименование + 4 + + <key>ru</key> + <value>Наименование</value> + + true + true + + true + + + + Список.Description + + + true + + НаименованиеExtendedTooltip + 9 + true + true + + true + + Label + true + true + + Left + + + + Наименование_КонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Код + 6 + + <key>ru</key> + <value>Код</value> + + true + true + + true + + + + Список.Code + + + + КодExtendedTooltip + 10 + true + true + + true + + Label + true + true + + Left + + + + Код_КонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + Список_КоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 13 + + СписокСтрокаПоискаРасширеннаяПодсказка + 15 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 14 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 16 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 18 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 17 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 19 + + СписокУправлениеПоискомРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 20 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 8 + true + true + + true + + Label + true + true + + Left + + + + Список_КонтекстноеМеню + 2 + true + true + + true + + true + + HierarchicalList + true + true + true + true + 10 + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + true + + Список.DefaultPicture + + + Style.BorderColor + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + Настройки + +
+ + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Catalog.Товары + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..60cce9e2e --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,533 @@ + + + + Настройки + 20 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Наименование + 4 + true + true + + true + + + + Список.Description + + + true + + НаименованиеExtendedTooltip + 15 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Код + 6 + true + true + + true + + + + Список.Code + + + + КодExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Артикул + 8 + true + true + + true + + + + Список.Артикул + + + + АртикулExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + + АртикулКонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Поставщик + 10 + true + true + + true + + + + Список.Поставщик + + + + ПоставщикExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + + ПоставщикКонтекстноеМеню + 11 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Вид + 12 + true + true + + true + + + + Список.Вид + + + + ВидExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + + ВидКонтекстноеМеню + 13 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + + + true + true + + true + + СписокСтрокаПоиска + 22 + + СписокСтрокаПоискаРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 23 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 25 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 27 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 26 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 28 + + СписокУправлениеПоискомРасширеннаяПодсказка + 30 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 29 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 14 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + HierarchicalList + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + true + + Список.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Catalog.Товары + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Attributes/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Attributes/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..6309ace4a --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Attributes/\320\241\320\277\321\200\320\260\320\262\320\276\321\207\320\275\320\270\320\272\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,47 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + + + + + Количество + Less + 0 + + + + + ЦветТекста + web:Red + + + + + + + + Вид + Equal + Перечисление.ВидыТоваров.Услуга + + + + + ЦветТекста + web:Blue + + + + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Form.form" new file mode 100644 index 000000000..d8e0d33c6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Form.form" @@ -0,0 +1,563 @@ + + + + Настройки + 25 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 26 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 3 + true + true + + true + + + СправочникСписок + + false + None + + Наименование + 5 + true + true + + true + + + + СправочникСписок.Description + + + + НаименованиеExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 13 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + true + true + + + + Код + 4 + true + true + + true + + + + СправочникСписок.Code + + + + КодExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 12 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + true + true + + + + Артикул + 7 + true + true + + true + + + + СправочникСписок.Артикул + + + + АртикулExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + + АртикулКонтекстноеМеню + 14 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + true + true + + + + Количество + 8 + true + true + + true + + + + СправочникСписок.Количество + + + + КоличествоExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + + КоличествоКонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + true + true + + + + ВсеПоля + 17 + true + true + + + + СправочникСписок.Ref + + + + ВсеПоляExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + + ВсеПоляКонтекстноеМеню + 18 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 16 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 27 + + СписокСтрокаПоискаРасширеннаяПодсказка + 29 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 28 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 30 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 32 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 31 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 33 + + СписокУправлениеПоискомРасширеннаяПодсказка + 35 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 34 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 9 + true + true + + true + + true + + HierarchicalList + true + true + 40 + true + true + 15 + true + true +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + true + + СправочникСписок.DefaultPicture + + + Style.BorderColor + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + СправочникСписок + 1 + + DynamicList + + + true + + + true + + + СправочникСписок.Вид + +
true
+ + ВЫБРАТЬ + Товары.Наименование, + Товары.Код, + Товары.Артикул, + ТоварныеЗапасыОстатки.КоличествоОстаток КАК Количество, + Товары.Вид, + Товары.Ссылка +ИЗ + Справочник.Товары КАК Товары + ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварныеЗапасы.Остатки(, (&ПоВсемСкладам ИЛИ Склад = &Склад) {(Товар) КАК Ссылка}) КАК ТоварныеЗапасыОстатки + ПО (ТоварныеЗапасыОстатки.Товар = Товары.Ссылка) +ГДЕ + ((НЕ ТоварныеЗапасыОстатки.КоличествоОстаток ЕСТЬ NULL ) + И ТоварныеЗапасыОстатки.КоличествоОстаток <> 0 + ИЛИ Товары.ЭтоГруппа + ИЛИ Товары.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Услуга)) +{ГДЕ + ТоварныеЗапасыОстатки.Склад.*} + Catalog.Товары + true + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Help/ru.html" new file mode 100644 index 000000000..0336e4eff --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Help/ru.html" @@ -0,0 +1 @@ +Здесь вы можете проследить остатки товаров на складе. Товар будет отсортирован по коду, наименованию, артикулу.  \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Module.bsl" new file mode 100644 index 000000000..763299514 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\241\320\236\321\201\321\202\320\260\321\202\320\272\320\260\320\274\320\270/Module.bsl" @@ -0,0 +1,29 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если ПолучитьФункциональнуюОпцию("УчетПоСкладам") Тогда + + // Установка параметра Склад динамического списка. + Если Параметры.Свойство("ОстаткиПоСкладу") Тогда + + СправочникСписок.Параметры.УстановитьЗначениеПараметра("ПоВсемСкладам", Ложь); + СправочникСписок.Параметры.УстановитьЗначениеПараметра("Склад", Параметры.ОстаткиПоСкладу); + + Иначе + + Отказ = Истина; + + КонецЕсли + + Иначе + + СправочникСписок.Параметры.УстановитьЗначениеПараметра("ПоВсемСкладам", Истина); + СправочникСписок.Параметры.УстановитьЗначениеПараметра("Склад", Справочники.Склады.ПустаяСсылка()); + + КонецЕсли + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..8cc160b64 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,1451 @@ + + + + Родитель + 4 + true + true + + true + + + + Объект.Parent + + + + РодительExtendedTooltip + 27 + true + true + + true + + Label + true + true + + Left + + + + РодительКонтекстноеМеню + 12 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Код + 2 + true + true + + true + + + + Объект.Code + + + + КодExtendedTooltip + 28 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 13 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Наименование + 3 + true + true + + true + + + + Объект.Description + + + true + + НаименованиеExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 14 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Вид + 10 + true + true + + true + + + + Объект.Вид + + + Left + + OnChange + ВидПриИзменении + + + ВидExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + ВидКонтекстноеМеню + 15 + true + true + + true + + true + + RadioButtonField + Enter + true + Left + true + Left + + + + Enum.ВидыТоваров.EnumValue.Товар + + + + + Enum.ВидыТоваров.EnumValue.Услуга + + + + + + Артикул + 5 + true + true + + true + + + + Объект.Артикул + + + + АртикулExtendedTooltip + 31 + true + true + + true + + Label + true + true + + Left + + + + АртикулКонтекстноеМеню + 16 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Поставщик + 6 + true + true + + true + + + + Объект.Поставщик + + + + ПоставщикExtendedTooltip + 32 + true + true + + true + + Label + true + true + + Left + + + + ПоставщикКонтекстноеМеню + 17 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + ШтрихКод + 11 + true + true + + true + + + + Объект.Штрихкод + + + + ШтрихКодExtendedTooltip + 33 + true + true + + true + + Label + true + true + + Left + + + + ШтрихКодКонтекстноеМеню + 18 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Страницы + 21 + + ГруппаКартинки + 7 + + ГруппаКартинкиСКомандой + 63 + + ФайлКартинки + 8 + true + true + + true + + + + Объект.ФайлКартинки + + + + OnChange + ФайлКартинкиПриИзменении + + + ФайлКартинкиExtendedTooltip + 36 + true + true + + true + + Label + true + true + + Left + + + + ФайлКартинкиКонтекстноеМеню + 19 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + + StartChoice + ФайлКартинкиНачалоВыбора + + true + true + false + ShowInInputField + true + true + true + true + + Владелец + + Объект.Ref + + + + Style.BorderColor + + + + + ОбновитьКартинку + 26 + true + true + + true + + + ОбновитьКартинкуExtendedTooltip + 38 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ОбновитьКартинку + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Группа картинки с командой</value> + + + ru + Группа картинки с командой + + + ГруппаКартинкиСКомандойРасширеннаяПодсказка + 64 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + Картинка + 9 + true + true + + true + + + + АдресКартинки + + + None + + КартинкаExtendedTooltip + 37 + true + true + + true + + Label + true + true + + Left + + + + КартинкаКонтекстноеМеню + 20 + true + true + + true + + true + + PictureField + Enter + true + Left + true + Left + + 10 + true + 10 + true + true + true + AutoSize + + + true + true + + true + + + <key>ru</key> + <value>Изображение</value> + + + ГруппаКартинкиExtendedTooltip + 35 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + ГруппаХарактеристики + 22 + + КомандыХарактеристик + 25 + + ДобавитьХарактеристику + 23 + true + true + + true + + false + + ДобавитьХарактеристикуExtendedTooltip + 41 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ДобавитьХарактеристику + Auto + true + true + UserCmds + + + УдалитьХарактеристику + 24 + true + true + + true + + false + + УдалитьХарактеристикуExtendedTooltip + 42 + true + true + + true + + Label + true + true + + Left + + + Form.Command.УдалитьХарактеристику + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Команды характеристик</value> + + + ru + Команды характеристик + + + КомандыХарактеристикExtendedTooltip + 40 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + + + true + true + + true + + + <key>ru</key> + <value>Характеристики</value> + + + ru + Группа характеристики + + + ГруппаХарактеристикиExtendedTooltip + 39 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + ГруппаОписание + 43 + + ГруппаРедактированияОписания + 50 + + ГруппаПросмотр + 52 + + РедактироватьОписание + 48 + + <key>ru</key> + <value>Редактировать</value> + + true + true + + true + + + РедактироватьОписаниеРасширеннаяПодсказка + 49 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.РедактироватьОписание + Auto + true + true + UserCmds + + + Описание + 45 + true + true + + true + + + + Объект.Описание + + + None + + ОписаниеРасширеннаяПодсказка + 47 + true + true + + true + + Label + true + true + + Left + + + + ОписаниеКонтекстноеМеню + 46 + true + true + + true + + true + + HTMLDocumentField + Enter + true + Left + true + + 50 + true + 10 + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа просмотр</value> + + + ru + Группа просмотр + + + ГруппаПросмотрРасширеннаяПодсказка + 53 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + ГруппаРедактирование + 54 + + ЗакончитьРедактирование + 56 + true + true + + true + + + ЗакончитьРедактированиеРасширеннаяПодсказка + 57 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ЗакончитьРедактирование + Auto + true + true + UserCmds + + + КоманднаяПанельФД + 61 + true + true + + true + + + <key>ru</key> + <value>Командная панель ФД</value> + + + ru + Командная панель ФД + + + КоманднаяПанельФДРасширеннаяПодсказка + 62 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + Item.РедактируемоеОписание + + + + РедактируемоеОписание + 58 + true + true + + true + + + + РедактируемоеОписание + + + None + + РедактируемоеОписаниеРасширеннаяПодсказка + 60 + true + true + + true + + Label + true + true + + Left + + + + РедактируемоеОписаниеКонтекстноеМеню + 59 + true + true + + true + + true + + FormattedDocumentField + Enter + true + Left + true + + 50 + true + 10 + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа редактирование</value> + + + ru + Группа редактирование + + + ГруппаРедактированиеРасширеннаяПодсказка + 55 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + <key>ru</key> + <value>Группа редактирования описания</value> + + + ru + Группа редактирования описания + + + ГруппаРедактированияОписанияРасширеннаяПодсказка + 51 + true + true + + true + + Label + true + true + + Left + + + Pages + + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Описание</value> + + + ru + Группа описание + + + ГруппаОписаниеРасширеннаяПодсказка + 44 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + <key>ru</key> + <value>Страницы</value> + + + ru + Страницы + + + СтраницыExtendedTooltip + 34 + true + true + + true + + Label + true + true + + Left + + + Pages + + TabsOnTop + DontUse + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + 60 + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.Товары + + + true + + + true + +
true
+ true +
+ + АдресКартинки + + <key>ru</key> + <value>Адрес картинки</value> + + 2 + + String + + + + true + + + true + + + + ОписаниеХарактеристик + + <key>ru</key> + <value>Описание характеристик</value> + + 3 + + ValueTable + + + true + + + true + + + ВидХарактеристики + + <key>ru</key> + <value>Вид характеристики</value> + + 1 + + ChartOfCharacteristicTypesRef.ВидыХарактеристик + + + true + + + true + + + + ИмяРеквизита + + <key>ru</key> + <value>Имя реквизита</value> + + 2 + + String + + + + true + + + true + + + + + РедактируемоеОписание + + <key>ru</key> + <value>Редактируемое описание</value> + + 4 + + FormattedDocument + + + true + + + true + + true + + + КартинкиОписания + + <key>ru</key> + <value>Картинки описания</value> + + 5 + + ValueList + + + true + + + true + + + КартинкиОписания.Check + + + КартинкиОписания.Picture + + + КартинкиОписания.ValueType + + + + + + + КартинкиИзменены + + <key>ru</key> + <value>Картинки изменены</value> + + 6 + + Boolean + + + true + + + true + + + + ДобавитьХарактеристику + + <key>ru</key> + <value>Добавить характеристику</value> + + 1 + + ru + Добавить характеристику + + + true + + + + ДобавитьХарактеристику + + + true + DontUse + + + УдалитьХарактеристику + + <key>ru</key> + <value>Удалить характеристику</value> + + 2 + + ru + Удалить характеристику + + + true + + + + УдалитьХарактеристику + + + true + DontUse + + + ОбновитьКартинку + + <key>ru</key> + <value>Обновить картинку</value> + + 3 + + ru + Обновить картинку + + + true + + + + ОбновитьКартинку + + + DontUse + + + РедактироватьОписание + + <key>ru</key> + <value>Редактировать описание</value> + + 4 + + ru + Редактировать описание + + + true + + + + РедактироватьОписание + + + DontUse + + + ЗакончитьРедактирование + + <key>ru</key> + <value>Закончить редактирование</value> + + 5 + + ru + Закончить редактирование + + + true + + + + ЗакончитьРедактирование + + + DontUse + + + + + InformationRegister.Характеристики.StandardCommand.OpenByValue.Объект + + + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + + + BeforeWriteAtServer + ПередЗаписьюНаСервере + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..05ae7174f --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,485 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + + + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + // Установка значения реквизита АдресКартинки. + ФайлКартинки = Объект.ФайлКартинки; + Если НЕ ФайлКартинки.Пустая() Тогда + АдресКартинки = ПолучитьНавигационнуюСсылку(ФайлКартинки, "ДанныеФайла") + Конецесли; + + ЗаполнитьХарактеристики(); + + ОпределитьДоступнность(ЭтотОбъект); +КонецПроцедуры + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + ЗаписатьХарактеристики(); + Установлен = Ложь; + Если ПараметрыЗаписи.Свойство("Уведомление", Установлен) И Установлен Тогда + Уведомление = Новый ДоставляемоеУведомление(); + Уведомление.Текст = НСтр("ru = 'Добавлен новый товар'", "ru"); + Уведомление.Данные = "1"; + Проблемы = Новый Массив; + УведомленияСервер.ОтправитьУведомление(Уведомление, Неопределено, Проблемы); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + КартинкиИзменены = Ложь; + КартинкиОписания.Очистить(); + Если Элементы.ГруппаРедактированияОписания.ТекущаяСтраница = Элементы.ГруппаРедактирование Тогда + РедактироватьОписаниеСервер(); + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура УдалитьКартинкиОписания() + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Ссылка + |ИЗ + | Справочник.ХранимыеФайлы + |ГДЕ + | Владелец = &Владелец + | И ДляОписания = ИСТИНА"; + + Запрос.УстановитьПараметр("Владелец", Объект.Ссылка); + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + ФайлОбъект = Выборка.Ссылка.ПолучитьОбъект(); + Если ФайлОбъект <> Неопределено Тогда + ФайлОбъект.Удалить(); + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + + Перем ТекстHTML; + Перем Вложения; + + Если Элементы.ГруппаРедактированияОписания.ТекущаяСтраница = Элементы.ГруппаРедактирование Тогда + + РедактируемоеОписание.ПолучитьHTML(ТекстHTML,Вложения); + СоответствиеАдресов = Новый Соответствие(); + + УдалитьКартинкиОписания(); + Для Каждого Вложение Из Вложения цикл + + ХранимыйФайл = Справочники.ХранимыеФайлы.СоздатьЭлемент(); + ХранимыйФайл.Владелец = ТекущийОбъект.Ссылка; + ХранимыйФайл.Наименование = Вложение.Ключ; + ХранимыйФайл.ИмяФайла = Вложение.Ключ; + ХранимыйФайл.ДляОписания = Истина; + ДвоичныеДанные = Вложение.Значение.ПолучитьДвоичныеДанные(); + ХранимыйФайл.ДанныеФайла = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных()); + ХранимыйФайл.Записать(); + Адрес = ПолучитьНавигационнуюСсылку(ХранимыйФайл.Ссылка, "ДанныеФайла"); + СоответствиеАдресов.Вставить(Вложение.Ключ, Адрес); + КонецЦикла; + + ПреобразоватьHTML(ТекстHTML, СоответствиеАдресов); + + ТекущийОбъект.Описание = ТекстHTML; + + ИначеЕсли КартинкиИзменены Тогда + + ТекстHTML = ТекущийОбъект.Описание; + + УдалитьКартинкиОписания(); + Для каждого Картинка из КартинкиОписания Цикл + ХранимыйФайл = Справочники.ХранимыеФайлы.СоздатьЭлемент(); + ХранимыйФайл.Владелец = ТекущийОбъект.Ссылка; + ХранимыйФайл.Наименование = Картинка.Представление; + ХранимыйФайл.ИмяФайла = Картинка.Представление; + ХранимыйФайл.ДляОписания = Истина; + ДвоичныеДанные = ПолучитьИзВременногоХранилища(Картинка.Значение); + ХранимыйФайл.ДанныеФайла = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных()); + ХранимыйФайл.Записать(); + УдалитьИзВременногоХранилища(Картинка.Значение); + Адрес = ПолучитьНавигационнуюСсылку(ХранимыйФайл.Ссылка, "ДанныеФайла"); + ТекстHTML = СтрЗаменить(ТекстHTML, Картинка.Значение, Адрес); + КонецЦикла; + + ТекущийОбъект.Описание = ТекстHTML; + КонецЕсли; + КартинкиИзменены = Ложь; + КартинкиОписания.Очистить(); + + Если ТекущийОбъект.ЭтоНовый() Тогда + ПараметрыЗаписи.Вставить("Уведомление", Истина); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ФайлКартинкиПриИзменении(Элемент) + + // Отслеживание изменения картинки и соответствующее обновление + // реквизита АдресКартинки. + ФайлКартинки = Объект.ФайлКартинки; + Если НЕ ФайлКартинки.Пустая() Тогда + АдресКартинки = ПолучитьНавигационнуюСсылку(ФайлКартинки, "ДанныеФайла") + Иначе + АдресКартинки = ""; + Конецесли; + +КонецПроцедуры + +&НаКлиенте +Процедура ВидПриИзменении(Элемент) + ОпределитьДоступнность(ЭтотОбъект); +КонецПроцедуры + +&НаКлиенте +Процедура ФайлКартинкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + Если Объект.Ссылка.Пустая() Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Данные не записаны'", "ru")); + СтандартнаяОбработка = Ложь; + Возврат; + КонецЕсли; + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// Процедуры и функции формы + +//Расстановка признака доступность элементов в зависимости от того, редактируется +//товар ИЛИ услуга +&НаКлиентеНаСервереБезКонтекста +Процедура ОпределитьДоступнность(Форма) + + ДоступностьРеквизитовТовара = Форма.Объект.Вид = ПредопределенноеЗначение("Перечисление.ВидыТоваров.Товар"); + Форма.Элементы.ШтрихКод.Доступность = ДоступностьРеквизитовТовара; + Форма.Элементы.Поставщик.Доступность = ДоступностьРеквизитовТовара; + Форма.Элементы.Артикул.Доступность = ДоступностьРеквизитовТовара; + +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьХарактеристику(Команда) + + //Выберем вид характеристики + Оповещение = Новый ОписаниеОповещения( + "ДобавитьХарактеристикуЗавершение", + ЭтотОбъект); + ОткрытьФорму("ПланВидовХарактеристик.ВидыХарактеристик.ФормаВыбора", + ,,,,, Оповещение, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьХарактеристикуЗавершение(ВидХарактеристики, Параметры) Экспорт + Если ВидХарактеристики = Неопределено Тогда + Возврат; + КонецЕсли; + + //Проверим наличие + Если ОписаниеХарактеристик.НайтиСтроки( + Новый Структура("ВидХарактеристики", ВидХарактеристики)).Количество() > 0 Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Характеристика уже существует!'", "ru")); + Возврат; + КонецЕсли; + + //Добавим вид характеристики на форму + ДобавитьХарактеристикуНаСервере(ВидХарактеристики); +КонецПроцедуры + +&НаКлиенте +Процедура УдалитьХарактеристику(Команда) + + //Выберем удаляемый вид + СписокВидов = Новый СписокЗначений; + Для каждого ОписаниеХарактеристики Из ОписаниеХарактеристик Цикл + + ЭлементСпискаВидов = СписокВидов.Добавить(); + ЭлементСпискаВидов.Значение = ОписаниеХарактеристики.ПолучитьИдентификатор(); + ЭлементСпискаВидов.Представление = Строка(ОписаниеХарактеристики.ВидХарактеристики); + + КонецЦикла; + Оповещение = Новый ОписаниеОповещения( + "УдалитьХарактеристикуЗавершение", ЭтотОбъект); + СписокВидов.ПоказатьВыборЭлемента(Оповещение, "Удалить характеристику:"); + +КонецПроцедуры + +&НаКлиенте +Процедура УдалитьХарактеристикуЗавершение(ВыбранныйЭлемент, Параметры) Экспорт + //Проверим выбор + Если ВыбранныйЭлемент = Неопределено Тогда + Возврат; + КонецЕсли; + + //Выполним удаление + УдалитьХарактеристикуНаСервере(ВыбранныйЭлемент.Значение); +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьХарактеристики() + + //Добавление реквизитов + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | ВидыХарактеристик.Ссылка, + | ВидыХарактеристик.Код, + | ВидыХарактеристик.Наименование, + | ВидыХарактеристик.ТипЗначения, + | Характеристики.Объект, + | Характеристики.ВидХарактеристики, + | Характеристики.Значение + |ИЗ + | ПланВидовХарактеристик.ВидыХарактеристик КАК ВидыХарактеристик + | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Характеристики КАК Характеристики + | ПО (Характеристики.ВидХарактеристики = ВидыХарактеристик.Ссылка) + |ГДЕ + | Характеристики.Объект = &Объект + |АВТОУПОРЯДОЧИВАНИЕ"; + Запрос.УстановитьПараметр("Объект", Объект.Ссылка); + Результат = Запрос.Выполнить(); + ВыборкаДетальныеЗаписи = Результат.Выбрать(); + ДобавляемыеРеквизиты = Новый Массив(); + Пока ВыборкаДетальныеЗаписи.Следующий() Цикл + + Реквизит = Новый РеквизитФормы( + "Характеристика" + ВыборкаДетальныеЗаписи.Код, + ВыборкаДетальныеЗаписи.ТипЗначения); + Реквизит.СохраняемыеДанные = Истина; + ДобавляемыеРеквизиты.Добавить(Реквизит); + + КонецЦикла; + ИзменитьРеквизиты(ДобавляемыеРеквизиты); + + //Добавление элементов, заполнение данных, добавление описания характеристики + ВыборкаДетальныеЗаписи = Результат.Выбрать(); + Пока ВыборкаДетальныеЗаписи.Следующий() Цикл + Элемент =Элементы.Добавить( + "Характеристика" + ВыборкаДетальныеЗаписи.Код, + Тип("ПолеФормы"), Элементы.ГруппаХарактеристики); + Элемент.Вид = ВидПоляФормы.ПолеВвода; + Элемент.Заголовок = ВыборкаДетальныеЗаписи.Наименование; + Элемент.ПутьКДанным = "Характеристика" + ВыборкаДетальныеЗаписи.Код; + + МассивПараметровВыбора = Новый Массив(); + МассивПараметровВыбора.Добавить(Новый ПараметрВыбора("Отбор.Владелец", ВыборкаДетальныеЗаписи.Ссылка)); + Элемент.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметровВыбора); + + ОписаниеХарактеристики = ОписаниеХарактеристик.Добавить(); + ОписаниеХарактеристики.ВидХарактеристики = ВыборкаДетальныеЗаписи.Ссылка; + ОписаниеХарактеристики.ИмяРеквизита = "Характеристика" + ВыборкаДетальныеЗаписи.Код; + + ЭтотОбъект["Характеристика" + ВыборкаДетальныеЗаписи.Код] = ВыборкаДетальныеЗаписи.Значение; + + + КонецЦикла; + +КонецПроцедуры + +&НаСервере +Процедура ДобавитьХарактеристикуНаСервере(ВидХарактеристики) + + //Добавление реквизита + ДобавляемыеРеквизиты = Новый Массив(); + Реквизит = Новый РеквизитФормы("Характеристика" + ВидХарактеристики.Код, + ВидХарактеристики.ТипЗначения); + Реквизит.СохраняемыеДанные = Истина; + ДобавляемыеРеквизиты.Добавить(Реквизит); + ИзменитьРеквизиты(ДобавляемыеРеквизиты); + + //Добавление элемента, заполнение данных + Элемент =Элементы.Добавить( + "Характеристика" + ВидХарактеристики.Код, + Тип("ПолеФормы"), Элементы.ГруппаХарактеристики); + Элемент.Вид = ВидПоляФормы.ПолеВвода; + Элемент.Заголовок = ВидХарактеристики.Наименование; + Элемент.ПутьКДанным = "Характеристика" + ВидХарактеристики.Код; + + МассивПараметровВыбора = Новый Массив(); + МассивПараметровВыбора.Добавить(Новый ПараметрВыбора("Отбор.Владелец", ВидХарактеристики)); + Элемент.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметровВыбора); + + //Добавление описания характеристики + ОписаниеХарактеристики = ОписаниеХарактеристик.Добавить(); + ОписаниеХарактеристики.ВидХарактеристики = ВидХарактеристики; + ОписаниеХарактеристики.ИмяРеквизита = "Характеристика" + ВидХарактеристики.Код; + + //Новый элемент установим текущим + ТекущийЭлемент = Элемент; + +КонецПроцедуры + +&НаСервере +Процедура УдалитьХарактеристикуНаСервере(Идентификатор) + + ОписаниеХарактеристики = ОписаниеХарактеристик.НайтиПоИдентификатору(Идентификатор); + ИмяРеквизита = ОписаниеХарактеристики.ИмяРеквизита; + + //Удаление описания + ОписаниеХарактеристик.Удалить(ОписаниеХарактеристики); + + //Удаление элемента + Элементы.Удалить(Элементы.Найти(ИмяРеквизита)); + + //Удаление реквизита + УдаляемыеРеквизиты = Новый Массив(); + УдаляемыеРеквизиты.Добавить(ИмяРеквизита); + ИзменитьРеквизиты(, УдаляемыеРеквизиты); + + +КонецПроцедуры + +&НаСервере +Процедура ЗаписатьХарактеристики() + + //Сформируем набор записей с новыми значениями характеристик + НаборЗаписей = РегистрыСведений.Характеристики.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Объект.Установить(Объект.Ссылка); + Для каждого ОписаниеХарактеристики Из ОписаниеХарактеристик Цикл + + Запись = НаборЗаписей.Добавить(); + Запись.Объект = Объект.Ссылка; + Запись.ВидХарактеристики = ОписаниеХарактеристики.ВидХарактеристики; + Запись.Значение = ЭтотОбъект[ОписаниеХарактеристики.ИмяРеквизита]; + + КонецЦикла; + + //Запишем набор записей + НаборЗаписей.Записать(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьКартинку(Команда) + + Элементы.Картинка.Обновить(); + +КонецПроцедуры + +&НаСервере +Процедура РедактироватьОписаниеСервер() + + ТекстHTML = Объект.Описание; + Вложения = Новый Структура(); + + Если КартинкиИзменены Тогда + + Для каждого Картинка из КартинкиОписания Цикл + ТекстHTML = СтрЗаменить(ТекстHTML, Картинка.Значение, Картинка.Представление); + ДвоичныеДанные = ПолучитьИзВременногоХранилища(Картинка.Значение); + Вложения.Вставить(Картинка.Представление, Новый Картинка(ДвоичныеДанные)); + КонецЦикла; + + Иначе + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Ссылка, + | ДанныеФайла + |ИЗ + | Справочник.ХранимыеФайлы + |ГДЕ + | Владелец = &Владелец + | И ДляОписания = ИСТИНА"; + + Запрос.УстановитьПараметр("Владелец", Объект.Ссылка); + Выборка = Запрос.Выполнить().Выбрать(); + НомерКартинки = 1; + Пока Выборка.Следующий() Цикл + Адрес = ПолучитьНавигационнуюСсылку(Выборка.Ссылка, "ДанныеФайла"); + Имя = "img" + НомерКартинки; + НомерКартинки = НомерКартинки + 1; + ТекстHTML = СтрЗаменить(ТекстHTML, Адрес, Имя); + Вложения.Вставить(Имя, Новый Картинка(Выборка.ДанныеФайла.Получить())); + КонецЦикла; + + КонецЕсли; + + РедактируемоеОписание.УстановитьHTML(ТекстHTML,Вложения); + +КонецПроцедуры + +&НаКлиенте +Процедура РедактироватьОписание(Команда) + РедактироватьОписаниеСервер(); + Элементы.ГруппаРедактированияОписания.ТекущаяСтраница = Элементы.ГруппаРедактирование; +КонецПроцедуры + +&НаСервере +Процедура ПреобразоватьHTML(ТекстHTML, СоответствиеАдресов) + + ЧтениеHTML = Новый ЧтениеHTML; + ЧтениеHTML.УстановитьСтроку(ТекстHTML); + + ПостроительDOM = Новый ПостроительDOM; + ДокументHTML = ПостроительDOM.Прочитать(ЧтениеHTML); + + // На мобильных устройствах описание должно отображаться реальным размером, без сжатия. + Элемент = ДокументHTML.СоздатьЭлемент("meta"); + Элемент.УстановитьАтрибут("name", "viewport"); + Элемент.УстановитьАтрибут("content", "initial-scale=1.0, width=device-width"); + ЭлементыHead = ДокументHTML.ПолучитьЭлементыПоИмени("head"); + Head = ЭлементыHead.Элемент(0); + Head.ВставитьПеред(Элемент,Head.ПервыйДочерний); + + // Преобразование адресов картинок + ЭлементыImg = ДокументHTML.ПолучитьЭлементыПоИмени("img"); + Для Каждого Img Из ЭлементыImg Цикл + НовыйАдрес = СоответствиеАдресов.Получить(Img.Источник); + Если НовыйАдрес <> Неопределено Тогда + Img.Источник = НовыйАдрес; + КонецЕсли; + КонецЦикла; + + ЗаписьHTML = Новый ЗаписьHTML; + ЗаписьHTML.УстановитьСтроку(); + + ЗаписьDOM = Новый ЗаписьDOM; + ЗаписьDOM.Записать(ДокументHTML,ЗаписьHTML); + + ТекстHTML = ЗаписьHTML.Закрыть(); + +КонецПроцедуры + +&НаСервере +Процедура ЗакончитьРедактированиеСервер() + Перем ТекстHTML; + Перем Вложения; + КартинкиИзменены = Истина; + КартинкиОписания.Очистить(); + РедактируемоеОписание.ПолучитьHTML(ТекстHTML,Вложения); + СоответствиеАдресов = Новый Соответствие(); + + Для Каждого Вложение Из Вложения цикл + Адрес = ПоместитьВоВременноеХранилище(Вложение.Значение.ПолучитьДвоичныеДанные(), УникальныйИдентификатор); + КартинкиОписания.Добавить(Адрес,Вложение.Ключ); + СоответствиеАдресов.Вставить(Вложение.Ключ, Адрес); + КонецЦикла; + + ПреобразоватьHTML(ТекстHTML, СоответствиеАдресов); + + Объект.Описание = ТекстHTML; +КонецПроцедуры + +&НаКлиенте +Процедура ЗакончитьРедактирование(Команда) + ЗакончитьРедактированиеСервер(); + Элементы.ГруппаРедактированияОписания.ТекущаяСтраница = Элементы.ГруппаПросмотр; +КонецПроцедуры + + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Help/ru.html" new file mode 100644 index 000000000..ab63cdfd1 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Help/ru.html" @@ -0,0 +1,2 @@ + +

В этом справочнике хранится информация о товарах, которыми торгует предприятие.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/ObjectModule.bsl" new file mode 100644 index 000000000..3925f823f --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/ObjectModule.bsl" @@ -0,0 +1,149 @@ +// Формирование изображения штрихкода для указанного объекта +// +// Параметры: +// Нет +// +// Возвращаемое значение: +// Картинка - Картинка со сформированным штрихкодом ИЛИ НЕОПРЕДЕЛЕНО +Функция ПолучитьКартинкуШтрихкода() + + // В зависимости от типа платформы подключим соответствующую внешнюю компоненту + ИнформацияОСистеме = Новый СистемнаяИнформация; + Если ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда + + ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); + + ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда + + ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовWindows64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); + + ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда + + ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux32", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); + + Иначе + + ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаПечатиШтрихкодовLinux64", "КартинкаШтрихкода", ТипВнешнейКомпоненты.Native); + + КонецЕсли; + + // Создадим объект внешней компоненты + Компонент = Новый("AddIn.КартинкаШтрихкода.Barcode"); + + // Если нет возможности рисовать + Если НЕ Компонент.ГрафикаУстановлена Тогда + + // То картинку сформировать не сможем + Возврат Неопределено; + + КонецЕсли; + + // Если в системе установлен шрифт Tahoma + Если Компонент.НайтиШрифт("Tahoma") = Истина Тогда + + // Выбираем его как шрифт для формирования картинки + Компонент.Шрифт = "Tahoma"; + + Иначе + + // Шрифт Tahoma в системе отсутствует + + // Обойдем все доступные компоненте шрифты + Для Сч = 0 По Компонент.КоличествоШрифтов -1 Цикл + + // Получим очередной шрифт, доступный компоненте + ТекущийШрифт = Компонент.ШрифтПоИндексу(Сч); + + // Если шрифт доступен + Если ТекущийШрифт <> Неопределено Тогда + + // Они и будет шрифтом для формирования штрихкода + Компонент.Шрифт = ТекущийШрифт; + Прервать; + + КонецЕсли; + + КонецЦикла; + + КонецЕсли; + + // Установим размер шрифта + Компонент.РазмерШрифта = 12; + + // Зададим размер картинки + Компонент.Ширина = 100; + Компонент.Высота = 90; + + // Разрешим компоненте самой определять тип кода + Компонент.АвтоТип = Истина; + // ИЛИ установим код EAN-13 + // Компонент.ТипКода = 1; + // + // Тип смотрим в документации на внешнюю компоненту + + // Если код содержит контрольный символ, обязательно указываем + Компонент.СодержитКС = СтрДлина(ЭтотОбъект.Штрихкод) = 13; + + // Если отображать контрольный символ не нужно + // Компонент.ВидимостьКС = Ложь; + + // Формируем картинку штрихкода + Компонент.ЗначениеКода = ЭтотОбъект.Штрихкод; + + // Если установленная нами ширина меньше минимально допустимой для этого штрихкода + Если Компонент.Ширина < Компонент.МинимальнаяШиринаКода Тогда + + // Скорректируем ширину + Компонент.Ширина = Компонент.МинимальнаяШиринаКода + 10; + + КонецЕсли; + + // Сформируем картинку + ДвоичныеДанныеКартинки = Компонент.ПолучитьШтрихкод(); + + // Если картинка сформировалась + Если НЕ ДвоичныеДанныеКартинки = Неопределено Тогда + + // Формируем из двоичных данных + Возврат Новый Картинка(ДвоичныеДанныеКартинки); + + КонецЕсли; + + Возврат Неопределено; + +КонецФункции + +// Формирование печатной формы штрихкода +// +// Параметры: +// ТабличныйДокумент - табличный документ, куда будет выводится штрихкод +// +// Возвращаемое значение: +// ТабличныйДокумент +Функция ПечатнаяФормаШтрихкода(ТабличныйДокумент) Экспорт + + // Получим макет для штрих-кода + Макет = Справочники.Товары.ПолучитьМакет("МакетПечатиШтрихкода"); + + // Заполним параметры объекта + Шапка = Макет.ПолучитьОбласть("Шапка"); + Шапка.Параметры.Заполнить(ЭтотОбъект); + + // Сформируем картинку штрихкода + КартинкаШтрихкода = ПолучитьКартинкуШтрихкода(); + + // Если смогли её сформировать + Если НЕ КартинкаШтрихкода = Неопределено Тогда + + // Выведем её в табличный документ + Рисунок = Шапка.Область("Картинка"); + Рисунок.Картинка = КартинкаШтрихкода; + + КонецЕсли; + + // Выведем сформированный результат в результирующий табличный документ + ТабличныйДокумент.Вывести(Шапка); + + Возврат ТабличныйДокумент; + +КонецФункции diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\260/Template.mxlx" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\260/Template.mxlx" new file mode 100644 index 000000000..ccdd9826c --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\260/Template.mxlx" @@ -0,0 +1,232 @@ + + + + ru + ru + + ru + Русский + Русский + + + + 5 + + 1 + + 1 + + + + 2 + + 1 + + + + 3 + + 2 + + + + 4 + + 1 + + + + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + 5 + + 1 + + 3 + + + + 2 + + 4 + + + + + 2 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 5 + + + ru + Товар: + + + + + + + 6 + Наименование + + + + + + 3 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + + + 0 + + + + + + 4 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + + + 0 + + + + + + 5 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + + + 0 + + + + + + 6 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + + + 0 + + + + + + 7 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + + + 0 + + + + + + Picture + 2 + 7 + 3 + 27 + 7 + 39 + 1 + 39 + 2 + 222 + false + Stretch + 0 + 1 + + true + 8 + 10 + 10 + + Картинка + 2 + + + Шапка + + Rows + 1 + 7 + -1 + -1 + + + + None + + + + 80 + + + 120 + + + 83 + + + 96 + + + 0 + + + 0 + Parameter + + + 0 + + + 72 + + + 0 + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\321\200\320\260\320\271\321\201\320\233\320\270\321\201\321\202\320\260/Template.mxlx" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\321\200\320\260\320\271\321\201\320\233\320\270\321\201\321\202\320\260/Template.mxlx" new file mode 100644 index 000000000..a14bf49dd --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\321\200\320\260\320\271\321\201\320\233\320\270\321\201\321\202\320\260/Template.mxlx" @@ -0,0 +1,226 @@ + + + + ru + ru + + ru + Русский + Русский + + + + 6 + + 2 + + 1 + + + + 3 + + 2 + + + + 4 + + 3 + + + + 5 + + 4 + + + + + 0 + + 5 + + + 6 + + + ru + Код + + + + + + + 6 + + + ru + Арт. + + + + + + + 6 + + + ru + Картинка + + + + + + + 6 + + + ru + Наименование + + + + + + + 6 + + + ru + Описание + + + + + + + 6 + + + ru + Розничная цена, руб. + + + + + + + + 1 + + 7 + + + 8 + Код + + + + + 8 + Артикул + + + + + 9 + ПараметрКартинки + + + + + 8 + Наименование + + + + + 10 + Описание + + + + + 8 + Цена + + + + + + 2 + + true + + + true + 11 + 2 + 2 + + ОбластьНоменклатура + + Rows + 1 + 1 + -1 + -1 + + + + Шапка + + Rows + 0 + 0 + -1 + -1 + + + + + 86 + + + 190 + + + 423 + + + 181 + + + 0 + Center + Center + + + Center + Center + + + -240 + + + Center + Center + Parameter + + + Center + Center + + + Left + Top + Cut + Parameter + + + 72 + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/\320\242\320\276\320\262\320\260\321\200\321\213.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/\320\242\320\276\320\262\320\260\321\200\321\213.mdo" new file mode 100644 index 000000000..35e2cb4a5 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\242\320\276\320\262\320\260\321\200\321\213/\320\242\320\276\320\262\320\260\321\200\321\213.mdo" @@ -0,0 +1,394 @@ + + + + + + + + + + Товары + + ru + Товары + + + true + Catalog.Товары.StandardAttribute.Description + Catalog.Товары.StandardAttribute.Code + Catalog.Товары.Attribute.Артикул + AnyPart + Background + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + ru + Группа + + + + ru + Группа товаров + + true + + Catalog.Товары.EmptyRef + + Use + + + + + + Use + Description + + + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + + ChartOfCharacteristicTypes.ВидыХарактеристик + ChartOfCharacteristicTypes.ВидыХарактеристик.StandardAttribute.Ref + ChartOfCharacteristicTypes.ВидыХарактеристик.Attribute.Назначение + + Enum.НазначениеХарактеристик.EnumValue.Товары + + InformationRegister.Характеристики + InformationRegister.Характеристики.Dimension.Объект + InformationRegister.Характеристики.Dimension.ВидХарактеристики + InformationRegister.Характеристики.Resource.Значение + + Use + true + + + ru + + + Use + + ru + Товар + + + ru + Товары + + Use + true + 2 + true + 9 + 50 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.Товары.Form.ФормаЭлемента + Catalog.Товары.Form.ФормаСписка + Catalog.Товары.Form.ФормаВыбора + + Артикул + + ru + Артикул + + + + String + + 15 + + + + + + DontUse + Use + + + + Index + Use + Use + + + Поставщик + + ru + Поставщик + + + + CatalogRef.Контрагенты + + + + + + Catalog.Контрагенты.EmptyRef + + Use + Use + + + ФайлКартинки + + ru + Картинка + + + + CatalogRef.ХранимыеФайлы + + + + + + Отбор.Владелец + Catalog.Товары.StandardAttribute.Ref + + + Catalog.ХранимыеФайлы.EmptyRef + + Use + Use + + + Вид + + ru + Вид + + + + EnumRef.ВидыТоваров + + + + + + Enum.ВидыТоваров.EnumValue.Товар + + Use + Use + + + Штрихкод + + ru + Штрихкод + + + + String + + 20 + + + + + + DontUse + Use + + + + Index + Use + Use + + + Описание + + ru + Описание + + + + String + + + + + + + + + Use + Use + + + ФормаСпискаСОстатками + + ru + Форма списка с остатками + + + + + ru + + + PersonalComputer + MobileDevice + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + + ФормаВыбора + + ru + Форма выбора + + + PersonalComputer + MobileDevice + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + + МакетПечатиШтрихкода + + ru + Макет печати штрихкода + + + + + МакетПрайсЛиста + + ru + Макет прайс листа + + + + + ПечатьШтрихкода + + ru + Печать штрихкода + + + CommandGroup.Печать + + CatalogRef.Товары + + Multiple + Auto + + + + ПечатьПрайсЛиста + + ru + Печать прайс-листа + + + CommandGroup.Печать + + CatalogRef.Товары + + Multiple + Auto + + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\236\321\202\321\207\320\265\321\202/CommandModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\236\321\202\321\207\320\265\321\202/CommandModule.bsl" new file mode 100644 index 000000000..435eca522 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Commands/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\236\321\202\321\207\320\265\321\202/CommandModule.bsl" @@ -0,0 +1,33 @@ +&НаСервере +Процедура ПолучитьИмяОтчетаИКлючВарианта(ПараметрКоманды, ИмяОтчета, КлючВарианта) + + ОбъектНастройки = ПараметрКоманды.ПолучитьОбъект(); + КлючВарианта = ОбъектНастройки.Код; + ИмяОтчета = ОбъектНастройки.КлючОбъекта; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + Перем ИмяОтчета, КлючВарианта; + + Если НЕ ЗначениеЗаполнено(ПараметрКоманды) Тогда + Возврат; + КонецЕсли; + + ПолучитьИмяОтчетаИКлючВарианта(ПараметрКоманды, ИмяОтчета, КлючВарианта); + + Если НЕ ЗначениеЗаполнено(ИмяОтчета) Тогда + Возврат; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(КлючВарианта) Тогда + Возврат; + КонецЕсли; + + Форма = ПолучитьФорму(ИмяОтчета + ".Форма", , Новый УникальныйИдентификатор); + Форма.УстановитьТекущийВариант(КлючВарианта); + Форма.Открыть(); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..a76f61623 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,32 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + + НазваниеВарианта + Asc + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + + + + Отчет + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..1b35936e9 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,316 @@ + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + Copy + + НазваниеВарианта + 14 + + <key>ru</key> + <value>Название варианта</value> + + true + true + + true + + + + Список.НазваниеВарианта + + + + НазваниеВариантаExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + + НазваниеВарианта_КонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + Список_КоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 18 + + СписокСтрокаПоискаРасширеннаяПодсказка + 20 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 19 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 21 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 23 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 22 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 24 + + СписокУправлениеПоискомРасширеннаяПодсказка + 26 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 25 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + + Список_КонтекстноеМеню + 2 + true + true + + true + + true + + Tree + true + true + 40 + true + true + 10 + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + true + + Список.DefaultPicture + + + Style.BorderColor + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + +
+ + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + ВЫБРАТЬ + Ссылка, + ПометкаУдаления, + Предопределенный, + Код, + Наименование НазваниеВарианта, + КлючОбъекта Отчет, + Представление + ИЗ + Справочник.ХранилищеВариантовОтчетов + Catalog.ХранилищеВариантовОтчетов + true + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Help/ru.html" new file mode 100644 index 000000000..9cd07579b --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Help/ru.html" @@ -0,0 +1,2 @@ + +

В этом справочнике хранятся варианты настройки отчетов, которые используются для анализа сотрудниками предприятия.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..cad68724e --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" @@ -0,0 +1,215 @@ + + + + + + + + + + ХранилищеВариантовОтчетов + + ru + Варианты отчетов + + + true + Catalog.ХранилищеВариантовОтчетов.StandardAttribute.Description + Catalog.ХранилищеВариантовОтчетов.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Catalog.ХранилищеВариантовОтчетов.EmptyRef + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Catalog.ХранилищеВариантовОтчетов.EmptyRef + + Use + + + + + + Use + Description + + + + + ShowError + Use + + + + + + Use + Code + + + + + Use + + + + + Use + true + + + ru + + + Managed + + ru + Вариант отчета + + + ru + Варианты отчетов + + Use + 2 + true + 9 + 64 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.ХранилищеВариантовОтчетов.Form.ФормаСписка + + ВариантОтчета + + ru + Вариант отчета + + + + ValueStorage + + + + + + Use + + + КлючОбъекта + + ru + Ключ объекта + + + + String + + 255 + + + + + + DontUse + Use + + + + Index + Use + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + + ОткрытьОтчет + + ru + Открыть отчет + + + FormCommandBarImportant + + CatalogRef.ХранилищеВариантовОтчетов + + Auto + + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\320\262/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\320\262/Form.form" new file mode 100644 index 000000000..b42a44029 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\320\262/Form.form" @@ -0,0 +1,690 @@ + + + + ОсуществлениеВыбора + 13 + true + true + + true + + + ОсуществлениеВыбораExtendedTooltip + 14 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ОсуществлениеВыбора + Auto + true + true + UserCmds + + + ТаблицаДляВыбора + 1 + true + true + + true + + + ТаблицаДляВыбора + + None + + ТаблицаДляВыбораВыбран + 4 + true + true + + true + + + + ТаблицаДляВыбора.Выбран + + + None + + ТаблицаДляВыбораВыбранExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаДляВыбораВыбранКонтекстноеМеню + 5 + true + true + + true + + true + + CheckBoxField + EnterOnInput + true + Left + true + + + + ТаблицаДляВыбораСертификатПредставление + 6 + true + true + + true + + + + ТаблицаДляВыбора.СертификатПредставление + + + + ТаблицаДляВыбораСертификатПредставлениеExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаДляВыбораСертификатПредставлениеКонтекстноеМеню + 7 + true + true + + true + + true + + InputField + true + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + ТаблицаДляВыбораТипХранилища + 8 + true + true + + true + + + + ТаблицаДляВыбора.ТипХранилища + + + + ТаблицаДляВыбораТипХранилищаExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаДляВыбораТипХранилищаКонтекстноеМеню + 9 + true + true + + true + + true + + InputField + true + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + ТаблицаДляВыбораКоманднаяПанель + 3 + true + true + + true + + Left + + + Selection + ТаблицаДляВыбораВыбор + + + true + true + + true + + ТаблицаДляВыбораSearchString + 24 + + ТаблицаДляВыбораSearchStringExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаДляВыбораSearchStringContextMenu + 25 + true + true + + true + + true + + ТаблицаДляВыбораSearchString + + true + + + + true + true + + true + + ТаблицаДляВыбораViewStatus + 27 + + ТаблицаДляВыбораViewStatusExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаДляВыбораViewStatusContextMenu + 28 + true + true + + true + + true + + ViewStatusAddition + ТаблицаДляВыбораViewStatus + + true + Left + + + + true + true + + true + + ТаблицаДляВыбораSearchControl + 30 + + ТаблицаДляВыбораSearchControlExtendedTooltip + 32 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаДляВыбораSearchControlContextMenu + 31 + true + true + + true + + true + + SearchControlAddition + ТаблицаДляВыбораSearchControl + + true + + + + ТаблицаДляВыбораExtendedTooltip + 15 + true + true + + true + + Label + true + true + + Left + + + + ТаблицаДляВыбораКонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + true + None + None + None + SelectionPresentation + +
+ + КнопкиФормы + 10 + + КнопкаOK + 22 + + <key>ru</key> + <value>ОК</value> + + true + true + + true + + true + + КнопкаOKРасширеннаяПодсказка + 23 + true + true + + true + + Label + true + true + + Left + + + Form.Command.OK + Auto + true + true + UserCmds + + + Отмена + 12 + true + true + + true + + + ОтменаExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Cancel + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Кнопки формы</value> + + + ru + Кнопки формы + + + КнопкиФормыExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + + ФормаКоманднаяПанель + -1 + + ФормаПоказатьСписок + 33 + true + true + + true + + + ФормаПоказатьСписокРасширеннаяПодсказка + 34 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПоказатьСписок + Auto + true + true + UserCmds + + true + true + + true + + Left + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + LockWholeInterface + true + Vertical + true + true + true + true + true + + ВыбранныеСертификаты + + <key>ru</key> + <value>Выбранные сертификаты</value> + + 3 + + + true + + + true + + + + ТаблицаДляВыбора + + <key>ru</key> + <value>Таблица для выбора</value> + + 4 + + ValueTable + + + true + + + true + + + Выбран + 1 + + Boolean + + + true + + + true + + + + СертификатПредставление + + <key>ru</key> + <value>Сертификат</value> + + 2 + + String + + + + true + + + true + + + + ТипХранилища + + <key>ru</key> + <value>Хранилище сертификатов</value> + + 4 + + String + + + + true + + + true + + + + + ОсуществлениеВыбора + + <key>ru</key> + <value>Выбрать</value> + + 1 + + ru + Осуществление выбора + + + true + + + StdPicture.ChooseValue + + + + ОсуществлениеВыбораНажатие + + + TextPicture + DontUse + + + OK + + <key>ru</key> + <value>OK</value> + + 2 + + ru + OK + + + true + + + + OK + + + DontUse + + + ПоказатьСписок + + <key>ru</key> + <value>Показать список</value> + + 3 + + ru + Показать список + + + true + + + + ПоказатьСписок + + + DontUse + + + МножественныйВыбор + + Boolean + + true + + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\320\262/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\320\262/Module.bsl" new file mode 100644 index 000000000..59777bedb --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\241\320\277\320\270\321\201\320\276\320\272\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\320\262/Module.bsl" @@ -0,0 +1,203 @@ + +&НаКлиенте +Перем СоответствиеСертификатов; +&НаКлиенте +Перем ПараметрыВыбора; +&НаКлиенте +Перем ВыбраныйСертификат; + +//////////////////////////////////////////////////////////////////////////////// +// Общие процедуры и функции +// + +// определяет типы хранилищ сертификатов, сертификаты которых требуется поместить в список +// ПараметрыВыбора_Вход - список типов хранилищ сертификатов +&НаКлиенте +Процедура Установка(ПараметрыВыбора_Вход) Экспорт + ПараметрыВыбора = ПараметрыВыбора_Вход; +КонецПроцедуры + +// возвращает результаты выбора в форме +// - при множественном выборе - массив сертификатов +// - при единичном выборе - выбранный сертификат криптографии +&НаКлиенте +Функция ПолучитьРезультатВыбора() + Если Параметры.МножественныйВыбор Тогда + Вернуть = Новый Массив; + Для Каждого СтрокаТаблициЗначений Из ТаблицаДляВыбора Цикл + Если СтрокаТаблициЗначений.Выбран Тогда + Вернуть.Добавить(СоответствиеСертификатов[СтрокаТаблициЗначений]); + КонецЕсли; + КонецЦикла; + Возврат Вернуть; + Иначе + Возврат ВыбраныйСертификат; + КонецЕсли; +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + СоответствиеСертификатов = Новый Соответствие; + // Заполнение таблицы сертификатов + МенеджерКриптографии = Новый МенеджерКриптографии(); + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСертификатыПослеСозданияМенеджераКриптографии", + ЭтотОбъект); + МенеджерКриптографии.НачатьИнициализацию(Оповещение, "", "", 75); + +#Если НЕ МобильныйКлиент Тогда + Элементы.ФормаПоказатьСписок.Видимость = Ложь; +#Иначе + Элементы.ФормаПоказатьСписок.Видимость = Истина; +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСертификатыПослеСозданияМенеджераКриптографии(МенеджерКриптографии, Контекст) Экспорт + + // проверяем, что этим сертификатом файл еще не подписан + + Контекст = Новый Структура( + "МенеджерКриптографии, ХранилищеПолучено", + МенеджерКриптографии, Новый Массив()); + + ПолучитьСледующееХранилищеСертификатов(, Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСертификатыПослеЗакрытияСпискаСертификатов(Контекст) Экспорт + + ТаблицаДляВыбора.Очистить(); + ПолучитьСледующееХранилищеСертификатов(, Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСледующееХранилищеСертификатов(Хранилище, Контекст) Экспорт + + Если Хранилище <> Неопределено Тогда + + Контекст.ХранилищеПолучено.Добавить(Истина); + + Оповещение = Новый ОписаниеОповещения( + "ПослеПолученияСертификатовХранилища", + ЭтотОбъект, Контекст); + Хранилище.НачатьПолучениеВсех(Оповещение); + + КонецЕсли; + + Если Контекст.ХранилищеПолучено.Количество() = ПараметрыВыбора.Количество() Тогда + Возврат; + КонецЕсли; + + ТекущееХраналище = ПараметрыВыбора[Контекст.ХранилищеПолучено.Количество()]; + + Контекст2 = Новый Структура( + "МенеджерКриптографии, ХранилищеПолучено, Представление", + Контекст.МенеджерКриптографии, Контекст.ХранилищеПолучено, Строка(ТекущееХраналище)); + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСледующееХранилищеСертификатов", + ЭтотОбъект, Контекст2); + Контекст.МенеджерКриптографии.НачатьПолучениеХранилищаСертификатов( + Оповещение, ТекущееХраналище.Значение); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПолученияСертификатовХранилища(СертификатыХранилища, Контекст) Экспорт + ТекущаяДата = ТекущаяДата(); + Для Каждого Сертификат Из СертификатыХранилища Цикл + Если Сертификат.ДатаОкончания < ТекущаяДата Тогда + Продолжить; // отфильтровываем истекшие сертификаты + КонецЕсли; + НоваяСтрока = ТаблицаДляВыбора.Добавить(); + СоответствиеСертификатов.Вставить(НоваяСтрока, Сертификат); + НоваяСтрока.СертификатПредставление = Сертификат.Субъект.CN + НСтр("ru = ' выдан '", "ru") + Сертификат.Издатель.CN + НСтр("ru = ' действителен до '", "ru") + Сертификат.ДатаОкончания; + НоваяСтрока.ТипХранилища = Контекст.Представление; + КонецЦикла; +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Если Параметры.МножественныйВыбор Тогда + Элементы.ОсуществлениеВыбора.Видимость = Ложь; + Заголовок = НСтр("ru = 'Список сертификатов получателей'", "ru"); + Иначе + Элементы.КнопкаOK.КнопкаПоУмолчанию = Ложь; + Элементы.ОсуществлениеВыбора.КнопкаПоУмолчанию = Истина; + Элементы.КнопкаOK.Видимость = Ложь; + Элементы.Отмена.Видимость = Ложь; + Элементы.ТаблицаДляВыбораВыбран.Видимость = Ложь; + Заголовок = НСтр("ru = 'Сертификат для создания подписи'", "ru"); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ТаблицаДляВыбораВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + Если Не Параметры.МножественныйВыбор Тогда + СтандартнаяОбработка = Ложь; + Если Не ВыбраннаяСтрока = Неопределено Тогда + ВыбраныйСертификат = СоответствиеСертификатов[ ТаблицаДляВыбора[ВыбраннаяСтрока] ]; + Закрыть(ВыбраныйСертификат); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ОсуществлениеВыбораНажатие(Команда) + Если Не Параметры.МножественныйВыбор Тогда + ТекущиеДанные = Элементы.ТаблицаДляВыбора.ТекущиеДанные; + Если Не ТекущиеДанные = Неопределено Тогда + ВыбраныйСертификат = СоответствиеСертификатов[ ТекущиеДанные ]; + Закрыть(ВыбраныйСертификат); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура OK(Команда) + Закрыть(ПолучитьРезультатВыбора()); +КонецПроцедуры + +&НаКлиенте +Процедура ПоказатьСписок(Команда) + +#Если МобильныйКлиент Тогда + МенеджерКриптографии = Новый МенеджерКриптографии(); + + Оповещение = Новый ОписаниеОповещения( + "ПоказатьСписокСертификатовПослеСозданияМенеджераКриптографии", + ЭтотОбъект); + МенеджерКриптографии.НачатьИнициализацию(Оповещение, "", "", 1); +#КонецЕсли + +КонецПроцедуры + +#Если МобильныйКлиент Тогда + +&НаКлиенте +Процедура ПоказатьСписокСертификатовПослеСозданияМенеджераКриптографии(МенеджерКриптографии, Контекст) Экспорт + + // проверяем, что этим сертификатом файл еще не подписан + + Контекст = Новый Структура( + "МенеджерКриптографии, ХранилищеПолучено", + МенеджерКриптографии, Новый Массив()); + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСертификатыПослеЗакрытияСпискаСертификатов", + ЭтотОбъект, + Контекст); + МенеджерКриптографии.ПоказатьСписокСертификатов(Оповещение); + +КонецПроцедуры + +#КонецЕсли diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..0fc73d3a7 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,22 @@ + + + + + ДляОписания + Equal + false + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" new file mode 100644 index 000000000..663b87a91 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\222\321\213\320\261\320\276\321\200\320\260/Form.form" @@ -0,0 +1,385 @@ + + + + СписокКомпоновщикНастроекПользовательскиеНастройки + 1 + true + true + + true + + + <key>ru</key> + <value>Группа пользовательских настроек</value> + + false + + СписокКомпоновщикНастроекПользовательскиеНастройкиРасширеннаяПодсказка + 2 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 3 + true + true + + true + + + Список + + true + None + + Наименование + 7 + true + true + + true + + + + Список.Description + + + true + + НаименованиеРасширеннаяПодсказка + 9 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 8 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Код + 10 + true + true + + true + + + + Список.Code + + + + КодРасширеннаяПодсказка + 12 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 11 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 5 + true + true + + true + + Left + + + true + true + + true + + СписокСтрокаПоиска + 13 + + СписокСтрокаПоискаРасширеннаяПодсказка + 15 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 14 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 16 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 18 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 17 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 19 + + СписокУправлениеПоискомРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 20 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокРасширеннаяПодсказка + 6 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 4 + true + true + + true + + true + + true + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + СписокКомпоновщикНастроекПользовательскиеНастройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Catalog.ХранимыеФайлы + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\244\320\260\320\271\320\273\320\276\320\262/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\244\320\260\320\271\320\273\320\276\320\262/Form.form" new file mode 100644 index 000000000..1a569288b --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\244\320\260\320\271\320\273\320\276\320\262/Form.form" @@ -0,0 +1,690 @@ + + + + Владелец + 1 + true + true + + true + + + + Владелец + + + + ВладелецExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + + ВладелецКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + СписокФайлов + 3 + true + true + + true + + + СписокФайлов + + false + None + + СписокФайловЗначение + 6 + true + true + + true + + + + СписокФайлов.Value + + + + СписокФайловЗначениеExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + + СписокФайловЗначениеКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + EnterOnInput + true + Left + true + + true + true + + + + СписокФайловКоманднаяПанель + 5 + + ДобавитьФайлы + 10 + true + true + + true + + false + + ДобавитьФайлыExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ДобавитьФайлы + Auto + true + true + UserCmds + + + ДобавитьКаталог + 11 + true + true + + true + + false + + ДобавитьКаталогExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ДобавитьКаталог + Auto + true + true + UserCmds + + + Удалить + 8 + true + true + + true + + false + + УдалитьExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + Form.Item.СписокФайлов.StandardCommand.Delete + PictureAndText + true + true + UserCmds + + true + true + + true + + Left + + + BeforeAddRow + СписокФайловПередНачаломДобавления + + + true + true + + true + + СписокФайловСтрокаПоиска + 27 + + СписокФайловСтрокаПоискаРасширеннаяПодсказка + 29 + true + true + + true + + Label + true + true + + Left + + + + СписокФайловСтрокаПоискаКонтекстноеМеню + 28 + true + true + + true + + true + + СписокФайловСтрокаПоиска + + true + + + + true + true + + true + + СписокФайловСостояниеПросмотра + 30 + + СписокФайловСостояниеПросмотраРасширеннаяПодсказка + 32 + true + true + + true + + Label + true + true + + Left + + + + СписокФайловСостояниеПросмотраКонтекстноеМеню + 31 + true + true + + true + + true + + ViewStatusAddition + СписокФайловСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокФайловУправлениеПоиском + 33 + + СписокФайловУправлениеПоискомРасширеннаяПодсказка + 35 + true + true + + true + + Label + true + true + + Left + + + + СписокФайловУправлениеПоискомКонтекстноеМеню + 34 + true + true + + true + + true + + SearchControlAddition + СписокФайловУправлениеПоиском + + true + + + + СписокФайловExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + + СписокФайловКонтекстноеМеню + 4 + + ДобавитьФайлы1 + 12 + true + true + + true + + false + + ДобавитьФайлы1ExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ДобавитьФайлы + Auto + true + true + UserCmds + + + ДобавитьКаталог1 + 13 + true + true + + true + + false + + ДобавитьКаталог1ExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ДобавитьКаталог + Auto + true + true + UserCmds + + + КонтекстноеМенюСписокФайловУдалить + 15 + true + true + + true + + false + + КонтекстноеМенюСписокФайловУдалитьExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + Form.Item.СписокФайлов.StandardCommand.Delete + Auto + true + true + UserCmds + + + Загрузить1 + 14 + true + true + + true + + false + + Загрузить1ExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Загрузить + Auto + true + true + UserCmds + + true + true + + true + + + true + true + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + + СписокФайлов.Picture + + None + None + None + + + ФормаКоманднаяПанель + -1 + + Загрузить + 9 + true + true + + true + + false + + ЗагрузитьExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Загрузить + Auto + true + true + true + UserCmds + + true + true + + true + + Left + true + + LockWholeInterface + true + true + Vertical + true + true + true + true + true + + Владелец + + <key>ru</key> + <value>Владелец</value> + + 1 + + CatalogRef.Контрагенты + CatalogRef.Товары + + + true + + + true + + ShowError + + + СписокФайлов + + <key>ru</key> + <value>Список файлов</value> + + 2 + + ValueList + + + true + + + true + + + + + + + СписокЗагруженныхФайлов + + <key>ru</key> + <value>Список загруженных файлов</value> + + 3 + + ValueList + + + true + + + true + + + + + + + ДобавитьФайлы + + <key>ru</key> + <value>Добавить файлы</value> + + 1 + + ru + Добавить файлы + + + true + + + StdPicture.CreateListItem + + + + ДобавитьФайлы + + + TextPicture + DontUse + + + ДобавитьКаталог + + <key>ru</key> + <value>Добавить каталог</value> + + 2 + + ru + Добавить каталог + + + true + + + StdPicture.CreateFolder + + + + ДобавитьКаталог + + + TextPicture + DontUse + + + Загрузить + + <key>ru</key> + <value>Загрузить и закрыть</value> + + 3 + + ru + Загрузить + + + true + + + + Загрузить + + + DontUse + + + + + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\244\320\260\320\271\320\273\320\276\320\262/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\244\320\260\320\271\320\273\320\276\320\262/Module.bsl" new file mode 100644 index 000000000..b8537c37c --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270\320\244\320\260\320\271\320\273\320\276\320\262/Module.bsl" @@ -0,0 +1,116 @@ + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура СписокФайловПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа) + Отказ = Истина; + ДобавитьФайлы(); +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьФайлы() + + ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + ВыборФайла.МножественныйВыбор = Истина; + ВыборФайла.Заголовок = НСтр("ru = 'Выбор файла'", "ru"); + ВыборФайла.Фильтр = НСтр("ru = 'Все файлы'", "ru") + " (*.*)|*.*"; + ВыборФайла.ПредварительныйПросмотр = Истина; + + ОпПослеВыбораФайлов = Новый ОписаниеОповещения( + "ПослеВыбораФайлов", ЭтотОбъект); + ВыборФайла.Показать(ОпПослеВыбораФайлов); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыбораФайлов(ВыбранныеФайлы, ДопПараметры) Экспорт + Если НЕ ВыбранныеФайлы=Неопределено Тогда + Для каждого Файл Из ВыбранныеФайлы Цикл + СписокФайлов.Добавить(Файл); + КонецЦикла; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьКаталог() + ВыборФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + ОпПослеВыбораКаталога = Новый ОписаниеОповещения("ПослеВыбораКаталога", ЭтотОбъект); + ВыборФайла.Показать(ОпПослеВыбораКаталога); +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыбораКаталога(ВыбранныеФайлы, ДопПараметры) Экспорт + + Если ВыбранныеФайлы=Неопределено Тогда + Возврат; + КонецЕсли; + + Каталог = ВыбранныеФайлы[0]; + ОпПослеПоискаФайлов = Новый ОписаниеОповещения("ПослеПоискаФайлов", ЭтотОбъект); + НачатьПоискФайлов(ОпПослеПоискаФайлов, Каталог, "*.*", Истина); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПоискаФайлов(НайденныеФайлы, ДопПараметры) Экспорт + Для каждого Файл Из НайденныеФайлы Цикл + ОпПослеПроверкиЭтоФайл = Новый ОписаниеОповещения("ПослеПроверкиЭтоФайл", ЭтотОбъект, Файл.ПолноеИмя); + Файл.НачатьПроверкуЭтоФайл(ОпПослеПроверкиЭтоФайл); + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПроверкиЭтоФайл(ЭтоФайл, ПолноеИмяФайла) Экспорт + Если ЭтоФайл Тогда + СписокФайлов.Добавить(ПолноеИмяФайла); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура Загрузить() + + Если НЕ ПроверитьЗаполнение() Тогда + Возврат; + КонецЕсли; + + ОчиститьСообщения(); + Если СписокФайлов.Количество() = 0 Тогда + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Файлы не выбраны'", "ru"); + Сообщение.Сообщить(); + Возврат; + КонецЕсли; + + ПомещаемыеФайлы = Новый Массив; + Для каждого Файл Из СписокФайлов Цикл + Описание = Новый ОписаниеПередаваемогоФайла(Файл.Значение, ""); + ПомещаемыеФайлы.Добавить(Описание); + КонецЦикла; + + ОпПослеПомещенияФайлов = Новый ОписаниеОповещения("ПослеПомещенияФайлов", ЭтотОбъект); + НачатьПомещениеФайлов(ОпПослеПомещенияФайлов, ПомещаемыеФайлы, , Ложь); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПомещенияФайлов(ПомещенныеФайлы, ДопПараметры) Экспорт + Если НЕ ПомещенныеФайлы=Неопределено Тогда + + Для каждого Файл Из ПомещенныеФайлы Цикл + СписокЗагруженныхФайлов.Добавить(Файл); + КонецЦикла; + Результат = Новый Структура( + "СписокЗагруженныхФайлов, Владелец", + СписокЗагруженныхФайлов, Владелец); + Закрыть(Результат); + + Иначе + + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Файлы не загружены'", "ru"); + Сообщение.Сообщить(); + + КонецЕсли; +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\276\320\273\321\217/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\276\320\273\321\217/Form.form" new file mode 100644 index 000000000..ee3258607 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\276\320\273\321\217/Form.form" @@ -0,0 +1,185 @@ + + + + <key>ru</key> + <value>Введите пароль</value> + + + Пароль + 1 + true + true + + true + + + + Пароль + + + + ПарольExtendedTooltip + 7 + true + true + + true + + Label + true + true + + Left + + + + ПарольКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + + + Bottom + + ФормаКоманднаяПанель + -1 + + ФормаОК + 8 + true + true + + true + + + ФормаОКРасширеннаяПодсказка + 9 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОК + Auto + true + true + true + UserCmds + + + Отмена + 4 + true + true + + true + + + ОтменаExtendedTooltip + 6 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Cancel + Auto + true + true + UserCmds + + true + true + + true + + Right + + + OnOpen + ПриОткрытии + + LockWholeInterface + true + Vertical + true + true + true + true + true + + Пароль + + <key>ru</key> + <value>Пароль доступа к закрытому ключу</value> + + 1 + + String + + + + true + + + true + + + + ОК + + <key>ru</key> + <value>ОК</value> + + 1 + + ru + ОК + + + true + + + + ОК + + + Auto + + + + + + diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\276\320\273\321\217/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\276\320\273\321\217/Module.bsl" new file mode 100644 index 000000000..4d66335e5 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\320\260\321\200\320\276\320\273\321\217/Module.bsl" @@ -0,0 +1,13 @@ +&НаКлиенте +Перем МенеджерСертификатов Экспорт; + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + Пароль = МенеджерСертификатов.ПарольДоступаКЗакрытомуКлючу; +КонецПроцедуры + +&НаКлиенте +Процедура ОК(Команда) + МенеджерСертификатов.ПарольДоступаКЗакрытомуКлючу = Пароль; + Закрыть(КодВозвратаДиалога.ОК); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..f8d422c06 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,752 @@ + + + + Настройки + 31 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 32 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + СписокНаименование + 4 + + <key>ru</key> + <value>Наименование</value> + + true + true + + true + + + + Список.Description + + + true + + СписокНаименованиеExtendedTooltip + 27 + true + true + + true + + Label + true + true + + Left + + + + СписокНаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокКод + 6 + + <key>ru</key> + <value>Код</value> + + true + true + + true + + + + Список.Code + + + + СписокКодExtendedTooltip + 28 + true + true + + true + + Label + true + true + + Left + + + + СписокКодКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокПодписан + 17 + true + true + + true + + + + Список.Подписан + + + + СписокПодписанExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + + СписокПодписанКонтекстноеМеню + 18 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + СписокЗашифрован + 15 + true + true + + true + + + + Список.Зашифрован + + + + СписокЗашифрованExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + СписокЗашифрованКонтекстноеМеню + 16 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 33 + + СписокСтрокаПоискаРасширеннаяПодсказка + 35 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 34 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 36 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 38 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 37 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 39 + + СписокУправлениеПоискомРасширеннаяПодсказка + 41 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 40 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + + Список.DefaultPicture + + None + None + None + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + Настройки + +
+ + ФормаКоманднаяПанель + -1 + + Создать + 12 + true + true + + true + + false + + СоздатьExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Create + Auto + true + true + UserCmds + + + Расширенные + 10 + + ЗагрузитьФайлы + 8 + true + true + + true + + false + + ЗагрузитьФайлыExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ЗагрузитьФайлы + Auto + true + true + UserCmds + + + ОткрытьФайл + 9 + true + true + + true + + false + + ОткрытьФайлExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОткрытьФайл + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Расширенные</value> + + + ru + Расширенные + + + РасширенныеExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + + + + Основные + 11 + true + true + + true + + + <key>ru</key> + <value>Основные</value> + + + ru + Основные + + + ОсновныеExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + + Form + + + + Скопировать + 14 + true + true + + true + + false + + СкопироватьExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Copy + Auto + true + true + true + UserCmds + + + Справка + 13 + true + true + + true + + false + + СправкаExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + Auto + true + true + UserCmds + + true + true + + true + + Left + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + + + Список.Code + + + Список.ИмяФайла + +
true
+ + Catalog.ХранимыеФайлы + true + true + true + true + +
+ + ЗагрузитьФайлы + + <key>ru</key> + <value>Загрузить файлы</value> + + 1 + + ru + Загрузить файлы + + + true + + + + ЗагрузитьФайлы + + + DontUse + + + ОткрытьФайл + + <key>ru</key> + <value>Открыть файл</value> + + 2 + + ru + Открыть файл + + + true + + + + ОткрытьФайл + + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" new file mode 100644 index 000000000..a263f6ee7 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Module.bsl" @@ -0,0 +1,229 @@ +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// Функция извлекает из отбора формы списка значение элемента "владелец" +// +// Возвращаемое значение: +// СправочникСсылка.Товары, либо Неопределено, если владелец не найден +&НаКлиенте +Функция ПолучитьЗначениеВладельца() + + Для каждого Элемент из Список.Отбор.Элементы Цикл + + Если ТипЗнч(Элемент) = Тип("ЭлементОтбораКомпоновкиДанных") + И (Строка(Элемент.ЛевоеЗначение) = "Владелец" + ИЛИ Строка(Элемент.ЛевоеЗначение) = "Owner") + И Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно Тогда + + Возврат Элемент.ПравоеЗначение; + + КонецЕсли; + + КонецЦикла; + + Возврат Неопределено; + +КонецФункции + +// Процедура получает список файлов, которые переданы на сервер и создает соответствующие элементы справочника +&НаСервере +Процедура СоздатьЭлементыСправочника(СписокЗагруженныхФайлов, Владелец) + + Для каждого ЗагруженныйФайл Из СписокЗагруженныхФайлов Цикл + + Файл = Новый Файл(ЗагруженныйФайл.Значение.Имя); + ХранимыйФайл = Справочники.ХранимыеФайлы.СоздатьЭлемент(); + ХранимыйФайл.Владелец = Владелец; + ХранимыйФайл.Наименование = Файл.Имя; + ХранимыйФайл.ИмяФайла = Файл.Имя; + ДвоичныеДанные = ПолучитьИзВременногоХранилища(ЗагруженныйФайл.Значение.Хранение); + ХранимыйФайл.ДанныеФайла = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных()); + ХранимыйФайл.Записать(); + + КонецЦикла; + +КонецПроцедуры + +// Функция формирует массив описаний передаваемых файлов по выделенным строкам списка +&НаКлиенте +Функция ОписаниеВыделенныхФайлов() + + ПередаваемыеФайлы = Новый Массив; + Для каждого Строка Из Элементы.Список.ВыделенныеСтроки Цикл + + ДанныеСтроки = Элементы.Список.ДанныеСтроки(Строка); + Ссылка = ПолучитьНавигационнуюСсылку(Строка, "ДанныеФайла"); + ПутьКфайлу = ДанныеСтроки.Код + "\" + ДанныеСтроки.ИмяФайла; + Описание = Новый ОписаниеПередаваемогоФайла(ПутьКфайлу, Ссылка); + ПередаваемыеФайлы.Добавить(Описание); + + КонецЦикла; + + Возврат ПередаваемыеФайлы; + +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// Обработчики команд +// + +&НаКлиенте +Процедура ЗагрузитьФайлы() + + ОпПослеПодключенияРасширения = Новый ОписаниеОповещения("ЗагрузитьФайлы_ПослеПодключенияРасширения", ЭтотОбъект); + НачатьПодключениеРасширенияРаботыСФайлами(ОпПослеПодключенияРасширения); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьФайлы_ПослеПодключенияРасширения(Подключено, Параметры) Экспорт + + Если Подключено Тогда + + Форма = ПолучитьФорму("Справочник.ХранимыеФайлы.Форма.ФормаЗагрузкиФайлов"); + Форма.Владелец = ПолучитьЗначениеВладельца(); + Форма.ОписаниеОповещенияОЗакрытии = + Новый ОписаниеОповещения("ЗагрузитьФайлыЗавершение", ЭтотОбъект); + Форма.Открыть(); + + Иначе + + ПоказатьПредупреждение( , + НСтр("ru = 'Данная возможность недоступна, так как не подключено расширение работы с файлами.'", "ru")); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьФайлыЗавершение(Результат, Параметры) Экспорт + Если Не Результат = Неопределено Тогда + СоздатьЭлементыСправочника(Результат.СписокЗагруженныхФайлов, Результат.Владелец); + Элементы.Список.Обновить(); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьФайл() + + ПередаваемыеФайлы = ОписаниеВыделенныхФайлов(); + Если ПередаваемыеФайлы.Количество() = 0 Тогда + Возврат; + КонецЕсли; + ОпПослеПодключенияРасширения = Новый ОписаниеОповещения("ОткрытьФайл_ПослеПодключенияРасширения", ЭтотОбъект, ПередаваемыеФайлы); + НачатьПодключениеРасширенияРаботыСФайлами(ОпПослеПодключенияРасширения); + +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьФайл_ПослеПодключенияРасширения(РасширениеПодключено, ПередаваемыеФайлы) Экспорт + + Если РасширениеПодключено Тогда + ОткрытьФайлыЧерезРасширение(ПередаваемыеФайлы); + Иначе + ОткрытьФайлыБезРасширения(ПередаваемыеФайлы); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьФайлыБезРасширения(ПередаваемыеФайлы) + + Для каждого Описание Из ПередаваемыеФайлы Цикл + Фрагменты = СтрРазделить(Описание.Имя, "\"); + ПолучитьФайл(Описание.Хранение, Фрагменты[Фрагменты.ВГраница()]); + КонецЦикла; + +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьФайлыЧерезРасширение(ПередаваемыеФайлы) + +#Если НЕ МобильныйКлиент Тогда + ОпПослеВыбораКаталога = Новый ОписаниеОповещения("ПослеВыбораКаталога", ЭтотОбъект, ПередаваемыеФайлы); + Каталог = РаботаСХранилищемОбщихНастроек.ПолучитьРабочийКаталог(); + Если Каталог = Неопределено ИЛИ Каталог = "" Тогда + Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + Диалог.Заголовок = НСтр("ru = 'Выбор каталога временного хранения файлов'", "ru"); + Диалог.Показать(ОпПослеВыбораКаталога); + Иначе + ВыбранныеФайлы = Новый Массив; + ВыбранныеФайлы.Добавить(Каталог); + ВыполнитьОбработкуОповещения(ОпПослеВыбораКаталога, ВыбранныеФайлы); + КонецЕсли; +#Иначе + ОпПослеПолучениеКаталогаВременныхФайлов = Новый ОписаниеОповещения("ПолучениеКаталогаВременныхФайлов", ЭтотОбъект, ПередаваемыеФайлы); + НачатьПолучениеКаталогаВременныхФайлов(ОпПослеПолучениеКаталогаВременныхФайлов); +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучениеКаталогаВременныхФайлов(ИмяКаталогаВременныхФайлов, ПередаваемыеФайлы) Экспорт + + ВыбранныеФайлы = Новый Массив; + ВыбранныеФайлы.Добавить(ИмяКаталогаВременныхФайлов); + ПослеВыбораКаталога(ВыбранныеФайлы, ПередаваемыеФайлы); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыбораКаталога(ВыбранныеФайлы, ПередаваемыеФайлы) Экспорт + + Если ВыбранныеФайлы = Неопределено Тогда + Возврат; + КонецЕсли; + + Каталог = ВыбранныеФайлы[0]; +#Если НЕ МобильныйКлиент Тогда + РаботаСХранилищемОбщихНастроек.СохранитьРабочийКаталог(Каталог); +#КонецЕсли + + Вызовы = Новый Массив; + ВызовПолучитьФайлы = Новый Массив; + ВызовПолучитьФайлы.Добавить("НачатьПолучениеФайлов"); + ВызовПолучитьФайлы.Добавить(ПередаваемыеФайлы); + ВызовПолучитьФайлы.Добавить(""); + ВызовПолучитьФайлы.Добавить(Ложь); + Вызовы.Добавить(ВызовПолучитьФайлы); + Для каждого Описание Из ПередаваемыеФайлы Цикл + Описание.Имя = Каталог + "\" + Описание.Имя; + ВызовЗапуститьПриложение = Новый Массив; + ВызовЗапуститьПриложение.Добавить("НачатьЗапускПриложения"); + ВызовЗапуститьПриложение.Добавить(Описание.Имя); + Вызовы.Добавить(ВызовЗапуститьПриложение); + КонецЦикла; + + ОпПослеЗапросаРазрешенийПользователя = Новый ОписаниеОповещения( + "ПослеЗапросаРазрешенийПользователя", ЭтотОбъект, ПередаваемыеФайлы); + НачатьЗапросРазрешенияПользователя(ОпПослеЗапросаРазрешенийПользователя, Вызовы); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапросаРазрешенийПользователя(РазрешенияПолучены, ПередаваемыеФайлы) Экспорт + + Если НЕ РазрешенияПолучены Тогда + Возврат; + КонецЕсли; + + ОпПослеПолученияФайлов = Новый ОписаниеОповещения("ПослеПолученияФайлов", ЭтотОбъект); + НачатьПолучениеФайлов(ОпПослеПолученияФайлов, ПередаваемыеФайлы, "", Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПолученияФайлов(ПереданныеФайлы, ДопПараметры) Экспорт + Если НЕ ПереданныеФайлы=Неопределено Тогда + Для каждого Описание Из ПереданныеФайлы Цикл + ОпПослеЗапускаПриложения = Новый ОписаниеОповещения( + "ПослеЗапускаПриложения", ЭтотОбъект, Описание.Имя); + НачатьЗапускПриложения(ОпПослеЗапускаПриложения, Описание.Имя); + КонецЦикла; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПослеЗапускаПриложения(КодВозврата, ИмяПриложения) Экспорт + ; // +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..ef408be49 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,1275 @@ + + + + Владелец + 4 + true + true + + true + + + + Объект.Owner + + + + ВладелецExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + ВладелецКонтекстноеМеню + 10 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Код + 2 + true + true + + true + + + + Объект.Code + + + + КодExtendedTooltip + 31 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 5 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Наименование + 3 + true + true + + true + + + + Объект.Description + + + true + + НаименованиеExtendedTooltip + 32 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 9 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ИмяФайла + 8 + true + true + + true + + + + Объект.ИмяФайла + + + + ИмяФайлаExtendedTooltip + 33 + true + true + + true + + Label + true + true + + Left + + + + ИмяФайлаКонтекстноеМеню + 11 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ГруппаФлажков + 19 + + Подписан + 20 + true + true + + true + + + + Объект.Подписан + + + Right + + ПодписанExtendedTooltip + 35 + true + true + + true + + Label + true + true + + Left + + + + ПодписанКонтекстноеМеню + 21 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + Зашифрован + 22 + true + true + + true + + + + Объект.Зашифрован + + + Right + + ЗашифрованExtendedTooltip + 36 + true + true + + true + + Label + true + true + + Left + + + + ЗашифрованКонтекстноеМеню + 23 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Группа флажков</value> + + + ru + Группа флажков + + true + true + + ГруппаФлажковExtendedTooltip + 34 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ВыбратьФайлСДискаИЗаписать + 6 + High + true + true + + true + + false + + ВыбратьФайлСДискаИЗаписатьExtendedTooltip + 37 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + Form.Command.ВыбратьФайлСДискаИЗаписать + Auto + true + true + UserCmds + + 28 + 85 + 174 + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ГруппаАудио + 41 + High + + СделатьИЗаписать + 43 + + <key>ru</key> + <value>Сделать новое</value> + + true + true + + true + + + СделатьИЗаписатьРасширеннаяПодсказка + 44 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + Form.Command.СделатьАудиозаписьИЗаписать + Auto + true + true + UserCmds + + + ДобавитьСохраненноеИзображение + 45 + + <key>ru</key> + <value>Добавить cохраненное</value> + + true + true + + true + + + ДобавитьСохраненноеИзображениеРасширеннаяПодсказка + 46 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + Form.Command.ДобавитьСохраненноеАудиоИЗаписать + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Аудио</value> + + + ru + Аудио + + + ГруппаАудиоРасширеннаяПодсказка + 42 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + HorizontalIfPossible + WeakSeparation + true + true + true + Auto + DontUse + + + + ГруппаВидео + 47 + High + + СделатьВидеозаписьИЗаписать + 49 + + <key>ru</key> + <value>Сделать новое</value> + + true + true + + true + + + СделатьВидеозаписьИЗаписатьРасширеннаяПодсказка + 50 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + Form.Command.СделатьВидеозаписьИЗаписать + Auto + true + true + UserCmds + + + ДобавитьСохраненноеВидеоИЗаписать + 51 + + <key>ru</key> + <value>Добавить cохраненное</value> + + true + true + + true + + + ДобавитьСохраненноеВидеоИЗаписатьРасширеннаяПодсказка + 52 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + Form.Command.ДобавитьСохраненноеВидеоИЗаписать + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Видео</value> + + + ru + Видео + + + ГруппаВидеоРасширеннаяПодсказка + 48 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + HorizontalIfPossible + WeakSeparation + true + true + true + Auto + DontUse + + + + ГруппаФото + 53 + High + + СделатьФотоснимокИЗаписать + 55 + + <key>ru</key> + <value>Сделать новое</value> + + true + true + + true + + + СделатьФотоснимокИЗаписатьРасширеннаяПодсказка + 56 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + Form.Command.СделатьФотоснимокИЗаписать + Auto + true + true + UserCmds + + + ДобавитьСохраненноеФотоИЗаписать + 57 + + <key>ru</key> + <value>Добавить cохраненное</value> + + true + true + + true + + + ДобавитьСохраненноеФотоИЗаписатьРасширеннаяПодсказка + 58 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + Form.Command.ДобавитьСохраненноеФотоИЗаписать + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Фото</value> + + + ru + Фото + + + ГруппаФотоРасширеннаяПодсказка + 54 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + HorizontalIfPossible + WeakSeparation + true + true + true + Auto + DontUse + + + + ПрочитатьФайлИСохранитьНаДиск + 7 + High + true + true + + true + + false + + ПрочитатьФайлИСохранитьНаДискExtendedTooltip + 38 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + Form.Command.ПрочитатьФайлИСохранитьНаДиск + Auto + true + true + UserCmds + + 28 + 85 + 174 + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ФормаКоманднаяПанель + -1 + + Криптография + 12 + + Подписать + 13 + true + true + + true + + + ПодписатьExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Подписать + Auto + true + true + UserCmds + + + ПроверитьПодпись + 14 + true + true + + true + + + ПроверитьПодписьExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПроверитьПодпись + Auto + true + true + UserCmds + + + ПоместитьЗашифрованныйНаСервер + 15 + true + true + + true + + + ПоместитьЗашифрованныйНаСерверExtendedTooltip + 27 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПоместитьЗашифрованныйНаСервер + Auto + true + true + UserCmds + + + Зашифровать + 18 + true + true + + true + + + ЗашифроватьExtendedTooltip + 28 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Зашифровать + Auto + true + true + UserCmds + + + ПолучитьСРасшифровкой + 16 + true + true + + true + + + ПолучитьСРасшифровкойExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПолучитьСРасшифровкой + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Криптография</value> + + + ru + Криптография + + + КриптографияExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + Popup + + Auto + + + true + true + + true + + Left + true + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + CatalogObject.ХранимыеФайлы + + + true + + + true + + + Объект.ДанныеФайла + +
true
+ true +
+ + ВыбратьФайлСДискаИЗаписать + + <key>ru</key> + <value>Выбрать файл с диска и записать</value> + + 1 + + ru + Выбрать файл с диска и записать + + + true + + + + ВыбратьФайлСДискаИЗаписать + + + DontUse + + + ПрочитатьФайлИСохранитьНаДиск + + <key>ru</key> + <value>Прочитать файл и сохранить на диск</value> + + 2 + + ru + Прочитать файл и сохранить на диск + + + true + + + + ПрочитатьФайлИСохранитьНаДиск + + + DontUse + + + Подписать + + <key>ru</key> + <value>Подписать записанный файл</value> + + 3 + + ru + Подписать файл от нашего имени + + + true + + + + Подписать + + + DontUse + + + ПроверитьПодпись + + <key>ru</key> + <value>Проверить подпись записанного файла</value> + + 4 + + ru + Проверить ЭЦП этого файла + + + true + + + + ПроверитьПодпись + + + DontUse + + + ПоместитьЗашифрованныйНаСервер + + <key>ru</key> + <value>Выбрать файл с диска, зашифровать и записать</value> + + 5 + + ru + Поместить зашифрованный файл на сервер + + + true + + + + ПоместитьЗашифрованныйНаСервер + + + DontUse + + + ПолучитьСРасшифровкой + + <key>ru</key> + <value>Прочитать файл, расшифровать и сохранить на диск</value> + + 6 + + ru + Получет расшифрованный файл, сохраняет на диск, при наличии расширения производится попытка открыть + + + true + + + + ПолучитьСРасшифровкой + + + DontUse + + + Зашифровать + + <key>ru</key> + <value>Зашифровать записанный файл</value> + + 8 + + ru + Получает незашифрованный файл с сервера, шифрует его открытым ключом контрагента, которому принадлежит файл, и помещает на сервер. Подписи файла, если имеются, остаются соответствующими незашифрованной версии документа. + + + true + + + + Зашифровать + + + DontUse + + + ДобавитьСохраненноеАудиоИЗаписать + + <key>ru</key> + <value>Добавить сохраненное аудио и записать</value> + + 7 + + ru + Добавить сохраненное аудио и записать + + + true + + + + ДобавитьСохраненноеАудиоИЗаписать + + + DontUse + + + ДобавитьСохраненноеВидеоИЗаписать + + <key>ru</key> + <value>Добавить сохраненное видео и записать</value> + + 9 + + ru + Добавить сохраненное видео и записать + + + true + + + + ДобавитьСохраненноеВидеоИЗаписать + + + DontUse + + + ДобавитьСохраненноеФотоИЗаписать + + <key>ru</key> + <value>Добавить сохраненное фото и записать</value> + + 10 + + ru + Добавить сохраненное фото и записать + + + true + + + + ДобавитьСохраненноеФотоИЗаписать + + + DontUse + + + СделатьАудиозаписьИЗаписать + + <key>ru</key> + <value>Сделать аудиозапись и записать</value> + + 11 + + ru + Сделать аудиозапись и записать + + + true + + + + СделатьАудиозапись + + + DontUse + + + СделатьВидеозаписьИЗаписать + + <key>ru</key> + <value>Сделать видеозапись и записать</value> + + 12 + + ru + Сделать видеозапись и записать + + + true + + + + СделатьВидеозапись + + + DontUse + + + СделатьФотоснимокИЗаписать + + <key>ru</key> + <value>Сделать фотоснимок и записать</value> + + 13 + + ru + Сделать фотоснимок и записать + + + true + + + + СделатьФотоснимок + + + DontUse + + + + + + + + BeforeWrite + ПередЗаписью + + +
diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..e1f62bccd --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,882 @@ + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Если Параметры.Ключ.Пустая() И НЕ Параметры.ЗначениеКопирования.Пустая() Тогда + // при копировании очищаем имя файла, чтобы не возникало иллюзии, что содержимое файла тоже скопируется + Объект.ИмяФайла = ""; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + +#Если НЕ МобильныйКлиент Тогда + + Элементы.СделатьИЗаписать.Видимость = Ложь; + Элементы.СделатьВидеозаписьИЗаписать.Видимость = Ложь; + Элементы.СделатьФотоснимокИЗаписать.Видимость = Ложь; + Элементы.ДобавитьСохраненноеИзображение.Видимость = Ложь; + Элементы.ДобавитьСохраненноеВидеоИЗаписать.Видимость = Ложь; + Элементы.ДобавитьСохраненноеФотоИЗаписать.Видимость = Ложь; + +#Иначе + + Если ТолькоПросмотр = Ложь Тогда + Элементы.СделатьИЗаписать.Доступность = СредстваМультимедиа.ПоддерживаетсяАудиозапись(); + Элементы.СделатьВидеозаписьИЗаписать.Доступность = СредстваМультимедиа.ПоддерживаетсяВидеозапись(); + Элементы.СделатьФотоснимокИЗаписать.Доступность = СредстваМультимедиа.ПоддерживаетсяФотоснимок(); + Элементы.ДобавитьСохраненноеИзображение.Доступность = Истина; + Элементы.ДобавитьСохраненноеВидеоИЗаписать.Доступность = Истина; + Элементы.ДобавитьСохраненноеФотоИЗаписать.Доступность = Истина; + Иначе + Элементы.СделатьИЗаписать.Доступность = Ложь; + Элементы.СделатьВидеозаписьИЗаписать.Доступность = Ложь; + Элементы.СделатьФотоснимокИЗаписать.Доступность = Ложь; + Элементы.ДобавитьСохраненноеИзображение.Доступность = Ложь; + Элементы.ДобавитьСохраненноеВидеоИЗаписать.Доступность = Ложь; + Элементы.ДобавитьСохраненноеФотоИЗаписать.Доступность = Ложь; + КонецЕсли; + +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗаписью(Отказ, ПараметрыЗаписи) + Если Объект.ИмяФайла = "" Тогда + ПоказатьПредупреждение(, "Не выбран файл!"); + Отказ = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ВыбратьФайлСДискаИЗаписать() + НовыйОбъект = Объект.Ссылка.Пустая(); + Оповещение = Новый ОписаниеОповещения("ВыбратьФайлСДискаИЗаписатьЗавершение", ЭтотОбъект, НовыйОбъект); + НачатьПомещениеФайла(Оповещение, , "", Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ВыбратьФайлСДискаИЗаписатьЗавершение(Результат, АдресВременногоХранилища, ВыбранноеИмя, НовыйОбъект) Экспорт + Если Результат Тогда + Объект.ИмяФайла = ВыбранноеИмя; + + Если Не ЗначениеЗаполнено(Объект.Наименование) Тогда + Объект.Наименование = ПолучитьИмяФайла(ВыбранноеИмя); + КонецЕсли; + + ПоместитьФайлОбъекта(АдресВременногоХранилища); + Если НовыйОбъект Тогда + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Добавление); + Иначе + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Изменение); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПомещенияФайлов(ПомещенныеФайлы, ДопПараметры) Экспорт + + Перем ВыбранноеИмя; + + Если НЕ ПомещенныеФайлы = Неопределено Тогда + +#Если МобильныйКлиент Тогда + Файл = Новый Файл(ПомещенныеФайлы[0].Имя); + ВыбранноеИмя = Файл.ПолучитьПредставлениеФайлаБиблиотекиМобильногоУстройства(); +#КонецЕсли + Объект.ИмяФайла = ВыбранноеИмя; + ПоместитьФайлОбъекта(ПомещенныеФайлы[0].Хранение); + + Иначе + + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Файлы не загружены'", "ru"); + Сообщение.Сообщить(); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПолучениеКаталога(Каталог, ДопПараметры) Экспорт + + Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + Диалог.Каталог = Каталог; + ОпПослеПомещенияФайлов = Новый ОписаниеОповещения("ПослеПомещенияФайлов", ЭтотОбъект); + НачатьПомещениеФайлов(ОпПослеПомещенияФайлов, , Диалог, Ложь); + +КонецПроцедуры + +&НаКлиенте +Процедура ПрочитатьФайлИСохранитьНаДиск() + + Если Объект.Ссылка.Пустая() Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Данные не записаны'", "ru")); + Возврат; + КонецЕсли; + + Если ПустаяСтрока(Объект.ИмяФайла) Тогда + ПоказатьПредупреждение(, НСтр("ru = 'Имя не задано'", "ru")); + Возврат; + КонецЕсли; + + Адрес = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ДанныеФайла"); + ПолучитьФайл(Адрес, Объект.ИмяФайла, Истина); +КонецПроцедуры + +#Если МобильныйКлиент Тогда + +&НаКлиенте +Процедура ПоместитьМультимедиа(ДанныеМультимедиа) + + Если ДанныеМультимедиа <> Неопределено Тогда + НовыйОбъект = Объект.Ссылка.Пустая(); + АдресВременногоХранилища = ПоместитьВоВременноеХранилище(ДанныеМультимедиа.ПолучитьДвоичныеДанные(), УникальныйИдентификатор); + ТипСодержимого = ДанныеМультимедиа.ТипСодержимого; + Номер = Найти(ТипСодержимого, "/"); + Если Номер > 0 Тогда + ТипСодержимого = Лев(ТипСодержимого, Номер - 1); + КонецЕсли; + Объект.Наименование = ТипСодержимого + " " + Строка(ТекущаяДата()); + Объект.ИмяФайла = СтрЗаменить(Строка(ТекущаяДата()), ":", "_") + "." + ДанныеМультимедиа.РасширениеФайла; + ПоместитьФайлОбъекта(АдресВременногоХранилища); + Если НовыйОбъект Тогда + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Добавление); + Иначе + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Изменение); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СделатьАудиозапись(Команда) + + ДанныеМультимедиа = СредстваМультимедиа.СделатьАудиозапись(); + ПоместитьМультимедиа(ДанныеМультимедиа); + +КонецПроцедуры + +&НаКлиенте +Процедура СделатьВидеозапись(Команда) + + ДанныеМультимедиа = СредстваМультимедиа.СделатьВидеозапись(); + ПоместитьМультимедиа(ДанныеМультимедиа); + +КонецПроцедуры + +&НаКлиенте +Процедура СделатьФотоснимок(Команда) + + ДанныеМультимедиа = СредстваМультимедиа.СделатьФотоснимок(); + ПоместитьМультимедиа(ДанныеМультимедиа); + +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьСохраненноеАудиоИЗаписать(Команда) + + ТипКаталога = ТипКаталогаБиблиотекиМобильногоУстройства.Аудио; + ОпПослеПолучениеКаталога = Новый ОписаниеОповещения("ПослеПолучениеКаталога", ЭтотОбъект); + НачатьПолучениеКаталогаБиблиотекиМобильногоУстройства(ОпПослеПолучениеКаталога, ТипКаталога); + +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьСохраненноеВидеоИЗаписать(Команда) + + ТипКаталога = ТипКаталогаБиблиотекиМобильногоУстройства.Видео; + ОпПослеПолучениеКаталога = Новый ОписаниеОповещения("ПослеПолучениеКаталога", ЭтотОбъект); + НачатьПолучениеКаталогаБиблиотекиМобильногоУстройства(ОпПослеПолучениеКаталога, ТипКаталога); + +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьСохраненноеФотоИЗаписать(Команда) + + ТипКаталога = ТипКаталогаБиблиотекиМобильногоУстройства.Картинки; + ОпПослеПолучениеКаталога = Новый ОписаниеОповещения("ПослеПолучениеКаталога", ЭтотОбъект); + НачатьПолучениеКаталогаБиблиотекиМобильногоУстройства(ОпПослеПолучениеКаталога, ТипКаталога); + +КонецПроцедуры + +#КонецЕсли + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ Команд криптографии +// + +&НаКлиенте +Процедура Подписать(Команда) + // Получает на клиента + // Подписывает + // Помещает на сервер файл и подпись + + Оповещение = Новый ОписаниеОповещения( + "ПодписатьПослеПодключенияРасширения", + ЭтотОбъект); + НачатьПодключениеРасширенияРаботыСКриптографией(Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ПодписатьПослеПодключенияРасширения(Результат, ДополнительныеПараметры) Экспорт + + Если Не Результат Тогда + Сообщить(НСтр("ru = 'Для требуемой операции необходимо установить расширение работы с криптографией'", "ru")); + Возврат; + КонецЕсли; + Данные = ПолучитьДанныеФайла(); + Если Данные.Количество() = 0 Тогда + ПоказатьПредупреждение(, + НСтр("ru = 'Нет данных файла!!!'", "ru"), + 10); + Возврат; + КонецЕсли; + ФайлДвоичныеДанные = Данные[0]; + Данные.Удалить(0); + ПараметрыФормы = Новый СписокЗначений; + ПараметрыФормы.Добавить(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты); + Контекст = Новый Структура("Данные, ФайлДвоичныеДанные", Данные, ФайлДвоичныеДанные); + ПолучитьСписокСертификатов(ПараметрыФормы, Ложь, "ПодписатьПослеПолученияСпискаСертификатов", Контекст); +КонецПроцедуры + +&НаКлиенте +Процедура ПодписатьПослеПолученияСпискаСертификатов(Результат, Контекст) Экспорт + Если Результат = КодВозвратаДиалога.Отмена Тогда + Возврат; + КонецЕсли; + + МенеджерКриптографии = Новый МенеджерКриптографии(); + + Контекст2 = Новый Структура( + "МенеджерКриптографии, ФайлДвоичныеДанные, Сертификат, Данные", + МенеджерКриптографии, Контекст.ФайлДвоичныеДанные, Результат, Контекст.Данные); + + Оповещение = Новый ОписаниеОповещения( + "ПодписатьПослеСозданияМенеджераКриптографии", + ЭтотОбъект, Контекст2); + МенеджерКриптографии.НачатьИнициализацию(Оповещение, "", "", 75); + +КонецПроцедуры + +&НаКлиенте +Процедура ПодписатьПослеСозданияМенеджераКриптографии(МенеджерКриптографии, Контекст) Экспорт + + // проверяем, что этим сертификатом файл еще не подписан + + Контекст.Вставить("ПодписиПолучены", Новый Массив()); + ПолучитьСледующиеПодписи(, Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСледующиеПодписи(СертификатыПодписи, Контекст) Экспорт + + Если СертификатыПодписи <> Неопределено Тогда + Для Каждого СертификатПодписи Из СертификатыПодписи Цикл + Если Контекст.Сертификат = СертификатПодписи Тогда + ПоказатьПредупреждение( , + НСтр("ru = 'Этим сертификатом файл уже подписан'", "ru"), + 10); + Возврат; + КонецЕсли; + КонецЦикла; + + Контекст.ПодписиПолучены.Добавить(Истина); + КонецЕсли; + + Если Контекст.ПодписиПолучены.Количество() = Контекст.Данные.Количество() Тогда + + // подписываем + Контекст2 = Новый Структура( + "МенеджерКриптографии, ФайлДвоичныеДанные, Сертификат, Данные", + Контекст.МенеджерКриптографии, Контекст.ФайлДвоичныеДанные, Контекст.Сертификат, Контекст.Данные); + ВводПароля(Контекст.МенеджерКриптографии, "ПодписатьЗавершение2", Контекст2); + + Возврат; + + КонецЕсли; + + ТекущиеДанные = Контекст.Данные[Контекст.ПодписиПолучены.Количество()]; + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСледующиеПодписи", + ЭтотОбъект, Контекст); + Контекст.МенеджерКриптографии.НачатьПолучениеСертификатовИзПодписи( + Оповещение, ТекущиеДанные); + +КонецПроцедуры + +&НаКлиенте +Процедура ПодписатьЗавершение2(Результат, Контекст) Экспорт + Если Результат = КодВозвратаДиалога.ОК Тогда + + Оповещение = Новый ОписаниеОповещения( + "ПослеПодписиФайла", + ЭтотОбъект, Контекст); + Контекст.МенеджерКриптографии.НачатьПодписывание( + Оповещение, Контекст.ФайлДвоичныеДанные, Контекст.Сертификат); + + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПодписиФайла(ПодписанныеДанные, Контекст) Экспорт + + Контекст.Данные.Добавить(ПодписанныеДанные); + // Сохраняем на сервере, использование пустой строки избавляет + // от необходимости передавать обратно файл на сервер - он не менялся + ЗаписатьДанныеФайла("", Контекст.Данные); + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Изменение); + +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьПодпись(Команда) + // Подписи проверяем на сервере + Если ПроверитьПодписьНаСервере() Тогда + Сообщение = НСтр("ru = 'Успешное завершение проверки ЭЦП'", "ru"); + ПоказатьПредупреждение( , + Сообщение, + 3); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныйНаСервер(Команда) + + Оповещение = Новый ОписаниеОповещения( + "ПоместитьЗашифрованныйПослеПодключенияРасширенияКриптографии", + ЭтотОбъект); + НачатьПодключениеРасширенияРаботыСКриптографией(Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныйПослеПодключенияРасширенияКриптографии(Результат, ДополнительныеПараметры) Экспорт + + Если Не Результат Тогда + Сообщить(НСтр("ru = 'Для требуемой операции необходимо установить расширение работы с криптографией'", "ru")); + Возврат; + КонецЕсли; + + МенеджерКриптографии = Новый МенеджерКриптографии(); + + Оповещение = Новый ОписаниеОповещения( + "ПоместитьЗашифрованныйПослеИнициализацииМенеджера", + ЭтотОбъект); + МенеджерКриптографии.НачатьИнициализацию(Оповещение, "", "", 75); + +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныйПослеИнициализацииМенеджера(МенеджерКриптографии, ДополнительныеПараметры) Экспорт + + Контекст = Новый Структура( + "МенеджерКриптографии, НовыйОбъект, ИсходныеДанныеДляШифрования", + МенеджерКриптографии, Объект.Ссылка.Пустая(), Неопределено); + + Оповещение = Новый ОписаниеОповещения( + "ПоместитьЗашифрованныйПослеПодключенияРасширенияФайлов", + ЭтотОбъект, Контекст); + НачатьПодключениеРасширенияРаботыСФайлами(Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныйПослеПодключенияРасширенияФайлов(Результат, Контекст) Экспорт + + // выбор файла на диске, который нужно зашифровать и сохранить на сервере + // если не подключено расширение работы с файлами, операция выполняется + // неоптимально, увеличивается трафик с сервером и снижается защищенность + Если Результат Тогда + + Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); + + Оповещение = Новый ОписаниеОповещения( + "ПоместитьЗашифрованныйПослеВыбораФайлаВДиалоге", + ЭтотОбъект, Контекст); + Диалог.Показать(Оповещение) + + Иначе + Оповещение = Новый ОписаниеОповещения( + "ПоместитьЗашифрованныйПослеПомещенияБезРасширения", + ЭтотОбъект, Контекст); + НачатьПомещениеФайла(Оповещение, , , Истина); + Возврат; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныйПослеВыбораФайлаВДиалоге(ВыбранныеФайлы, Контекст) Экспорт + + Если ВыбранныеФайлы = Неопределено Тогда + Возврат; + КонецЕсли; + + Контекст.ИсходныеДанныеДляШифрования = ВыбранныеФайлы[0]; + ПоместитьЗашифрованныеДанныеКонтекста(ВыбранныеФайлы[0], Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныйПослеПомещенияБезРасширения(Результат, АдресФайлаДляШифрования, ВыбранноеИмя, Контекст) Экспорт + // Копи-паст из ПоместитьЗашифрованныйНаСервер + Если Не Результат Тогда + Возврат; + КонецЕсли; + + Контекст.ИсходныеДанныеДляШифрования = ПолучитьИзВременногоХранилища(АдресФайлаДляШифрования); + ПоместитьЗашифрованныеДанныеКонтекста(ВыбранноеИмя, Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныеДанныеКонтекста(ВыбранныйФайл, Контекст) Экспорт + + ЧастиИмени = СтрРазделить(ВыбранныйФайл, ПолучитьРазделительПути()); + Если ЧастиИмени.Количество() <= 0 Тогда + Возврат; + КонецЕсли; + + Объект.ИмяФайла = ЧастиИмени[ЧастиИмени.Количество() - 1]; + + // Формируем список сертификатов, которыми можно будет файл расшифровать + ПараметрыФормы = Новый СписокЗначений; + ПараметрыФормы.Добавить(ТипХранилищаСертификатовКриптографии.СертификатыПолучателей); + ПараметрыФормы.Добавить(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты); + + ПолучитьСписокСертификатов(ПараметрыФормы, Истина, "ПоместитьЗашифрованныйНаСерверЗавершение", Контекст); +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныйНаСерверЗавершение(Результат, Контекст) Экспорт + Если Результат = КодВозвратаДиалога.Отмена Тогда + Возврат; + КонецЕсли; + + Сертификаты = Результат; + + Если Сертификаты = Неопределено Или Сертификаты.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + Оповещение = Новый ОписаниеОповещения( + "ПоместитьЗашифрованныйПослеШифрования", + ЭтотОбъект, Контекст); + + // шифруем для выбранных сертификатов + Контекст.МенеджерКриптографии.НачатьШифрование( + Оповещение, Контекст.ИсходныеДанныеДляШифрования, Сертификаты); + +КонецПроцедуры + +&НаКлиенте +Процедура ПоместитьЗашифрованныйПослеШифрования(ЗашифрованныйДвоичныеДанные, Контекст) Экспорт + + Объект.Зашифрован = Истина; + + // Сохраняем на сервере + ЗаписатьДанныеФайла(ЗашифрованныйДвоичныеДанные, Новый Массив); + Если Контекст.НовыйОбъект Тогда + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Добавление); + Иначе + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Изменение); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Функция ЗашифроватьНаСервере(ДанныеСертификатов, ТекстОшибки) + Сертификаты = Новый Массив(); + Для Каждого ДанныеСертификата Из ДанныеСертификатов Цикл + Сертификаты.Добавить(Новый СертификатКриптографии(ДанныеСертификата)); + КонецЦикла; + + МенеджерКриптографии = Новый МенеджерКриптографии("", "", 75); + Данные = ПолучитьДанныеФайла(); + Если Данные.Количество() = 0 Тогда + ТекстОшибки = НСтр("ru = 'Нет данных файла!!!'", "ru"); + Возврат Ложь; + КонецЕсли; + ФайлДвоичныеДанные = Данные[0]; + Данные.Удалить(0); + + // шифруем + ЗашифрованныйДвоичныеДанные = МенеджерКриптографии.Зашифровать(ФайлДвоичныеДанные, Сертификаты); + + // Сохраняем на сервере + Объект.Зашифрован = Истина; + ЗаписатьДанныеФайла(ЗашифрованныйДвоичныеДанные, Данные); + Возврат Истина; +КонецФункции + +&НаКлиенте +Процедура Зашифровать(Команда) + + Оповещение = Новый ОписаниеОповещения( + "ЗашифроватьПослеПодключенияРасширения", + ЭтотОбъект); + НачатьПодключениеРасширенияРаботыСКриптографией(Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ЗашифроватьПослеПодключенияРасширения(Результат, ДополнительныеПараметры) Экспорт + + Если Не Результат Тогда + Сообщить(НСтр("ru = 'Для требуемой операции необходимо установить расширение работы с Криптографией'", "ru")); + Возврат; + КонецЕсли; + + Если Объект.Зашифрован Тогда + Сообщить(НСтр("ru = 'Файл уже зашифрован'", "ru")); + Возврат; + КонецЕсли; + + Если Объект.Подписан Тогда + Сообщить(НСтр("ru = 'Файл подписан, операция шифрования запрещена'", "ru")); + Возврат; + КонецЕсли; + + // Формируем список сертификатов, которыми можно будет файл расшифровать + ПараметрыФормы = Новый СписокЗначений; + ПараметрыФормы.Добавить(ТипХранилищаСертификатовКриптографии.СертификатыПолучателей); + ПараметрыФормы.Добавить(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты); + ПолучитьСписокСертификатов(ПараметрыФормы, Истина, "ЗашифроватьЗавершение"); +КонецПроцедуры + +&НаКлиенте +Процедура ЗашифроватьЗавершение(Результат, Контекст) Экспорт + + Если Результат = КодВозвратаДиалога.Отмена Тогда + Возврат; + КонецЕсли; + + Сертификаты = Результат; + + Если Сертификаты = Неопределено Или Сертификаты.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + НовыйОбъект = Объект.Ссылка.Пустая(); + + Контекст = Новый Структура( + "НовыйОбъект, Сертификаты, ДанныеСертификатов", + НовыйОбъект, Сертификаты, Новый Массив()); + ВыгрузитьСледующийСертификатДляШифрования(, Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыгрузитьСледующийСертификатДляШифрования(ВыгруженныеДанные, Контекст) Экспорт + + Перем ТекстОшибки; + + Если ВыгруженныеДанные <> Неопределено Тогда + + Контекст.ДанныеСертификатов.Добавить(ВыгруженныеДанные); + + КонецЕсли; + + Если Контекст.ДанныеСертификатов.Количество() = Контекст.Сертификаты.Количество() Тогда + + Результат = ЗашифроватьНаСервере(Контекст.ДанныеСертификатов, ТекстОшибки); + + Если Не Результат Тогда + Сообщить(ТекстОшибки); + Возврат; + КонецЕсли; + + Если Контекст.НовыйОбъект Тогда + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Добавление); + Иначе + ОтобразитьИзменениеДанных(Объект.Ссылка, ВидИзмененияДанных.Изменение); + КонецЕсли; + + Возврат; + + КонецЕсли; + + ТекущийСертификат = Контекст.Сертификаты[Контекст.ДанныеСертификатов.Количество()]; + + Оповещение = Новый ОписаниеОповещения( + "ВыгрузитьСледующийСертификатДляШифрования", + ЭтотОбъект, Контекст); + ТекущийСертификат.НачатьВыгрузку(Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСРасшифровкой(Команда) + // Получить на клиента + // Расшифровать + // Если двоичные данные, то передать на сервер + // Поместить в файл + Если Не ТипЗнч(Объект.Владелец) = Тип("СправочникСсылка.Контрагенты") Тогда + Сообщение = НСтр("ru = 'Расшифровать возможно только файлы контрагентов'", "ru"); + Сообщить(Сообщение); + Возврат; + КонецЕсли; + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСРасшифровкойПослеПодключенияРасширения", + ЭтотОбъект); + НачатьПодключениеРасширенияРаботыСКриптографией(Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСРасшифровкойПослеПодключенияРасширения(Результат, ДополнительныеПараметры) Экспорт + + Если Не Результат Тогда + Сообщить(НСтр("ru = 'Для требуемой операции необходимо установить расширение работы с криптографией'", "ru")); + Отказ = Истина; + Возврат; + КонецЕсли; + Данные = ПолучитьДанныеФайла(); + Если Данные.Количество() = 0 Тогда + Сообщить(НСтр("ru = 'Нет данных файла!!!'", "ru")); + Возврат; + КонецЕсли; + ФайлДвоичныеДанные = Данные[0]; + Данные.Удалить(0); + + МенеджерКриптографии = Новый МенеджерКриптографии(); + Контекст = Новый Структура( + "МенеджерКриптографии, ФайлДвоичныеДанные", + МенеджерКриптографии, ФайлДвоичныеДанные); + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСРасшифровкойПослеИнициализацииМенеджера", + ЭтотОбъект, Контекст); + МенеджерКриптографии.НачатьИнициализацию(Оповещение, "", "", 75); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСРасшифровкойПослеИнициализацииМенеджера(МенеджерКриптографии, Контекст) Экспорт + + ВводПароля(МенеджерКриптографии, "ПолучитьСРасшифровкойЗавершение", Контекст); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСРасшифровкойЗавершение(Результат, Контекст) Экспорт + Если Не Результат = КодВозвратаДиалога.ОК Тогда + Возврат; + КонецЕсли; + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСРасшифровкойЗавершениеПодклчюениярасширенияФайлов", + ЭтотОбъект, Контекст); + НачатьПодключениеРасширенияРаботыСФайлами(Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСРасшифровкойЗавершениеПодклчюениярасширенияФайлов(Результат, Контекст) Экспорт + + // сохранение расшифрованного в файловой системе клиента + Если Результат Тогда + Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение); + Диалог.ПолноеИмяФайла = Объект.ИмяФайла; + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСРасшифровкойПослеВыбораФайла", + ЭтотОбъект, Контекст); + Диалог.Показать(Оповещение); + + Иначе + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСРасшифровкойПослеРасшифровкиБезрасширения", + ЭтотОбъект, Контекст); + Контекст.МенеджерКриптографии.НачатьРасшифровку( + Оповещение, Контекст.ФайлДвоичныеДанные); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСРасшифровкойПослеВыбораФайла(ВыбранныеФайлы, Контекст) Экспорт + + Если ВыбранныеФайлы = Неопределено Тогда + Возврат; + КонецЕсли; + + Оповещение = Новый ОписаниеОповещения( + "ПолучитьСРасшифровкойПослеРасшифровкиСРасширением", + ЭтотОбъект, Контекст); + Контекст.МенеджерКриптографии.НачатьРасшифровку( + Оповещение, Контекст.ФайлДвоичныеДанные, ВыбранныеФайлы[0]); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСРасшифровкойПослеРасшифровкиБезрасширения(РасшифрованныйДвоичныеДанные, Контекст) Экспорт + + АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(РасшифрованныйДвоичныеДанные, УникальныйИдентификатор); + ИмяФайла = Объект.ИмяФайла; + ПолучитьФайл(АдресВоВременномХранилище, ИмяФайла, Истина); + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьСРасшифровкойПослеРасшифровкиСРасширением(РасшифрованныйФайл, Контекст) Экспорт + + ; // Файл расшифровался и записан в РасшифрованныйФайл + +КонецПроцедуры + + +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// процедура проверяет подписи +// - возращает Истина, если все подписи прошли проверку +&НаСервере +Функция ПроверитьПодписьНаСервере() + Данные = ПолучитьДанныеФайла(); + Если Данные.Количество() = 0 Тогда + Сообщить(НСтр("ru = 'Нет данных файла!!!'", "ru")); + Возврат Ложь; + КонецЕсли; + ФайлДвоичныеДанные = Данные[0]; + Данные.Удалить(0); + Если Данные.Количество() = 0 Тогда + Сообщение = НСтр("ru = 'Файл никем не подписан'", "ru"); + Сообщить(Сообщение); + Возврат Ложь; + КонецЕсли; + МенеджерКриптографии = Новый МенеджерКриптографии("", "", 75); + Для Каждого ЭЦПДвоичныеДанные Из Данные Цикл + МенеджерКриптографии.ПроверитьПодпись(ФайлДвоичныеДанные, ЭЦПДвоичныеДанные); + КонецЦикла; + Возврат Истина; +КонецФункции + +// процедура сохраняет на сервере файл, и, при наличии, файлы ЭЦП +&НаСервере +Процедура ЗаписатьДанныеФайла(ФайлДвоичныеДанные, ЭЦПДвоичныеДанные) + ЭлементСправочника = РеквизитФормыВЗначение("Объект"); + // ДанныеФайла меняем, только если переданы двоичные ланные + Если ТипЗнч(ФайлДвоичныеДанные) = Тип("ДвоичныеДанные") Тогда + ЭлементСправочника.ДанныеФайла = Новый ХранилищеЗначения(ФайлДвоичныеДанные, Новый СжатиеДанных()); + КонецЕсли; + + ЭлементСправочника.Подпись = Новый ХранилищеЗначения(ЭЦПДвоичныеДанные, Новый СжатиеДанных()); + + ЭлементСправочника.Записать(); + Модифицированность = Ложь; + ЗначениеВРеквизитФормы(ЭлементСправочника, "Объект"); + +КонецПроцедуры + +// процедура получает с сервера в виде массива двоичных данных файлы, первым идет +// файл, затем, при наличии, файлы ЭЦП +&НаСервере +Функция ПолучитьДанныеФайла() + Данные = Новый Массив; + ЭлементСправочника = РеквизитФормыВЗначение("Объект"); + ФайлДвоичныеДанные = ЭлементСправочника.ДанныеФайла.Получить(); + Если ТипЗнч(ФайлДвоичныеДанные) = Тип("ДвоичныеДанные") Тогда + Данные.Добавить(ФайлДвоичныеДанные); + ФайлыЭЦП = ЭлементСправочника.Подпись.Получить(); + Если ТипЗнч(ФайлыЭЦП) = Тип("Массив") Тогда + Для Каждого ФайлЭЦП Из ФайлыЭЦП Цикл + Если ТипЗнч(ФайлЭЦП) = Тип("ДвоичныеДанные") Тогда + Данные.Добавить(ФайлЭЦП); + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЕсли; + + Возврат Данные; +КонецФункции + +// Формирование (интерактивное) списка сертификатов криптографии +// ПараметрыВыбора - список типов хранилищ, сертификаты которых могут участвовать в выборе +// МножественныйВыбор +&НаКлиенте +Процедура ПолучитьСписокСертификатов(ПараметрыВыбора, МножественныйВыбор, ИмяПроцедурыЗавершения, Контекст = Неопределено) + ПараметрыФормы = Новый Структура; + ПараметрыФормы.Вставить("МножественныйВыбор", МножественныйВыбор); + ФормаСпискаСертификатов = ПолучитьФорму("Справочник.ХранимыеФайлы.Форма.СписокСертификатов", ПараметрыФормы); + ФормаСпискаСертификатов.Установка(ПараметрыВыбора); + ФормаСпискаСертификатов.ОписаниеОповещенияОЗакрытии = + Новый ОписаниеОповещения(ИмяПроцедурыЗавершения, ЭтотОбъект, Контекст); + ФормаСпискаСертификатов.Открыть(); +КонецПроцедуры + +// Процедура извлекает данные объекта из временного хранилища, +// производит модификацию элемента справочника и записывает его. +// +// Параметры: +// АдресВременногоХранилища – Строка – адрес временного хранилища. +// +// Возвращаемое значение: +// Нет. +&НаСервере +Процедура ПоместитьФайлОбъекта(АдресВременногоХранилища) + ЭлементСправочника = РеквизитФормыВЗначение("Объект"); + ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); + ЭлементСправочника.ДанныеФайла = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных()); + Файл = Новый Файл(ЭлементСправочника.ИмяФайла); + ЭлементСправочника.ИмяФайла = Файл.Имя; + ЭлементСправочника.Подпись = Новый ХранилищеЗначения(Неопределено, Новый СжатиеДанных()); + ЭлементСправочника.Зашифрован = Ложь; + ЭлементСправочника.Подписан = Ложь; + ЭлементСправочника.Записать(); + Модифицированность = Ложь; + УдалитьИзВременногоХранилища(АдресВременногоХранилища); + ЗначениеВРеквизитФормы(ЭлементСправочника, "Объект"); +КонецПроцедуры + +// интерактивный ввод пароля доступа к закрытому ключу сертификата криптографии +// возвращает введенный пароль в параметре вызова Пароль +// возращает Истина, если пароль введен +&НаКлиенте +Процедура ВводПароля(МенеджерСертификатов, ИмяПроцедурыЗавершения, Контекст = Неопределено) + Вернуть = Ложь; + ФормаПароля = ПолучитьФорму("Справочник.ХранимыеФайлы.Форма.ФормаПароля"); + ФормаПароля.МенеджерСертификатов = МенеджерСертификатов; + ФормаПароля.ОписаниеОповещенияОЗакрытии = + Новый ОписаниеОповещения(ИмяПроцедурыЗавершения, ЭтотОбъект, Контекст); + ФормаПароля.Открыть(); +КонецПроцедуры + +// Функция возвращает имя файла из полного пути +// +// Параметры: +// ПолныйПутьКФайлу – Строка – полный путь к файлу. +// +// Возвращаемое значение: +// Строка - имя файла. +&НаКлиенте +Функция ПолучитьИмяФайла(ПолныйПутьКФайлу) + + Если ПолныйПутьКФайлу = "" Тогда + Возврат ""; + КонецЕсли; + + ПозицияРазделителя = СтрНайти(ПолныйПутьКФайлу, + ПолучитьРазделительПути(), + НаправлениеПоиска.СКонца); + + Если ПозицияРазделителя = 0 Тогда + Возврат ПолныйПутьКФайлу; + КонецЕсли; + + Возврат Прав(ПолныйПутьКФайлу, + СтрДлина(ПолныйПутьКФайлу) - ПозицияРазделителя); + + КонецФункции diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Help/ru.html" new file mode 100644 index 000000000..66681097c --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/Help/ru.html" @@ -0,0 +1 @@ +В этом справочнике находятся файлы, которые содержат дополнительную информацию о товарах предприятия. Например, это фотография товара или подробная характеристика и т.п. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/ObjectModule.bsl" new file mode 100644 index 000000000..47a84bb61 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/ObjectModule.bsl" @@ -0,0 +1,9 @@ + +Процедура ПередЗаписью(Отказ) + Подписи = Подпись.Получить(); + Если ТипЗнч(Подписи) = Тип("Массив") И Подписи.Количество() > 0 Тогда + Подписан = Истина; + Иначе + Подписан = Ложь; + КонецЕсли; +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213.mdo" "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213.mdo" new file mode 100644 index 000000000..30c6a7353 --- /dev/null +++ "b/fixtures/demo-configuration/src/Catalogs/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213/\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\265\320\244\320\260\320\271\320\273\321\213.mdo" @@ -0,0 +1,317 @@ + + + + + + + + + + ХранимыеФайлы + + ru + Хранимые файлы + + + true + Catalog.ХранимыеФайлы.StandardAttribute.Description + Catalog.ХранимыеФайлы.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Owner + + true + + ShowError + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + Use + true + + + ru + + + + ru + Файл + + + ru + Файлы + + + ru + Файлы (картинки, документы и т.п.), хранимые в системе + + Use + 2 + true + Catalog.Товары + Catalog.Контрагенты + 9 + 25 + String + Variable + true + true + AsDescription + InDialog + BothWays + Catalog.ХранимыеФайлы.Form.ФормаЭлемента + Catalog.ХранимыеФайлы.Form.ФормаСписка + Catalog.ХранимыеФайлы.Form.ФормаВыбора + + ДанныеФайла + + ru + Данные файла + + + + ValueStorage + + + + + + Use + Use + + + ИмяФайла + + ru + Имя файла + + + + String + + + + + + DontUse + Use + + + + Use + Use + + + Подпись + + ru + Подпись + + + + ValueStorage + + + + + + Use + Use + + + Подписан + + ru + Подписан + + + + Boolean + + + + + + Use + Use + + + Зашифрован + + ru + Зашифрован + + + + Boolean + + + + + + Use + Use + + + ДляОписания + + ru + Для описания + + + + Boolean + + + + + + Use + Use + + + ФормаЭлемента + + ru + Форма элемента + + + PersonalComputer + MobileDevice + + + ФормаЗагрузкиФайлов + + ru + Форма загрузки файлов + + + PersonalComputer + MobileDevice + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + + ФормаПароля + + ru + Форма пароля + + + PersonalComputer + MobileDevice + + + СписокСертификатов + + ru + Список сертификатов + + + PersonalComputer + MobileDevice + + + ФормаВыбора + + ru + Форма выбора + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Help/ru.html" "b/fixtures/demo-configuration/src/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Help/ru.html" new file mode 100644 index 000000000..b3881c413 --- /dev/null +++ "b/fixtures/demo-configuration/src/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Help/ru.html" @@ -0,0 +1 @@ +Здесь находится информация о различных видах характеристик товаров предприятия. Например, цвет, материал, размер и т.д. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" "b/fixtures/demo-configuration/src/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" new file mode 100644 index 000000000..b7af2a487 --- /dev/null +++ "b/fixtures/demo-configuration/src/ChartsOfCharacteristicTypes/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\222\320\270\320\264\321\213\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" @@ -0,0 +1,192 @@ + + + + + + + + + + + ВидыХарактеристик + + ru + Виды характеристик + + + true + ChartOfCharacteristicTypes.ВидыХарактеристик.StandardAttribute.Description + ChartOfCharacteristicTypes.ВидыХарактеристик.StandardAttribute.Code + DontUse + + Use + PredefinedDataName + + + Use + + + + + + Use + ValueType + + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + Use + + + + + + Use + IsFolder + + + Use + + + + + + Use + Parent + + true + + Use + + + + + + Use + Predefined + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Ref + + + Use + + + + + DontUse + true + + + ru + + + Use + + ru + Вид характеристики + + + ru + Виды характеристик + + + ru + Виды характеристик + + + ru + Виды дополнительных характеристик и свойств + + Catalog.ЗначенияХарактеристик + + CatalogRef.ЗначенияХарактеристик + CatalogRef.Склады + CatalogRef.ВидыЦен + CatalogRef.РасчетныеСчета + Boolean + CatalogRef.Банки + CatalogRef.Контрагенты + CatalogRef.Регионы + CatalogRef.Товары + String + Date + Number + CatalogRef.Организации + CatalogRef.РасчетныеСчетаКонтрагентов + CatalogRef.Валюты + + 10 + + + 1000 + + + Date + + + true + 9 + Variable + 25 + true + true + AsDescription + InDialog + BothWays + + Назначение + + ru + Назначение + + + + EnumRef.НазначениеХарактеристик + + + + + true + + IndexWithAdditionalOrder + Use + Use + + diff --git "a/fixtures/demo-configuration/src/CommandGroups/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/CommandGroups/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217.mdo" new file mode 100644 index 000000000..38ad5b78c --- /dev/null +++ "b/fixtures/demo-configuration/src/CommandGroups/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217/\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\321\217.mdo" @@ -0,0 +1,11 @@ + + + Информация + + ru + Информация + + + Auto + ActionsPanel + diff --git "a/fixtures/demo-configuration/src/CommandGroups/\320\237\320\265\321\207\320\260\321\202\321\214/\320\237\320\265\321\207\320\260\321\202\321\214.mdo" "b/fixtures/demo-configuration/src/CommandGroups/\320\237\320\265\321\207\320\260\321\202\321\214/\320\237\320\265\321\207\320\260\321\202\321\214.mdo" new file mode 100644 index 000000000..d57db81d6 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommandGroups/\320\237\320\265\321\207\320\260\321\202\321\214/\320\237\320\265\321\207\320\260\321\202\321\214.mdo" @@ -0,0 +1,11 @@ + + + Печать + + ru + Печать + + + Auto + FormCommandBar + diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262/CommandModule.bsl" "b/fixtures/demo-configuration/src/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262/CommandModule.bsl" new file mode 100644 index 000000000..247fe6443 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262/CommandModule.bsl" @@ -0,0 +1,81 @@ +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// Заполнение параметров подключения драйвера сканера и их сохранение в хранилище настроек. +// +// Параметры: +// ТипОС – Строка – тип операционной системы. (IN) +// ВыбранныеПараметры – Структура – исходные данные для подключения. (IN) +// АдресДрайвераСканера - Строка адрес вненшей компоненты сканера +// +// Возвращаемое значение: +// Нет. +&НаСервере +Процедура СохранитьПараметрыПодключенияСканера(ТипОС, ВыбранныеПараметры) + + Параметры = Новый Структура(); + Параметры.Вставить("БитДанных", ВыбранныеПараметры.БитДанных); + Параметры.Вставить("Скорость", ВыбранныеПараметры.Скорость); + Параметры.Вставить("Порт", ВыбранныеПараметры.Порт); + + Если ТипОС = "Windows" Тогда + + ХранилищеОбщихНастроек.Сохранить("ТекущиеНастройкиСканераWindows",,Параметры); + + ИначеЕсли ТипОС = "Linux" Тогда + + ХранилищеОбщихНастроек.Сохранить("ТекущиеНастройкиСканераLinux",,Параметры); + + КонецЕсли; + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +// обработка команды настройки сканера штрихкодов +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + // Обновление текуших настроек сканера + + // Откроем форму настройки торгового оборудования + Оповещение = Новый ОписаниеОповещения("ОбработкаКомандыЗавершение", ЭтотОбъект); + ОткрытьФорму("Справочник.НастройкиТорговогоОборудования.ФормаВыбора", + Новый Структура("РежимВыбора", Истина),,,,, + Оповещение, РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаКомандыЗавершение(ВыбранныеНастройки, Параметры) Экспорт + + // если настройки выбраны - осуществляем попытку подключения сканера + Если ВыбранныеНастройки <> Неопределено Тогда + + СисИнфо = Новый СистемнаяИнформация; + + Если СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86 ИЛИ СисИнфо.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда + + ТипОС = "Windows"; + + ИначеЕсли СисИнфо.ТипПлатформы = ТипПлатформы.Linux_x86 ИЛИ СисИнфо.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда + + ТипОС = "Linux"; + + КонецЕсли; + + СохранитьПараметрыПодключенияСканера(ТипОС, ВыбранныеНастройки); + // Применение новых настроек подключения сканера штрихкодов + Оп = Новый ОписаниеОповещения("ПослеОтключенияСканераШтрихкодов", ЭтотОбъект); + РаботаСТорговымОборудованием.НачатьОтключениеСканераШтрихкодов(Оп); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеОтключенияСканераШтрихкодов(Результат, Параметры) Экспорт + РаботаСТорговымОборудованием.НачатьПодключениеСканераШтрихкодов(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262.mdo" new file mode 100644 index 000000000..8143ada18 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262/\320\235\320\260\321\201\321\202\321\200\320\276\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264\320\276\320\262.mdo" @@ -0,0 +1,17 @@ + + + НастроитьСканерШтрихКодов + + ru + Настроить сканер + + + ActionsPanelTools + + Auto + + ru + Настроить сканер штрихкодов + + + diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/CommandModule.bsl" "b/fixtures/demo-configuration/src/CommonCommands/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/CommandModule.bsl" new file mode 100644 index 000000000..a92353966 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/CommandModule.bsl" @@ -0,0 +1,6 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ПараметрыФормы = Новый Структура(); + ОткрытьФорму("ОбщаяФорма.ОбщиеНастройки", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.mdo" "b/fixtures/demo-configuration/src/CommonCommands/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.mdo" new file mode 100644 index 000000000..f8586025c --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.mdo" @@ -0,0 +1,13 @@ + + + ОбщиеНастройки + + ru + Общие настройки + + + ActionsPanelTools + + Auto + + diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI/CommandModule.bsl" "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI/CommandModule.bsl" new file mode 100644 index 000000000..6475f2d84 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI/CommandModule.bsl" @@ -0,0 +1,45 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + УстановитьВидимостьОбъектовЧерезODataAPI(); +КонецПроцедуры + + +Процедура УстановитьВидимостьОбъектовЧерезODataAPI() + Массив = Новый Массив(); + + Для Каждого Справочник Из Метаданные.Справочники Цикл + Массив.Добавить(Справочник); + КонецЦикла; + + Для Каждого Документ Из Метаданные.Документы Цикл + Массив.Добавить(Документ); + КонецЦикла; + + Для Каждого Перечисление Из Метаданные.Перечисления Цикл + Массив.Добавить(Перечисление); + КонецЦикла; + + Для Каждого РегистрСведений Из Метаданные.РегистрыСведений Цикл + Массив.Добавить(РегистрСведений); + КонецЦикла; + + Для Каждого РегистрНакопления Из Метаданные.РегистрыНакопления Цикл + Массив.Добавить(РегистрНакопления); + КонецЦикла; + + Для Каждого ПланВидовХарактеристик Из Метаданные.ПланыВидовХарактеристик Цикл + Массив.Добавить(ПланВидовХарактеристик); + КонецЦикла; + + + Для Каждого Константа Из Метаданные.Константы Цикл + Массив.Добавить(Константа); + КонецЦикла; + + Для Каждого Журналы Из Метаданные.ЖурналыДокументов Цикл + Массив.Добавить(Журналы); + КонецЦикла; + + УстановитьСоставСтандартногоИнтерфейсаOData(Массив); +КонецПроцедуры \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI.mdo" "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI.mdo" new file mode 100644 index 000000000..1c7543ddf --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\222\320\270\320\264\320\270\320\274\320\276\321\201\321\202\321\214\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\247\320\265\321\200\320\265\320\267ODataAPI.mdo" @@ -0,0 +1,13 @@ + + + УстановитьВидимостьОбъектовЧерезODataAPI + + ru + Установить видимость объектов через OData API + + + ActionsPanelTools + + Auto + + diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271/CommandModule.bsl" "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271/CommandModule.bsl" new file mode 100644 index 000000000..04ebf1a36 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271/CommandModule.bsl" @@ -0,0 +1,10 @@ + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +// обработка команды установки расширения криптографии +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + НачатьУстановкуРасширенияРаботыСКриптографией(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271.mdo" "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271.mdo" new file mode 100644 index 000000000..94ce47a39 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\320\265\320\271.mdo" @@ -0,0 +1,13 @@ + + + УстановитьРасширениеРаботыСКриптографией + + ru + Установить расширение работы с криптографией + + + ActionsPanelTools + + Auto + + diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/CommandModule.bsl" "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/CommandModule.bsl" new file mode 100644 index 000000000..32c5dde25 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/CommandModule.bsl" @@ -0,0 +1,9 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +// обработка команды установки расширения работы с файлами +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + НачатьУстановкуРасширенияРаботыСФайлами(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.mdo" "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.mdo" new file mode 100644 index 000000000..f033f28f3 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\240\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\320\265\320\240\320\260\320\261\320\276\321\202\321\213\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270.mdo" @@ -0,0 +1,13 @@ + + + УстановитьРасширениеРаботыСФайлами + + ru + Установить расширение работы с файлами + + + ActionsPanelTools + + Auto + + diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/CommandModule.bsl" "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/CommandModule.bsl" new file mode 100644 index 000000000..fbcb089bf --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/CommandModule.bsl" @@ -0,0 +1,12 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +// обработка команды установки драйвера сканера штрихкодов +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды) + + // Подключение внешней компоненты + НачатьУстановкуВнешнейКомпоненты(, "ОбщийМакет.ДрайверСканераШтрихкодов"); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262.mdo" new file mode 100644 index 000000000..506642df8 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonCommands/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\270\321\202\321\214\320\241\320\272\320\260\320\275\320\265\321\200\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262.mdo" @@ -0,0 +1,17 @@ + + + УстановитьСканерШтрихкодов + + ru + Установить программу работы со сканером + + + ActionsPanelTools + + Auto + + ru + Установить компоненту для работы со сканером штрихкодов + + + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/Form.form" "b/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/Form.form" new file mode 100644 index 000000000..1f7d4e9f0 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/Form.form" @@ -0,0 +1,169 @@ + + + + Текст + 3 + true + true + + true + + + + Текст + + + None + + ТекстРасширеннаяПодсказка + 5 + true + true + + true + + Label + true + true + + Left + + + + ТекстКонтекстноеМеню + 4 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ФормаКоманднаяПанель + -1 + + Позвонить + 1 + true + true + + true + + + ПозвонитьРасширеннаяПодсказка + 2 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Позвонить + Picture + true + true + true + UserCmds + + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Текст + + <key>ru</key> + <value>Текст</value> + + 1 + + String + + + + true + + + true + + + + Данные + + <key>ru</key> + <value>Данные</value> + + 2 + + String + + + + true + + + true + + + + Позвонить + + <key>ru</key> + <value>Позвонить</value> + + 1 + + ru + Позвонить + + + true + + + CommonPicture.Позвонить + + + + Позвонить + + + DontUse + + + + + + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/Module.bsl" "b/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/Module.bsl" new file mode 100644 index 000000000..e7b0e7f08 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/Module.bsl" @@ -0,0 +1,16 @@ +&НаКлиенте +Процедура Позвонить(Команда) + +#Если МобильныйКлиент Тогда + СредстваТелефонии.НабратьНомер(Данные, Ложь); +#КонецЕсли + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Данные = Параметры.Данные; + Текст = Параметры.Текст; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/\320\227\320\262\320\276\320\275\320\276\320\272.mdo" "b/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/\320\227\320\262\320\276\320\275\320\276\320\272.mdo" new file mode 100644 index 000000000..5c39fe47e --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\227\320\262\320\276\320\275\320\276\320\272/\320\227\320\262\320\276\320\275\320\276\320\272.mdo" @@ -0,0 +1,11 @@ + + + Звонок + + ru + Звонок + + + PersonalComputer + MobileDevice + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/Form.form" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/Form.form" new file mode 100644 index 000000000..55139fb06 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/Form.form" @@ -0,0 +1,1067 @@ + + + + ИспользоватьPushУведомления + 29 + + <key>ru</key> + <value>Push-уведомления</value> + + true + true + + true + + + + Объект.ИспользоватьPushУведомления + + + + OnChange + ИспользоватьPushУведомленияПриИзменении + + + ИспользоватьPushУведомленияРасширеннаяПодсказка + 31 + true + true + + true + + Label + true + true + + Left + + + + ИспользоватьPushУведомленияКонтекстноеМеню + 30 + true + true + + true + + true + + RadioButtonField + Enter + true + Left + true + + + + ru + Не использовать + + + Enum.PushУведомления.EnumValue.НеИспользовать + + + + + ru + Отправлять непосредственно + + + Enum.PushУведомления.EnumValue.ОтправлятьНепосредственно + + + + + ru + Использовать вспомогательный сервис + + + Enum.PushУведомления.EnumValue.ИспользоватьВспомогательныйСервис + + + + + + Настройки + 32 + + Локальные + 36 + + GCM + 16 + + ИспользоватьGCM + 41 + + <key>ru</key> + <value>Использовать GCM (для Android устройств)</value> + + true + true + + true + + + + Объект.ИспользоватьGCM + + + + ИспользоватьGCMРасширеннаяПодсказка + 43 + true + true + + true + + Label + true + true + + Left + + + + ИспользоватьGCMКонтекстноеМеню + 42 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + НомерПриложения + 4 + + <key>ru</key> + <value>Номер приложения</value> + + true + true + + true + + + + Объект.НомерПриложенияGoogleCloud + + + + НомерПриложенияРасширеннаяПодсказка + 6 + true + true + + true + + Label + true + true + + Left + + + + НомерПриложенияКонтекстноеМеню + 5 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + КлючОтправителя + 7 + + <key>ru</key> + <value>Ключ отправителя</value> + + true + true + + true + + + + Объект.КлючCервераОтправителяGCM + + + + КлючОтправителяРасширеннаяПодсказка + 9 + true + true + + true + + Label + true + true + + Left + + + + КлючОтправителяКонтекстноеМеню + 8 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>GCM</value> + + + ru + GCM + + + GCMРасширеннаяПодсказка + 17 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + NormalSeparation + true + true + Auto + DontUse + + + + APNS + 18 + + ИспользоватьAPNS + 38 + + <key>ru</key> + <value>Использовать APNs (для IOS устройств)</value> + + true + true + + true + + + + Объект.ИспользоватьAPNS + + + + ИспользоватьAPNSРасширеннаяПодсказка + 40 + true + true + + true + + Label + true + true + + Left + + + + ИспользоватьAPNSКонтекстноеМеню + 39 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + Группа1 + 25 + + ЗагрузитьСертификат + 20 + true + true + + true + + + ЗагрузитьСертификатРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ЗагрузитьСертификат + Auto + true + true + UserCmds + + + СертификатЗагружен + 22 + true + true + + true + + + + СертификатЗагружен + + + + СертификатЗагруженРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + СертификатЗагруженКонтекстноеМеню + 23 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + Группа1РасширеннаяПодсказка + 26 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + WeakSeparation + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>APNS</value> + + + ru + APNS + + + APNSРасширеннаяПодсказка + 19 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + NormalSeparation + true + true + Auto + DontUse + + + + WNS + 48 + + ИспользоватьWNS + 59 + + <key>ru</key> + <value>Использовать WNS (для Windows устройств)</value> + + true + true + + true + + + + Объект.ИспользоватьWNS + + + + ИспользоватьWNSРасширеннаяПодсказка + 61 + true + true + + true + + Label + true + true + + Left + + + + ИспользоватьWNSКонтекстноеМеню + 60 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ИдентификаторПриложенияWNS + 50 + + <key>ru</key> + <value>Идентификатор приложения</value> + + true + true + + true + + + + Объект.ИдентификаторПриложенияWNS + + + + ИдентификаторПриложенияWNSРасширеннаяПодсказка + 52 + true + true + + true + + Label + true + true + + Left + + + + ИдентификаторПриложенияWNSКонтекстноеМеню + 51 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + КлючПриложенияWNS + 53 + + <key>ru</key> + <value>Ключ приложения</value> + + true + true + + true + + + + Объект.КлючПриложенияWNS + + + + КлючПриложенияWNSРасширеннаяПодсказка + 55 + true + true + + true + + Label + true + true + + Left + + + + КлючПриложенияWNSКонтекстноеМеню + 54 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>WNS</value> + + + ru + WNS + + + WNSРасширеннаяПодсказка + 49 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + NormalSeparation + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Локальные</value> + + + ru + Локальные + + + ЛокальныеРасширеннаяПодсказка + 37 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + Сервис + 34 + + Группа2 + 44 + + ЛогинСервиса + 13 + true + true + + true + + + + Объект.ЛогинСервисаПередачиPushУведомлений + + + + ЛогинСервисаРасширеннаяПодсказка + 15 + true + true + + true + + Label + true + true + + Left + + + + ЛогинСервисаКонтекстноеМеню + 14 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ПолучитьЛогин + 46 + true + true + + true + + + ПолучитьЛогинРасширеннаяПодсказка + 47 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ПолучитьЛогин + Auto + true + true + UserCmds + + true + true + + true + + + Группа2РасширеннаяПодсказка + 45 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + WeakSeparation + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Сервис</value> + + + ru + Сервис + + + СервисРасширеннаяПодсказка + 35 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + Pages + + DontUse + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + + <key>ru</key> + <value>Объект</value> + + 1 + + ConstantsSet + + + true + + + true + + + Объект.ИдентификаторПриложенияWNS + + + Объект.ИспользоватьAPNS + + + Объект.ИспользоватьGCM + + + Объект.ИспользоватьPushУведомления + + + Объект.ИспользоватьWNS + + + Объект.КлючCервераОтправителяGCM + + + Объект.КлючПриложенияWNS + + + Объект.ЛогинСервисаПередачиPushУведомлений + + + Объект.НомерПриложенияGoogleCloud + +
true
+
+ + АдресСертификата + + <key>ru</key> + <value>Адрес сертификата</value> + + 2 + + String + + + + true + + + true + + + + СертификатЗагружен + + <key>ru</key> + <value>Сертификат загружен</value> + + 3 + + Boolean + + + true + + + true + + + + ЗагрузитьСертификат + + <key>ru</key> + <value>Загрузить сертификат</value> + + 1 + + ru + Загрузить сертификат + + + true + + + + ЗагрузитьСертификат + + + DontUse + + + ПолучитьЛогин + + <key>ru</key> + <value>Получить новый ключ</value> + + 2 + + ru + Получить логин + + + true + + + + ПолучитьЛогин + + + DontUse + + + + + + + + OnWriteAtServer + ПриЗаписиНаСервере + + +
diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/Module.bsl" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/Module.bsl" new file mode 100644 index 000000000..af93986ff --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/Module.bsl" @@ -0,0 +1,60 @@ +&НаКлиенте +Процедура ЗагрузитьСертификат(Команда) + Оповещение = Новый ОписаниеОповещения("ЗагрузитьСертификатЗавершение", ЭтотОбъект); + НачатьПомещениеФайла(Оповещение, , "", Истина, УникальныйИдентификатор); +КонецПроцедуры + +&НаКлиенте +Процедура ЗагрузитьСертификатЗавершение(Результат, АдресВременногоХранилища, ВыбранноеИмя, ДополнительныеПараметры) Экспорт + Если Результат Тогда + АдресСертификата = АдресВременногоХранилища; + СертификатЗагружен = Не ПустаяСтрока(АдресСертификата); + КонецЕсли; +КонецПроцедуры + + +&НаСервере +Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + Если АдресСертификата <> "" Тогда + ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресСертификата); + Константы.СертификатМобильногоПриложенияIOS.Установить(Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных())); + КонецЕсли; +КонецПроцедуры + + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Сертификат = Константы.СертификатМобильногоПриложенияIOS.Получить().Получить(); + СертификатЗагружен = ЗначениеЗаполнено(Сертификат); + ИспользоватьPushУведомленияПриИзмененииНаСервере(); + +КонецПроцедуры + + +&НаКлиенте +Процедура ИспользоватьPushУведомленияПриИзменении(Элемент) + ИспользоватьPushУведомленияПриИзмененииНаСервере(); +КонецПроцедуры + + +&НаСервере +Процедура ИспользоватьPushУведомленияПриИзмененииНаСервере() + Если Объект.ИспользоватьPushУведомления = Перечисления.PushУведомления.ИспользоватьВспомогательныйСервис Тогда + Элементы.Локальные.Видимость = Ложь; + Элементы.Сервис.Видимость = Истина; + ИначеЕсли Объект.ИспользоватьPushУведомления = Перечисления.PushУведомления.ОтправлятьНепосредственно Тогда + Элементы.Локальные.Видимость = Истина; + Элементы.Сервис.Видимость = Ложь; + Иначе + Элементы.Локальные.Видимость = Ложь; + Элементы.Сервис.Видимость = Ложь; + КонецЕсли; +КонецПроцедуры + + +&НаКлиенте +Процедура ПолучитьЛогин(Команда) + ПерейтиПоНавигационнойСсылке("https://pushnotifications.1c.com/push/publishers/new"); +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.mdo" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.mdo" new file mode 100644 index 000000000..3f8be6dbd --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.mdo" @@ -0,0 +1,12 @@ + + + НастройкаPushУведомлений + + ru + Настройка отправки push-уведомлений + + + PersonalComputer + MobileDevice + true + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Form.form" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Form.form" new file mode 100644 index 000000000..90b0748a8 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Form.form" @@ -0,0 +1,532 @@ + + + + <key>ru</key> + <value>Настройка помощника</value> + + + ГруппаКоличествоДней + 18 + + КоличествоДней + 1 + true + true + + true + + + + КоличествоДней + + + + OnChange + КоличествоДнейПриИзменении + + + КоличествоДнейРасширеннаяПодсказка + 3 + true + true + + true + + Label + true + true + + Left + + + + КоличествоДнейКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + + 1 + + + + + КоличествоДнейСтрока + 15 + true + + true + + + + КоличествоДнейСтрока + + + None + + КоличествоДнейСтрокаРасширеннаяПодсказка + 17 + true + true + + true + + Label + true + true + + Left + + + + КоличествоДнейСтрокаКонтекстноеМеню + 16 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа количество дней</value> + + + ru + Группа количество дней + + + ГруппаКоличествоДнейРасширеннаяПодсказка + 19 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ГруппаИнтервалПроверки + 20 + + ИнтервалПроверкиИнтервалПроверкиЗаказов + 10 + + <key>ru</key> + <value>Сообщать о заказах, незакрытых более</value> + + true + true + + true + + + + Объект.ПериодПроверкиНеотработанныхЗаказов + + + + OnChange + ИнтервалПроверкиИнтервалПроверкиЗаказовПриИзменении + + + ИнтервалПроверкиИнтервалПроверкиЗаказовРасширеннаяПодсказка + 12 + true + true + + true + + Label + true + true + + Left + + + + ИнтервалПроверкиИнтервалПроверкиЗаказовКонтекстноеМеню + 11 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + + 1 + + + + + ИнтервалПроверкиСтрока + 22 + true + + true + + + + ИнтервалПроверкиСтрока + + + None + + ИнтервалПроверкиСтрокаРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + ИнтервалПроверкиСтрокаКонтекстноеМеню + 23 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа интервал проверки</value> + + + ru + Группа интервал проверки + + + ГруппаИнтервалПроверкиРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ГруппаКоманд + 25 + + ФормаЗаписатьИЗакрыть + 13 + + <key>ru</key> + <value>ОК</value> + + true + true + + true + + + ФормаЗаписатьИЗакрытьРасширеннаяПодсказка + 14 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.WriteAndClose + Auto + true + true + true + UserCmds + + + ФормаОтмена + 6 + true + true + + true + + + ФормаОтменаРасширеннаяПодсказка + 7 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Cancel + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Группа команд</value> + + + ru + Группа команд + + Right + + ГруппаКомандРасширеннаяПодсказка + 26 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + HorizontalIfPossible + NormalSeparation + true + true + Auto + DontUse + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Right + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + Vertical + true + true + true + true + true + + КоличествоДней + + <key>ru</key> + <value>Проверять незакрытые заказы каждые</value> + + 1 + + Number + + 3 + true + + + + true + + + true + + + + Объект + + <key>ru</key> + <value>Объект</value> + + 2 + + ConstantsSet + + + true + + + true + +
true
+
+ + КоличествоДнейСтрока + + <key>ru</key> + <value>Количество дней строка</value> + + 3 + + String + + 4 + + + + true + + + true + + + + ИнтервалПроверкиСтрока + + <key>ru</key> + <value>Интервал проверки строка</value> + + 4 + + String + + 4 + + + + true + + + true + + + + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + BeforeWriteAtServer + ПередЗаписьюНаСервере + + +
diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Module.bsl" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Module.bsl" new file mode 100644 index 000000000..a34a1b090 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Module.bsl" @@ -0,0 +1,69 @@ +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если НЕ ПравоДоступа("Администрирование", Метаданные) Тогда + + Сообщить(НСтр("ru = 'Настройка доступна только администратору'", "ru")); + Отказ = Истина; + Возврат; + + КонецЕсли; + + Задание = РегламентныеЗадания.НайтиПредопределенное("ПомощникНеОтработанныеЗаказы"); + КоличествоДней = Задание.Расписание.ПериодПовтораДней; + + Если Объект.ПериодПроверкиНеотработанныхЗаказов = 0 Тогда + Объект.ПериодПроверкиНеотработанныхЗаказов = 30; + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + + Задание = РегламентныеЗадания.НайтиПредопределенное("ПомощникНеОтработанныеЗаказы"); + Задание.Расписание.ПериодПовтораДней = КоличествоДней; + Задание.Записать(); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + УстановитьСтрокиСЧислом(); + +КонецПроцедуры + +&НаКлиенте +Процедура КоличествоДнейПриИзменении(Элемент) + + УстановитьСтрокиСЧислом(); + +КонецПроцедуры + +&НаКлиенте +Процедура ИнтервалПроверкиИнтервалПроверкиЗаказовПриИзменении(Элемент) + + УстановитьСтрокиСЧислом(); + +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьСтрокиСЧислом() + + КоличествоДнейСтрока = + СтрокаСЧислом(НСтр("ru = ';день;;дня;дней;дня'", "ru"), КоличествоДней, ВидЧисловогоЗначения.Количественное); + + ИнтервалПроверкиСтрока = + СтрокаСЧислом(НСтр("ru = ';дня;;дней;дней;дней'", "ru"), Объект.ПериодПроверкиНеотработанныхЗаказов, ВидЧисловогоЗначения.Количественное); + +КонецПроцедуры + + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + Помощник.ИзменениеНастройки(); + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" new file mode 100644 index 000000000..de1e6161a --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\260\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" @@ -0,0 +1,11 @@ + + + НастройкаПомощникаНеотработанныхЗаказов + + ru + Настройка помощника неотработанных заказов + + + PersonalComputer + MobileDevice + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213/Form.form" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213/Form.form" new file mode 100644 index 000000000..ec9ff730b --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213/Form.form" @@ -0,0 +1,1275 @@ + + + + ИмяОтправителя + 54 + true + true + + true + + + + Объект.ИмяОтправителяПочтовогоСообщения + + + + ИмяОтправителяExtendedTooltip + 89 + true + true + + true + + Label + true + true + + Left + + + + ИмяОтправителяКонтекстноеМеню + 55 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + Группа1 + 124 + + ГруппаНастройкаSMTPСервера + 27 + + АдресSMTPСервера + 58 + + <key>ru</key> + <value>Адрес SMTP сервера</value> + + true + true + + true + + + + Объект.АдресSMTPСервера + + + + АдресSMTPСервераExtendedTooltip + 91 + true + true + + true + + Label + true + true + + Left + + + + АдресSMTPСервераКонтекстноеМеню + 59 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ПортSMTP + 60 + true + true + + true + + + + Объект.ПортSMTP + + + + ru + 0 - устанавливать порт автоматически + + ShowRight + + ПортSMTPРасширеннаяПодсказка + 92 + true + true + + true + + Label + true + true + + Left + + + + ПортSMTPКонтекстноеМеню + 61 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + SMTPSSL + 109 + + <key>ru</key> + <value>SSL</value> + + true + true + + true + + + + Объект.SSLSMTP + + + + SMTPSSLРасширеннаяПодсказка + 111 + true + true + + true + + Label + true + true + + Left + + + + SMTPSSLКонтекстноеМеню + 110 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ПользовательSMTP + 64 + true + true + + true + + + + Объект.ПользовательSMTP + + + + ПользовательSMTPExtendedTooltip + 94 + true + true + + true + + Label + true + true + + Left + + + + ПользовательSMTPКонтекстноеМеню + 65 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ПарольSMTP + 66 + true + true + + true + + + + Объект.ПарольSMTP + + + + ПарольSMTPExtendedTooltip + 95 + true + true + + true + + Label + true + true + + Left + + + + ПарольSMTPКонтекстноеМеню + 67 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ТолькоЗащищеннаяАутентификацияSMTP + 115 + + <key>ru</key> + <value>Защищенная аутентификация</value> + + true + true + + true + + + + Объект.ТолькоЗащищеннаяАутентификацияSMTP + + + + ТолькоЗащищеннаяАутентификацияSMTPРасширеннаяПодсказка + 117 + true + true + + true + + Label + true + true + + Left + + + + ТолькоЗащищеннаяАутентификацияSMTPКонтекстноеМеню + 116 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Настройка SMTP сервера</value> + + + ru + Группа настройка SMTPСервера + + + ГруппаНастройкаSMTPСервераExtendedTooltip + 90 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + ГруппаНастройкаPOP3Сервера + 28 + + АдресPOP3Сервера + 68 + true + true + + true + + + + Объект.АдресPOP3Сервера + + + + АдресPOP3СервераExtendedTooltip + 97 + true + true + + true + + Label + true + true + + Left + + + + АдресPOP3СервераКонтекстноеМеню + 69 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ПортPOP3 + 70 + true + true + + true + + + + Объект.ПортPOP3 + + + + ru + 0 - устанавливать порт автоматически + + ShowRight + + ПортPOP3РасширеннаяПодсказка + 98 + true + true + + true + + Label + true + true + + Left + + + + ПортPOP3КонтекстноеМеню + 71 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + POP3SSL + 112 + + <key>ru</key> + <value>SSL</value> + + true + true + + true + + + + Объект.SSLPOP3 + + + + POP3SSLРасширеннаяПодсказка + 114 + true + true + + true + + Label + true + true + + Left + + + + POP3SSLКонтекстноеМеню + 113 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ПользовательPOP3 + 72 + true + true + + true + + + + Объект.ПользовательPOP3 + + + + ПользовательPOP3ExtendedTooltip + 99 + true + true + + true + + Label + true + true + + Left + + + + ПользовательPOP3КонтекстноеМеню + 73 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ПарольPOP3 + 74 + true + true + + true + + + + Объект.ПарольPOP3 + + + + ПарольPOP3ExtendedTooltip + 100 + true + true + + true + + Label + true + true + + Left + + + + ПарольPOP3КонтекстноеМеню + 75 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ТолькоЗащищеннаяАутентификацияPOP3 + 118 + + <key>ru</key> + <value>Защищенная аутентификация</value> + + true + true + + true + + + + Объект.ТолькоЗащищеннаяАутентификацияPOP3 + + + + ТолькоЗащищеннаяАутентификацияPOP3РасширеннаяПодсказка + 120 + true + true + + true + + Label + true + true + + Left + + + + ТолькоЗащищеннаяАутентификацияPOP3КонтекстноеМеню + 119 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Настройка POP3 сервера</value> + + + ru + Группа настройка POP3 сервера + + + ГруппаНастройкаPOP3СервераExtendedTooltip + 96 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + ГруппаНастройкаIMAPСервера + 76 + + АдресIMAPСервера + 81 + true + true + + true + + + + Объект.АдресIMAPСервера + + + + АдресIMAPСервераExtendedTooltip + 102 + true + true + + true + + Label + true + true + + Left + + + + АдресIMAPСервераКонтекстноеМеню + 82 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ПортIMAP + 83 + true + true + + true + + + + Объект.ПортIMAP + + + + ru + 0 - устанавливать порт автоматически + + ShowRight + + ПортIMAPРасширеннаяПодсказка + 103 + true + true + + true + + Label + true + true + + Left + + + + ПортIMAPКонтекстноеМеню + 84 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + IMAPSSL + 85 + + <key>ru</key> + <value>SSL</value> + + true + true + + true + + + + Объект.SSLIMAP + + + + IMAPSSLExtendedTooltip + 106 + true + true + + true + + Label + true + true + + Left + + + + IMAPSSLКонтекстноеМеню + 86 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ПользовательIMAP + 77 + true + true + + true + + + + Объект.ПользовательIMAP + + + + ПользовательIMAPExtendedTooltip + 104 + true + true + + true + + Label + true + true + + Left + + + + ПользовательIMAPКонтекстноеМеню + 78 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ПарольIMAP + 79 + true + true + + true + + + + Объект.ПарольIMAP + + + + ПарольIMAPExtendedTooltip + 105 + true + true + + true + + Label + true + true + + Left + + + + ПарольIMAPКонтекстноеМеню + 80 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ТолькоЗащищеннаяАутентификацияIMAP + 121 + + <key>ru</key> + <value>Защищенная аутентификация</value> + + true + true + + true + + + + Объект.ТолькоЗащищеннаяАутентификацияIMAP + + + + ТолькоЗащищеннаяАутентификацияIMAPРасширеннаяПодсказка + 123 + true + true + + true + + Label + true + true + + Left + + + + ТолькоЗащищеннаяАутентификацияIMAPКонтекстноеМеню + 122 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Настройка IMAP сервера</value> + + + ru + Группа настройка IMAPСервера + + + ГруппаНастройкаIMAPСервераExtendedTooltip + 101 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + Группа1РасширеннаяПодсказка + 125 + true + true + + true + + Label + true + true + + Left + + + Pages + + TabsOnTop + DontUse + + + + ИспользоватьIMAP + 87 + true + true + + true + + + + Объект.ИспользоватьIMAP + + + + ИспользоватьIMAPExtendedTooltip + 107 + true + true + + true + + Label + true + true + + Left + + + + ИспользоватьIMAPКонтекстноеМеню + 88 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + Таймаут + 56 + true + true + + true + + + + Объект.ТаймаутИнтернетПочты + + + + ТаймаутExtendedTooltip + 108 + true + true + + true + + Label + true + true + + Left + + + + ТаймаутКонтекстноеМеню + 57 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + LockWholeInterface + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + ConstantsSet + + + true + + + true + +
true
+ true +
+ + ТекущийПользователь + + Boolean + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213.mdo" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213.mdo" new file mode 100644 index 000000000..8a452fade --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\237\320\276\321\207\321\202\321\213.mdo" @@ -0,0 +1,12 @@ + + + НастройкаПочты + + ru + Настройка почты + + + PersonalComputer + MobileDevice + true + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Form.form" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Form.form" new file mode 100644 index 000000000..a964a5597 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Form.form" @@ -0,0 +1,634 @@ + + + + <key>ru</key> + <value>Настройки</value> + + + Страницы + 30 + + Геопозиционирование + 32 + + НаборКонстантВыборПровайдераГеопозиционирования + 34 + + <key>ru</key> + <value>Тип провайдера</value> + + true + true + + true + + + + НаборКонстант.ВыборПровайдераГеопозиционирования + + + Top + + OnChange + НаборКонстантВыборПровайдераГеопозиционированияПриИзменении + + + НаборКонстантВыборПровайдераГеопозиционированияРасширеннаяПодсказка + 36 + true + true + + true + + Label + true + true + + Left + + + + НаборКонстантВыборПровайдераГеопозиционированияКонтекстноеМеню + 35 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + НаборКонстантИмяПровайдера + 49 + + <key>ru</key> + <value>Провайдер</value> + + true + true + + true + + + + НаборКонстант.ИмяПровайдера + + + Top + + OnChange + НаборКонстантИмяПровайдераПриИзменении + + + НаборКонстантИмяПровайдераРасширеннаяПодсказка + 51 + true + true + + true + + Label + true + true + + Left + + + + НаборКонстантИмяПровайдераКонтекстноеМеню + 50 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + НаборКонстантИмяПровайдераНачалоВыбора + + true + true + true + true + true + true + true + + + + НастройкиВыбораПровайдера + 52 + + НаборКонстантТолькоБесплатные + 37 + true + true + + true + + + + НаборКонстант.ТолькоБесплатные + + + + OnChange + НаборКонстантТолькоБесплатныеПриИзменении + + + НаборКонстантТолькоБесплатныеРасширеннаяПодсказка + 39 + true + true + + true + + Label + true + true + + Left + + + + НаборКонстантТолькоБесплатныеКонтекстноеМеню + 38 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + НаборКонстантИспользоватьСотовуюСеть + 40 + true + true + + true + + + + НаборКонстант.ИспользоватьСотовуюСеть + + + + OnChange + НаборКонстантИспользоватьСотовуюСетьПриИзменении + + + НаборКонстантИспользоватьСотовуюСетьРасширеннаяПодсказка + 42 + true + true + + true + + Label + true + true + + Left + + + + НаборКонстантИспользоватьСотовуюСетьКонтекстноеМеню + 41 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + НаборКонстантИспользоватьСетьПередачиДанных + 43 + true + true + + true + + + + НаборКонстант.ИспользоватьСетьПередачиДанных + + + + OnChange + НаборКонстантИспользоватьСетьПередачиДанныхПриИзменении + + + НаборКонстантИспользоватьСетьПередачиДанныхРасширеннаяПодсказка + 45 + true + true + + true + + Label + true + true + + Left + + + + НаборКонстантИспользоватьСетьПередачиДанныхКонтекстноеМеню + 44 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + НаборКонстантИспользоватьСпутники + 46 + true + true + + true + + + + НаборКонстант.ИспользоватьСпутники + + + + OnChange + НаборКонстантИспользоватьСпутникиПриИзменении + + + НаборКонстантИспользоватьСпутникиРасширеннаяПодсказка + 48 + true + true + + true + + Label + true + true + + Left + + + + НаборКонстантИспользоватьСпутникиКонтекстноеМеню + 47 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Настройки выбора провайдера</value> + + + ru + Настройки выбора провайдера + + + НастройкиВыбораПровайдераРасширеннаяПодсказка + 53 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Положение</value> + + + ru + Геопозиционирование + + + ГеопозиционированиеРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + Прочие + 25 + + ЗвуковыеОповещения + 57 + + НаборКонстантВоспроизводитьТекстУведомления + 59 + + <key>ru</key> + <value>Голосовое оповещение при получении уведомления</value> + + true + true + + true + + + + НаборКонстант.ВоспроизводитьТекстУведомления + + + + OnChange + НаборКонстантВоспроизводитьТекстУведомленияПриИзменении + + + НаборКонстантВоспроизводитьТекстУведомленияРасширеннаяПодсказка + 61 + true + true + + true + + Label + true + true + + Left + + + + НаборКонстантВоспроизводитьТекстУведомленияКонтекстноеМеню + 60 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + true + true + + true + + + <key>ru</key> + <value>Звуковые оповещения</value> + + + ru + Звуковые оповещения + + + ЗвуковыеОповещенияРасширеннаяПодсказка + 58 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Прочие</value> + + + ru + Прочие + + + ПрочиеРасширеннаяПодсказка + 26 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + <key>ru</key> + <value>Страницы</value> + + + ru + Страницы + + + СтраницыРасширеннаяПодсказка + 31 + true + true + + true + + Label + true + true + + Left + + + Pages + + TabsOnTop + DontUse + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + Vertical + true + true + true + UseIfNecessary + true + true + + НаборКонстант + + <key>ru</key> + <value>Адрес основной базы</value> + + 1 + + ConstantsSet + + + true + + + true + + + НаборКонстант.РаботаСТорговымОборудованием + + + НаборКонстант.УчетПоСкладам + + + + + + + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Module.bsl" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Module.bsl" new file mode 100644 index 000000000..d829649bc --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/Module.bsl" @@ -0,0 +1,144 @@ +// Процедура записывает настройки в БД. При необходимости, обновляет повторно используемые значения +// +&НаСервере +Процедура ЗаписатьКонстанты() + + Набор = РеквизитФормыВЗначение("НаборКонстант"); + Набор.Записать(); + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + Модифицированность = Ложь; + +КонецПроцедуры + +// Процедура перестраивает форму по выбранному типу провайдера +// +&НаКлиенте +Процедура УстановитьИмяПровайдера() + + СпособВыбора = НаборКонстант.ВыборПровайдераГеопозиционирования; + Если СпособВыбора = ПредопределенноеЗначение("Перечисление.ИспользоватьПровайдерГеопозиционирования.ВыбиратьИзСписка") Тогда + Элементы.НаборКонстантИмяПровайдера.ТолькоПросмотр = Ложь; + Иначе + Элементы.НаборКонстантИмяПровайдера.ТолькоПросмотр = Истина; +#Если МобильныйКлиент Тогда + Провайдер = Неопределено; + Если СпособВыбора = ПредопределенноеЗначение("Перечисление.ИспользоватьПровайдерГеопозиционирования.СамыйЭкономичныйПровайдер") Тогда + Провайдер = СредстваГеопозиционирования.ПолучитьСамогоЭнергоЭкономичногоПровайдера(); + ИначеЕсли СпособВыбора = ПредопределенноеЗначение("Перечисление.ИспользоватьПровайдерГеопозиционирования.СамыйТочныйПровайдер") Тогда + Провайдер = СредстваГеопозиционирования.ПолучитьСамогоТочногоПровайдера(); + КонецЕсли; + Если Провайдер = Неопределено Тогда + НаборКонстант.ИмяПровайдера = ""; + Иначе + НаборКонстант.ИмяПровайдера = Провайдер.Имя; + КонецЕсли; + ЗаписатьКонстанты(); +#КонецЕсли + КонецЕсли; + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Набор = Константы.СоздатьНабор(); + Набор.Прочитать(); + ЗначениеВРеквизитФормы(Набор, "НаборКонстант"); + + Элементы.НаборКонстантИмяПровайдера.ТолькоПросмотр = НаборКонстант.ВыборПровайдераГеопозиционирования <> Перечисления.ИспользоватьПровайдерГеопозиционирования.ВыбиратьИзСписка; + + ПереключитьСтраницу = Ложь; + Если Параметры.Свойство("Геопозиционирование",ПереключитьСтраницу) И ПереключитьСтраницу Тогда + Элементы.Страницы.ТекущаяСтраница = Элементы.Геопозиционирование; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + УстановитьИмяПровайдера(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантТолькоБесплатныеПриИзменении(Элемент) + + ЗаписатьКонстанты(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИспользоватьСотовуюСетьПриИзменении(Элемент) + + ЗаписатьКонстанты(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИспользоватьСетьПередачиДанныхПриИзменении(Элемент) + + ЗаписатьКонстанты(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИспользоватьСпутникиПриИзменении(Элемент) + + ЗаписатьКонстанты(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантВыборПровайдераГеопозиционированияПриИзменении(Элемент) + + ЗаписатьКонстанты(); + УстановитьИмяПровайдера(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИмяПровайдераПриИзменении(Элемент) + + ЗаписатьКонстанты(); + +КонецПроцедуры + +&НаКлиенте +Процедура НаборКонстантИмяПровайдераНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; +#Если МобильныйКлиент Тогда + ДанныеВыбора = Новый СписокЗначений(); + Массив = СредстваГеопозиционирования.ПолучитьПровайдеров(); + Для каждого Провайдер из Массив цикл + Если НаборКонстант.ТолькоБесплатные и Провайдер.Платный Тогда + Продолжить; + КонецЕсли; + Если не НаборКонстант.ИспользоватьСотовуюСеть и Провайдер.ИспользуетСотовуюСеть Тогда + Продолжить; + КонецЕсли; + Если не НаборКонстант.ИспользоватьСетьПередачиДанных и Провайдер.ИспользуетСетьПередачиДанных Тогда + Продолжить; + КонецЕсли; + Если не НаборКонстант.ИспользоватьСпутники и Провайдер.ИспользуетСпутники Тогда + Продолжить; + КонецЕсли; + ДанныеВыбора.Добавить(Провайдер.Имя); + КонецЦикла; +#КонецЕсли + +КонецПроцедуры + + +&НаКлиенте +Процедура НаборКонстантВоспроизводитьТекстУведомленияПриИзменении(Элемент) + + ЗаписатьКонстанты(); + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.mdo" "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.mdo" new file mode 100644 index 000000000..e4d9bbc6d --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\260.mdo" @@ -0,0 +1,12 @@ + + + НастройкиМобильногоУстройства + + ru + Настройки мобильного устройства + + + PersonalComputer + MobileDevice + true + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Form.form" "b/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Form.form" new file mode 100644 index 000000000..df41dc375 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Form.form" @@ -0,0 +1,157 @@ + + + + РаботаСТорговымОборудованием + 3 + true + true + + true + + + + Константы.РаботаСТорговымОборудованием + + + + ru + Установите, если необходимо использовать +торговое оборудование (сканер штрих-кодов). + + Button + + РаботаСТорговымОборудованиемExtendedTooltip + 7 + true + true + + true + + Label + true + true + + Left + + + + РаботаСТорговымОборудованиемКонтекстноеМеню + 4 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + УчетПоСкладам + 5 + true + true + + true + + + + Константы.УчетПоСкладам + + + + ru + Установите, если на предприятии ведется +учет товаров в разрезе складов. + + Button + + УчетПоСкладамExtendedTooltip + 8 + true + true + + true + + Label + true + true + + Left + + + + УчетПоСкладамКонтекстноеМеню + 6 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + 50 + 8 + true + true + Vertical + true + true + true + true + true + + Константы + 1 + + ConstantsSet + + + true + + + true + + + Константы.РаботаСТорговымОборудованием + + + Константы.УчетПоСкладам + +
true
+ true +
+ + + + + + + AfterWrite + ПослеЗаписи + + +
diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Module.bsl" "b/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Module.bsl" new file mode 100644 index 000000000..11397cdab --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/Module.bsl" @@ -0,0 +1,5 @@ +// Обновляет интерфейс приложения после записи общих настроек +&НаКлиенте +Процедура ПослеЗаписи() + ОбновитьИнтерфейс(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.mdo" "b/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.mdo" new file mode 100644 index 000000000..964cda8ea --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270/\320\236\320\261\321\211\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.mdo" @@ -0,0 +1,16 @@ + + + ОбщиеНастройки + + ru + Общие настройки + + + PersonalComputer + MobileDevice + true + + ru + Название организации и параметры учета + + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Attributes/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Attributes/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..8a0b90be6 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Attributes/\320\224\320\265\321\200\320\265\320\262\320\276\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" @@ -0,0 +1,20 @@ + + + + + IsFolder + Equal + true + + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Form.form" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Form.form" new file mode 100644 index 000000000..1ac23d302 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Form.form" @@ -0,0 +1,1720 @@ + + + + <key>ru</key> + <value>Подбор товара</value> + + + Шапка + 18 + + ВидЦенИСклад + 80 + true + true + + true + + + + ВидЦенИСклад + + + None + + ВидЦенИСкладРасширеннаяПодсказка + 82 + true + true + + true + + Label + true + true + + Left + + + + ВидЦенИСкладКонтекстноеМеню + 81 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + true + false + + + true + true + + true + + + <key>ru</key> + <value>Параметры</value> + + + ru + Шапка + + + ШапкаExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + + ru + Параметры + + Auto + DontUse + + + + ГруппаСпискаТоваров + 3 + + + <key>ru</key> + <value>Найти</value> + + true + true + + true + + Дополнение1 + 110 + + Дополнение1РасширеннаяПодсказка + 112 + true + true + + true + + Label + true + true + + Left + + + + Дополнение1КонтекстноеМеню + 111 + true + true + + true + + true + + СписокТоваровСтрокаПоиска + + true + + + + Группа1 + 50 + + ДеревоТоваров + 4 + true + true + + true + + + ДеревоТоваров + + false + None + + ДеревоТоваровНаименование + 40 + true + true + + true + + + + ДеревоТоваров.Description + + + + ДеревоТоваровНаименованиеExtendedTooltip + 68 + true + true + + true + + Label + true + true + + Left + + + + ДеревоТоваровНаименованиеКонтекстноеМеню + 41 + true + true + + true + + true + + LabelField + DontShow + Enter + true + Left + true + + true + true + + + None + + ДеревоТоваровКоманднаяПанель + 31 + true + true + + true + + Left + true + + + OnActivateRow + ДеревоТоваровПриАктивизацииСтроки + + + true + true + + true + + ДеревоТоваровСтрокаПоиска + 83 + + ДеревоТоваровСтрокаПоискаРасширеннаяПодсказка + 85 + true + true + + true + + Label + true + true + + Left + + + + ДеревоТоваровСтрокаПоискаКонтекстноеМеню + 84 + true + true + + true + + true + + ДеревоТоваровСтрокаПоиска + + true + + + + true + true + + true + + ДеревоТоваровСостояниеПросмотра + 86 + + ДеревоТоваровСостояниеПросмотраРасширеннаяПодсказка + 88 + true + true + + true + + Label + true + true + + Left + + + + ДеревоТоваровСостояниеПросмотраКонтекстноеМеню + 87 + true + true + + true + + true + + ViewStatusAddition + ДеревоТоваровСостояниеПросмотра + + true + Left + + + + true + true + + true + + ДеревоТоваровУправлениеПоиском + 89 + + ДеревоТоваровУправлениеПоискомРасширеннаяПодсказка + 91 + true + true + + true + + Label + true + true + + Left + + + + ДеревоТоваровУправлениеПоискомКонтекстноеМеню + 90 + true + true + + true + + true + + SearchControlAddition + ДеревоТоваровУправлениеПоиском + + true + + + + ДеревоТоваровExtendedTooltip + 67 + true + true + + true + + Label + true + true + + Left + + + + ДеревоТоваровКонтекстноеМеню + 23 + true + true + + true + + true + + Tree + true + true + 25 + true + true + 5 + true +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + true + + ДеревоТоваров.DefaultPicture + + + Style.BorderColor + + None + None + None + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + +
+ + СписокТоваров + 2 + true + true + + true + + + СписокТоваров + + true + false + None + + Наименование + 10 + true + true + + true + + + + СписокТоваров.Наименование + + + + НаименованиеExtendedTooltip + 70 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 27 + true + true + + true + + true + + LabelField + DontShow + Enter + true + Left + true + Left + + true + true + + + + Код + 9 + true + true + + true + + + + СписокТоваров.Код + + + + КодExtendedTooltip + 71 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 26 + true + true + + true + + true + + LabelField + DontShow + Enter + true + Left + true + Left + + true + true + + + + Цена + 12 + true + true + + true + + + + СписокТоваров.Цена + + + + ЦенаExtendedTooltip + 72 + true + true + + true + + Label + true + true + + Left + + + + ЦенаКонтекстноеМеню + 28 + true + true + + true + + true + + LabelField + DontShow + Enter + true + Left + true + Left + + 10 + true + true + + + + Количество + 13 + true + true + + true + + + + СписокТоваров.Количество + + + + КоличествоExtendedTooltip + 73 + true + true + + true + + Label + true + true + + Left + + + + КоличествоКонтекстноеМеню + 29 + true + true + + true + + true + + LabelField + DontShow + Enter + true + Left + true + Left + + 14 + true + true + + + None + + СписокТоваровКоманднаяПанель + 32 + true + true + + true + + Left + true + + + ValueChoice + СписокТоваровВыборЗначения + + + DragStart + СписокТоваровНачалоПеретаскивания + + + true + true + + true + + СписокТоваровСтрокаПоиска + 92 + + СписокТоваровСтрокаПоискаРасширеннаяПодсказка + 94 + true + true + + true + + Label + true + true + + Left + + + + СписокТоваровСтрокаПоискаКонтекстноеМеню + 93 + true + true + + true + + true + + СписокТоваровСтрокаПоиска + + true + + + + true + true + + true + + СписокТоваровСостояниеПросмотра + 95 + + СписокТоваровСостояниеПросмотраРасширеннаяПодсказка + 97 + true + true + + true + + Label + true + true + + Left + + + + СписокТоваровСостояниеПросмотраКонтекстноеМеню + 96 + true + true + + true + + true + + ViewStatusAddition + СписокТоваровСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокТоваровУправлениеПоиском + 98 + + СписокТоваровУправлениеПоискомРасширеннаяПодсказка + 100 + true + true + + true + + Label + true + true + + Left + + + + СписокТоваровУправлениеПоискомКонтекстноеМеню + 99 + true + true + + true + + true + + SearchControlAddition + СписокТоваровУправлениеПоиском + + true + + + + СписокТоваровExtendedTooltip + 69 + true + true + + true + + Label + true + true + + Left + + + + СписокТоваровКонтекстноеМеню + 24 + true + true + + true + + true + + HierarchicalList + true + true + 50 + true + true + 8 + true + true +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + true + + СписокТоваров.DefaultPicture + + + Style.BorderColor + + None + None + None + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + +
+ true + true + + true + + + Группа1ExtendedTooltip + 66 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + +
+ true + true + + true + + + ГруппаСпискаТоваровExtendedTooltip + 64 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + + ru + Список товаров + + Auto + DontUse + +
+ + ГруппаОтобранныеТовары + 19 + + Товары + 5 + true + true + + true + + + Товары + + false + None + + ТоварыТовар + 34 + true + true + + true + + + + Товары.Товар + + + + ТоварыТоварExtendedTooltip + 77 + true + true + + true + + Label + true + true + + Left + + + + ТоварыТоварКонтекстноеМеню + 35 + true + true + + true + + true + + InputField + DontShow + EnterOnInput + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ТоварыКоличество + 36 + true + true + + true + + + + Товары.Количество + + + + ТоварыКоличествоExtendedTooltip + 78 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКоличествоКонтекстноеМеню + 37 + true + true + + true + + true + + InputField + DontShow + EnterOnInput + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + None + + ТоварыКоманднаяПанель + 33 + true + true + + true + + Left + true + + + DragCheck + ТоварыПроверкаПеретаскивания + + + Drag + ТоварыПеретаскивание + + + true + true + + true + + ТоварыСтрокаПоиска + 101 + + ТоварыСтрокаПоискаРасширеннаяПодсказка + 103 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСтрокаПоискаКонтекстноеМеню + 102 + true + true + + true + + true + + ТоварыСтрокаПоиска + + true + + + + true + true + + true + + ТоварыСостояниеПросмотра + 104 + + ТоварыСостояниеПросмотраРасширеннаяПодсказка + 106 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСостояниеПросмотраКонтекстноеМеню + 105 + true + true + + true + + true + + ViewStatusAddition + ТоварыСостояниеПросмотра + + true + Left + + + + true + true + + true + + ТоварыУправлениеПоиском + 107 + + ТоварыУправлениеПоискомРасширеннаяПодсказка + 109 + true + true + + true + + Label + true + true + + Left + + + + ТоварыУправлениеПоискомКонтекстноеМеню + 108 + true + true + + true + + true + + SearchControlAddition + ТоварыУправлениеПоиском + + true + + + + ТоварыExtendedTooltip + 76 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКонтекстноеМеню + 30 + + Удалить + 44 + true + true + + true + + false + + УдалитьExtendedTooltip + 75 + true + true + + true + + Label + true + true + + Left + + + 5:ec576e13-1e76-4c33-98aa-a33204514227 + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + true + + true + true + 40 + true + true + 4 + true +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + + Style.BorderColor + + None + None + None + +
+ true + true + + true + + + <key>ru</key> + <value>Отобранные товары</value> + + + ГруппаОтобранныеТоварыExtendedTooltip + 74 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + + ru + Отобранные товары + + true + Auto + DontUse + +
+ + ДействияФормыОсновные + 1 + true + true + + true + + + ДействияФормыОсновныеExtendedTooltip + 79 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + Bottom + + ФормаКоманднаяПанель + -1 + + ОК + 42 + true + true + + true + + false + + ОКExtendedTooltip + 53 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОК + Auto + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Отмена + 8 + true + true + + true + + false + + ОтменаExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Cancel + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Справка + 43 + true + true + + true + + false + + СправкаExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Right + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + Vertical + true + true + true + true + true + + Товары + + <key>ru</key> + <value>Товары</value> + + 1 + + ValueTable + + + true + + + true + + + Товар + + <key>ru</key> + <value>Товар</value> + + 1 + + CatalogRef.Товары + + + true + + + true + + + + Количество + + <key>ru</key> + <value>Количество</value> + + 2 + + Number + + 10 + 2 + + + + true + + + true + + + + Цена + + <key>ru</key> + <value>Цена</value> + + 3 + + Number + + 10 + 2 + + + + true + + + true + + + + + СписокТоваров + + <key>ru</key> + <value>Список товаров</value> + + 2 + + DynamicList + + + true + + + true + + + СписокТоваров.IsFolder + +
true
+ + ВЫБРАТЬ + Товары.Код КАК Код, + Товары.Наименование КАК Наименование, + Товары.Артикул КАК Артикул, + ТоварныеЗапасыОстатки.КоличествоОстаток КАК Количество, + ЦеныТоваровСрезПоследних.Цена КАК Цена, + Товары.ЭтоГруппа +ИЗ + Справочник.Товары КАК Товары + ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварныеЗапасы.Остатки(, Склад = &Склад) КАК ТоварныеЗапасыОстатки + ПО (ТоварныеЗапасыОстатки.Товар = Товары.Ссылка) + ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныТоваров.СрезПоследних(, ВидЦен = &ВидЦен) КАК ЦеныТоваровСрезПоследних + ПО Товары.Ссылка = ЦеныТоваровСрезПоследних.Товар + Catalog.Товары + true + true + true + true + true + +
+ + ДеревоТоваров + + <key>ru</key> + <value>Дерево товаров</value> + + 3 + + DynamicList + + + true + + + true + + + ВЫБРАТЬ + Товары.Наименование +ИЗ + Справочник.Товары КАК Товары +ГДЕ + Товары.ЭтоГруппа + Catalog.Товары + true + true + true + true + + + + Склад + + <key>ru</key> + <value>Склад</value> + + 5 + + CatalogRef.Склады + + + true + + + true + + + + АдресТоваровДокумента + + <key>ru</key> + <value>Адрес товаров документа</value> + + 6 + + String + + + + true + + + true + + + + СтрокаПоиска + + <key>ru</key> + <value>Найти</value> + + 7 + + String + + + + true + + + true + + + + ВидЦенИСклад + + <key>ru</key> + <value>Вид цен и склад</value> + + 4 + + FormattedString + + + true + + + true + + + + ОК + + <key>ru</key> + <value>ОК</value> + + 1 + + ru + ОК + + + true + + + + ОКВыполнить + + + Auto + + + Склад + + CatalogRef.Склады + + + + ВидЦен + + CatalogRef.ВидыЦен + + + + АдресТоваровДокумента + + String + + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Module.bsl" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Module.bsl" new file mode 100644 index 000000000..2c8fd4af5 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/Module.bsl" @@ -0,0 +1,97 @@ +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// Процедура помещает результаты подбора в хранилище +&НаСервере +Процедура ЗаписатьПодборВХранилище() + ПоместитьВоВременноеХранилище(Товары.Выгрузить(), АдресТоваровДокумента); +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьТовар(Товар) + Строки = Товары.НайтиСтроки(Новый Структура("Товар", Товар)); + Если Строки.Количество() > 0 Тогда + Элемент = Строки[0]; + Элемент.Количество = Строки[0].Количество + 1; + Иначе + Элемент = Товары.Добавить(); + Элемент.Товар = Товар; + Элемент.Количество = 1; + КонецЕсли; + + Элементы.Товары.ТекущаяСтрока = Элемент.ПолучитьИдентификатор(); +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура СписокТоваровВыборЗначения(Элемент, Значение, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + ДобавитьТовар(Значение); +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Склад = Параметры.Склад; + ВидЦен = Параметры.ВидЦен; + СписокТоваров.Параметры.УстановитьЗначениеПараметра("Склад", Склад); + СписокТоваров.Параметры.УстановитьЗначениеПараметра("ВидЦен", ВидЦен); + АдресТоваровДокумента = Параметры.АдресТоваровДокумента; + Товары.Загрузить(ПолучитьИзВременногоХранилища(АдресТоваровДокумента)); + + Строки = Новый Массив; + Если ЗначениеЗаполнено(Склад) Тогда + Строки.Добавить(НСтр("ru = 'Склад: '", "ru")); + Строки.Добавить(Новый ФорматированнаяСтрока(Склад.Наименование, ШрифтыСтиля.ШрифтВажнойИнформации, ЦветаСтиля.ЦветТекстаВажнойИнформации)); + КонецЕсли; + + Если ЗначениеЗаполнено(ВидЦен) Тогда + Если ЗначениеЗаполнено(Склад) Тогда + Строки.Добавить(" "); + КонецЕсли; + + Строки.Добавить(НСтр("ru = 'Вид цен: '", "ru")); + Строки.Добавить(Новый ФорматированнаяСтрока(ВидЦен.Наименование, ШрифтыСтиля.ШрифтВажнойИнформации, ЦветаСтиля.ЦветТекстаВажнойИнформации)); + КонецЕсли; + + ВидЦенИСклад = Новый ФорматированнаяСтрока(Строки); +КонецПроцедуры + +&НаКлиенте +Процедура ОКВыполнить() + ЗаписатьПодборВХранилище(); + ВладелецФормы.ОбработатьПодбор(); + Закрыть(); +КонецПроцедуры + +&НаКлиенте +Процедура ДеревоТоваровПриАктивизацииСтроки(Элемент) + Элементы.СписокТоваров.ТекущийРодитель = Элемент.ТекущаяСтрока; +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле) + ДобавитьТовар(ПараметрыПеретаскивания.Значение); + СтандартнаяОбработка = Ложь; +КонецПроцедуры + +&НаКлиенте +Процедура СписокТоваровНачалоПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка) + Данные = Элементы.СписокТоваров.ДанныеСтроки(ПараметрыПеретаскивания.Значение); + Если Данные <> Неопределено Тогда + СтандартнаяОбработка = НЕ Данные.ЭтоГруппа; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле) + Данные = Элементы.СписокТоваров.ДанныеСтроки(ПараметрыПеретаскивания.Значение); + Если Данные <> Неопределено И НЕ Данные.ЭтоГруппа Тогда + СтандартнаяОбработка = Ложь; + КонецЕсли; +КонецПроцедуры + + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260.mdo" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260.mdo" new file mode 100644 index 000000000..129f88869 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260.mdo" @@ -0,0 +1,12 @@ + + + ФормаПодбора + + ru + Форма подбора + + + PersonalComputer + MobileDevice + true + diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Form.form" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Form.form" new file mode 100644 index 000000000..d95cc8181 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Form.form" @@ -0,0 +1,1024 @@ + + + + <key>ru</key> + <value>Подбор товара</value> + + + ГруппаСпискаТоваров + 3 + + Группа1 + 50 + + СписокТоваров + 2 + true + true + + true + + + СписокТоваров + + true + false + None + + Наименование + 10 + true + true + + true + + + + СписокТоваров.Наименование + + + + НаименованиеExtendedTooltip + 70 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 27 + true + true + + true + + true + + LabelField + DontShow + Enter + true + Left + true + Left + + true + true + + + + Код + 9 + true + true + + true + + + + СписокТоваров.Код + + + + КодExtendedTooltip + 71 + true + true + + true + + Label + true + true + + Left + + + + КодКонтекстноеМеню + 26 + true + true + + true + + true + + LabelField + DontShow + Enter + true + Left + true + Left + + true + true + + + None + + СписокТоваровКоманднаяПанель + 32 + true + true + + true + + Left + true + + + ValueChoice + СписокТоваровВыборЗначения + + + true + true + + true + + СписокТоваровСтрокаПоиска + 95 + + СписокТоваровСтрокаПоискаРасширеннаяПодсказка + 97 + true + true + + true + + Label + true + true + + Left + + + + СписокТоваровСтрокаПоискаКонтекстноеМеню + 96 + true + true + + true + + true + + СписокТоваровСтрокаПоиска + + true + + + + true + true + + true + + СписокТоваровСостояниеПросмотра + 98 + + СписокТоваровСостояниеПросмотраРасширеннаяПодсказка + 100 + true + true + + true + + Label + true + true + + Left + + + + СписокТоваровСостояниеПросмотраКонтекстноеМеню + 99 + true + true + + true + + true + + ViewStatusAddition + СписокТоваровСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокТоваровУправлениеПоиском + 101 + + СписокТоваровУправлениеПоискомРасширеннаяПодсказка + 103 + true + true + + true + + Label + true + true + + Left + + + + СписокТоваровУправлениеПоискомКонтекстноеМеню + 102 + true + true + + true + + true + + SearchControlAddition + СписокТоваровУправлениеПоиском + + true + + + + СписокТоваровExtendedTooltip + 69 + true + true + + true + + Label + true + true + + Left + + + + СписокТоваровКонтекстноеМеню + 24 + true + true + + true + + true + + HierarchicalList + true + true + true + true + true + true + 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + true + + СписокТоваров.DefaultPicture + + + Style.BorderColor + + Top + None + None + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + true + true + + true + + + Группа1ExtendedTooltip + 66 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Список товаров</value> + + + ГруппаСпискаТоваровExtendedTooltip + 64 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + + ru + Список товаров + + Auto + DontUse + + + + ГруппаОтобранныеТовары + 19 + + Товары + 5 + + <key>ru</key> + <value>Отобранные товары</value> + + true + true + + true + + + Товары + + false + Top + + ТоварыТовар + 34 + true + true + + true + + + + Товары.Товар + + + + ТоварыТоварExtendedTooltip + 77 + true + true + + true + + Label + true + true + + Left + + + + ТоварыТоварКонтекстноеМеню + 35 + true + true + + true + + true + + InputField + DontShow + EnterOnInput + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ТоварыКоличество + 36 + true + true + + true + + + + Товары.Количество + + + + OnChange + ТоварыКоличествоПриИзменении + + + ТоварыКоличествоExtendedTooltip + 78 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКоличествоКонтекстноеМеню + 37 + true + true + + true + + true + + InputField + DontShow + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + Style.BorderColor + + + + None + + ТоварыКоманднаяПанель + 33 + true + true + + true + + Left + true + + + true + true + + true + + ТоварыСтрокаПоиска + 104 + + ТоварыСтрокаПоискаРасширеннаяПодсказка + 106 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСтрокаПоискаКонтекстноеМеню + 105 + true + true + + true + + true + + ТоварыСтрокаПоиска + + true + + + + true + true + + true + + ТоварыСостояниеПросмотра + 107 + + ТоварыСостояниеПросмотраРасширеннаяПодсказка + 109 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСостояниеПросмотраКонтекстноеМеню + 108 + true + true + + true + + true + + ViewStatusAddition + ТоварыСостояниеПросмотра + + true + Left + + + + true + true + + true + + ТоварыУправлениеПоиском + 110 + + ТоварыУправлениеПоискомРасширеннаяПодсказка + 112 + true + true + + true + + Label + true + true + + Left + + + + ТоварыУправлениеПоискомКонтекстноеМеню + 111 + true + true + + true + + true + + SearchControlAddition + ТоварыУправлениеПоиском + + true + + + + ТоварыExtendedTooltip + 76 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКонтекстноеМеню + 30 + true + true + + true + + true + + true + true + true + 4 + true + InTableRows + true + 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + + 255 + + + Style.BorderColor + + None + None + None + + + true + true + + true + + + ГруппаОтобранныеТоварыExtendedTooltip + 74 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + + ru + Отобранные товары + + Auto + DontUse + + + + ФормаКоманднаяПанель + -1 + + ОК + 42 + true + true + + true + + false + + ОКExtendedTooltip + 53 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОК + Auto + true + true + true + UserCmds + + + Отмена + 8 + true + true + + true + + false + + ОтменаExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Cancel + Auto + true + true + UserCmds + + + НачатьСканирование + 91 + + <key>ru</key> + <value>Сканировать...</value> + + true + true + + true + + + НачатьСканированиеРасширеннаяПодсказка + 92 + true + true + + true + + Label + true + true + + Left + + + Form.Command.НачатьСканирование + Picture + true + true + UserCmds + + true + true + + true + + Left + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + Vertical + true + true + true + UseIfNecessary + true + true + + Товары + + <key>ru</key> + <value>Товары</value> + + 1 + + ValueTable + + + true + + + true + + + Товар + + <key>ru</key> + <value>Товар</value> + + 1 + + CatalogRef.Товары + + + true + + + true + + + + Количество + + <key>ru</key> + <value>Количество</value> + + 2 + + Number + + 3 + + + + true + + + true + + + + + СписокТоваров + + <key>ru</key> + <value>Список товаров</value> + + 2 + + DynamicList + + + true + + + true + + + СписокТоваров.IsFolder + +
true
+ + ВЫБРАТЬ + Товары.Код КАК Код, + Товары.Наименование КАК Наименование, + Товары.Артикул КАК Артикул, + Товары.ЭтоГруппа +ИЗ + Справочник.Товары КАК Товары + Catalog.Товары + true + true + true + true + true + +
+ + АдресТоваровДокумента + + <key>ru</key> + <value>Адрес товаров документа</value> + + 6 + + String + + + + true + + + true + + + + ОК + + <key>ru</key> + <value>ОК</value> + + 1 + + ru + ОК + + + true + + + + ОКВыполнить + + + DontUse + + + НачатьСканирование + + <key>ru</key> + <value>Начать сканирование</value> + + 2 + + ru + Начать сканирование + + + true + + + CommonPicture.ШтрихКод + + + + НачатьСканирование + + + DontUse + + + АдресТоваровДокумента + + String + + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Module.bsl" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Module.bsl" new file mode 100644 index 000000000..68460c049 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/Module.bsl" @@ -0,0 +1,121 @@ +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// Процедура помещает результаты подбора в хранилище +&НаСервере +Процедура ЗаписатьПодборВХранилище() + + ПоместитьВоВременноеХранилище(Товары.Выгрузить(), АдресТоваровДокумента); + +КонецПроцедуры + + +// Функция добавляет товар в подбор +// Если товар не был выбран раньше, в подбор добавляется новая строка, +// иначе увеличивается количество +// +// Параметры: +// Товары – подбор +// Товар - добавляемый в подбор товар +// Элементы - элементы формы подбора +// +// Возвращаемое значение: +// количество данного товара в подборе +&НаКлиентеНаСервереБезКонтекста +Функция ДобавитьТовар(Товары, Товар, Элементы) + + Строки = Товары.НайтиСтроки(Новый Структура("Товар", Товар)); + Если Строки.Количество() > 0 Тогда + Элемент = Строки[0]; + Элемент.Количество = Строки[0].Количество + 1; + Иначе + Элемент = Товары.Добавить(); + Элемент.Товар = Товар; + Элемент.Количество = 1; + КонецЕсли; + + Элементы.Товары.ТекущаяСтрока = Элемент.ПолучитьИдентификатор(); + Возврат Элемент.Количество; + +КонецФункции + +// Функция добавляет в подбор товар, который находит по штрихкоду +&НаСервере +Функция ДобавитьТоварПоШтрихКоду(ШтрихКод, Сообщение) + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | Товары.Ссылка, + | Товары.Наименование + |ИЗ + | Справочник.Товары КАК Товары + |ГДЕ + | Товары.Штрихкод = &ШтрихКод"; + Запрос.Параметры.Вставить("ШтрихКод", ШтрихКод); + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Количество = ДобавитьТовар(Товары, Выборка.Ссылка, Элементы); + Сообщение = Выборка.Наименование + " : " + Количество; + Возврат Истина; + Иначе + Сообщение = НСтр("ru = 'Товар с данным штрих-кодом не найден!'", "ru"); + Возврат Ложь; + КонецЕсли; + +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура СписокТоваровВыборЗначения(Элемент, Значение, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + ДобавитьТовар(Товары, Значение, Элементы); + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + АдресТоваровДокумента = Параметры.АдресТоваровДокумента; + Товары.Загрузить(ПолучитьИзВременногоХранилища(АдресТоваровДокумента)); + +КонецПроцедуры + +&НаКлиенте +Процедура ОКВыполнить() + + ЗаписатьПодборВХранилище(); + ВладелецФормы.ОбработатьПодбор(); + Закрыть(); + +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыКоличествоПриИзменении(Элемент) + + Если Элементы.Товары.ТекущиеДанные.Количество = 0 Тогда + Товары.Удалить(Элементы.Товары.ТекущиеДанные); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура НачатьСканирование(Команда) +#Если МобильныйКлиент Тогда + Если СредстваМультимедиа.ПоддерживаетсяСканированиеШтрихКодов() Тогда + ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаШтрихкода", ЭтаФорма); + СредстваМультимедиа.ПоказатьСканированиеШтрихКодов(НСтр("ru = 'Подбор товара.'", "ru"), + ОписаниеОповещения,,ТипШтрихКода.Линейный); + КонецЕсли; +#КонецЕсли +КонецПроцедуры + + +&НаКлиенте +Процедура ОбработкаШтрихкода(ШтрихКод, Результат, Сообщение, ДополнительныеПараметры) экспорт + Результат = ДобавитьТоварПоШтрихКоду(ШтрихКод, Сообщение); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217.mdo" "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217.mdo" new file mode 100644 index 000000000..a8f8a7c9a --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonForms/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217/\320\244\320\276\321\200\320\274\320\260\320\237\320\276\320\264\320\261\320\276\321\200\320\260\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\260\321\217.mdo" @@ -0,0 +1,11 @@ + + + ФормаПодбораМобильная + + ru + Форма подбора мобильная + + + PersonalComputer + MobileDevice + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" new file mode 100644 index 000000000..37d2a37a0 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -0,0 +1,115 @@ +// Функция возвращает имя провайдера геопозиционирования в зависимости от настроек +&НаКлиенте +Функция ПолучитьИмяПровайдера() Экспорт + +#Если МобильныйКлиент Тогда + Данные = ГеопозиционированиеСервер.ПолучитьИмяПровайдера(); + Провайдер = Неопределено; + Если Данные.Выбор = ПредопределенноеЗначение("Перечисление.ИспользоватьПровайдерГеопозиционирования.СамыйЭкономичныйПровайдер") Тогда + Провайдер = СредстваГеопозиционирования.ПолучитьСамогоЭнергоЭкономичногоПровайдера(Истина); + ИначеЕсли Данные.Выбор = ПредопределенноеЗначение("Перечисление.ИспользоватьПровайдерГеопозиционирования.СамыйТочныйПровайдер") Тогда + Провайдер = СредстваГеопозиционирования.ПолучитьСамогоТочногоПровайдера(Истина); + Иначе + Если Не ЗначениеЗаполнено(Данные.Имя) Тогда + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Не выбран провайдер геопозиционирования!'", "ru"); + Сообщение.Сообщить(); + Возврат ""; + КонецЕсли; + Провайдер = СредстваГеопозиционирования.ПолучитьПровайдера(Данные.Имя, Истина); + Если Провайдер = Неопределено Тогда + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Не доступен провайдер геопозиционирования! Попробуйте изменить установки.", "ru"); + Сообщение.Сообщить(); + Возврат ""; + КонецЕсли; + КонецЕсли; + Если Провайдер <> Неопределено Тогда + Возврат Провайдер.Имя; + КонецЕсли; +#КонецЕсли + Возврат ""; + +КонецФункции + +// Процедура обновляет утановленнные геозоны +&НаКлиенте +Процедура ОбновитьГеозоны() Экспорт + + Покупатели = ГеопозиционированиеСервер.ПолучитьПокупателей(); + +#Если МобильныйКлиент Тогда + СредстваГеопозиционирования.ОтключитьОтслеживаниеВсехГеозон(); + Если Покупатели.Количество() > 0 Тогда + НовыеГеозоны = Новый Массив(); + Для каждого Покупатель из Покупатели цикл + Геозона = Новый Геозона(Покупатель.Ссылка, Покупатель.Наименование, Новый ГеографическиеКоординаты(Покупатель.Широта, Покупатель.Долгота), 300); + НовыеГеозоны.Добавить(Геозона); + КонецЦикла; + Если СредстваГеопозиционирования.ПроверитьВозможностьВключенияОтслеживанияГеозон(НовыеГеозоны.Количество()) Тогда + СредстваГеопозиционирования.ВключитьОтслеживаниеГеозон(НовыеГеозоны); + Иначе + Для каждого Геозона из НовыеГеозоны цикл + Если СредстваГеопозиционирования.ПроверитьВозможностьВключенияОтслеживанияГеозон(1) Тогда + СредстваГеопозиционирования.ВключитьОтслеживаниеГеозон(Геозона); + Иначе + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЕсли; +#КонецЕсли + +КонецПроцедуры + +// Функция выполняет попытку обновления текущего местоположения +// +// Возвращаемое значение: +// Истина - попытка удачная +&НаКлиенте +Функция ОбновитьМестоположение(ИмяПровайдера) Экспорт + +#Если МобильныйКлиент Тогда + ИмяПровайдера = ПолучитьИмяПровайдера(); + Если Не ЗначениеЗаполнено(ИмяПровайдера) Тогда + Возврат Ложь; + КонецЕсли; + Если Не СредстваГеопозиционирования.ОбновитьМестоположение(ИмяПровайдера, 60) Тогда // Если провайдер доступен, то 60 секунд достаточно для определения местоположения + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Не удалось получить данные от провайдера геопозиционирования! Попробуйте изменить установки.", "ru"); + Сообщение.Сообщить(); + Возврат Ложь; + КонецЕсли; + Возврат Истина; +#КонецЕсли + + Возврат Ложь; + +КонецФункции + +// Процедура обработчик уведомлений геозон +Процедура ОбработкаУведомлений(Геозона, Положение, Параметры) Экспорт + +#Если МобильныйКлиент Тогда + + Если Положение = ПоложениеОтносительноГеозоны.Внутри Тогда + + Сообщение = Геозона.Представление + НСтр("ru = ': Вы приближаетесь к местоположению покупателя. Показать список его активных заказов?'", "ru"); + Оповещение = Новый ОписаниеОповещения( + "НаВходВГеозону", + ЭтотОбъект); + ПоказатьВопрос(Оповещение, Сообщение, РежимДиалогаВопрос.ДаНет, Геозона); + + КонецЕсли; + +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура НаВходВГеозону(Результат, Геозона) Экспорт + Если Результат = КодВозвратаДиалога.Да Тогда + ПараметрыФормы = Новый Структура("ДанныеГеозоны", Геозона.Данные); + ОткрытьФорму("Документ.Заказ.ФормаСписка", ПараметрыФормы,,Истина); + КонецЕсли; +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202.mdo" new file mode 100644 index 000000000..8b54780b5 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\232\320\273\320\270\320\265\320\275\321\202.mdo" @@ -0,0 +1,10 @@ + + + ГеопозиционированиеКлиент + + ru + Геопозиционирование клиент + + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" new file mode 100644 index 000000000..c5c60f483 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -0,0 +1,66 @@ + +// Функция возвращает имя провайдера геопозиционирования в зависимости от настроек +&НаСервере +Функция ПолучитьИмяПровайдера() Экспорт + + Выбор = Константы.ВыборПровайдераГеопозиционирования.Получить(); + Если Не ЗначениеЗаполнено(Выбор) Тогда + + НаборКонстант = Константы.СоздатьНабор("ВыборПровайдераГеопозиционирования,ТолькоБесплатные,ИспользоватьСотовуюСеть,ИспользоватьСетьПередачиДанных,ИспользоватьСпутники"); + НаборКонстант.Прочитать(); + НаборКонстант.ВыборПровайдераГеопозиционирования = Перечисления.ИспользоватьПровайдерГеопозиционирования.СамыйЭкономичныйПровайдер; + Выбор = НаборКонстант.ВыборПровайдераГеопозиционирования; + НаборКонстант.ТолькоБесплатные = Истина; + НаборКонстант.ИспользоватьСотовуюСеть = Истина; + НаборКонстант.ИспользоватьСетьПередачиДанных = Истина; + НаборКонстант.ИспользоватьСпутники = Истина; + НаборКонстант.Записать(); + + КонецЕсли; + + Структура = Новый Структура(); + Структура.Вставить("Выбор", Выбор); + Структура.Вставить("Имя", Константы.ИмяПровайдера.Получить()); + Возврат Структура; + +КонецФункции + +&НаСервере +Функция ПолучитьПокупателей() Экспорт + + Покупатели = Новый Массив(); + + // Выбираем покупателей (не больше 20) по самым свежим, не закрытым заказам + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 20 + | Заказ.Покупатель.Широта КАК ПокупательШирота, + | Заказ.Покупатель.Долгота КАК ПокупательДолгота, + | Заказ.Покупатель.Ссылка КАК ПокупательСсылка, + | Заказ.Покупатель.Наименование КАК ПокупательНаименование + |ИЗ + | Документ.Заказ КАК Заказ + |ГДЕ + | Заказ.СостояниеЗаказа <> ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказов.Закрыт) + | И ЕСТЬNULL(Заказ.Покупатель.Широта, 0) <> 0 + | И ЕСТЬNULL(Заказ.Покупатель.Долгота, 0) <> 0 + | + |СГРУППИРОВАТЬ ПО + | Заказ.Покупатель.Широта, + | Заказ.Покупатель.Долгота, + | Заказ.Покупатель.Ссылка + | + |УПОРЯДОЧИТЬ ПО + | МАКСИМУМ(Заказ.Дата) УБЫВ"; + + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Покупатель = Новый Структура(); + Покупатель.Вставить("Наименование", Выборка.ПокупательНаименование); + Покупатель.Вставить("Широта", Выборка.ПокупательШирота); + Покупатель.Вставить("Долгота", Выборка.ПокупательДолгота); + Покупатель.Вставить("Ссылка", Выборка.ПокупательСсылка); + Покупатели.Добавить(Покупатель); + КонецЦикла; + Возврат Покупатели; +КонецФункции diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.mdo" new file mode 100644 index 000000000..b80645efa --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200/\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\265\321\200\320\262\320\265\321\200.mdo" @@ -0,0 +1,11 @@ + + + ГеопозиционированиеСервер + + ru + Геопозиционирование сервер + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/Module.bsl" new file mode 100644 index 000000000..f797df04e --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/Module.bsl" @@ -0,0 +1,187 @@ +#Область ПрограммныйИнтерфейс + +// Выполнить запрос. +// Выполняет http запрос, по переданным параметрам +// Параметры: +// Адрес - Строка - URL ресурса +// ФорматОтвета - см. ФорматОтвета +// Авторизация - Неопределено - без авторизации +// - Структура - параметры авторизации: +// * Пользователь - Строка +// * Пароль - Строка +// +// Возвращаемое значение: +// Структура - Выполнить запрос: +// * Успешно - Булево +// * Ошибки - Массив из Строка - Описание возникцишх ошибок +// * КодСостояния - Число - Код ответа +// * Тело - Строка +// - Структура +// - Массив из Произвольный +Функция ВыполнитьЗапрос(Адрес, ФорматОтвета = Неопределено, Авторизация = Неопределено) Экспорт + + Результат = Новый Структура("Успешно, Ошибки, КодСостояния, Тело", Истина, Новый Массив()); + ДанныеАдреса = РазобратьURL(Адрес); + + Если ДанныеАдреса.ЗащищенноеСоединение Тогда + ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL; + Иначе + ЗащищенноеСоединение = Неопределено; + КонецЕсли; + + Если Авторизация <> Неопределено Тогда + ДанныеАдреса.Пользователь = Авторизация.Пользователь; + ДанныеАдреса.Пароль = Авторизация.Пароль; + КонецЕсли; + + Соединение = Новый HTTPСоединение(ДанныеАдреса.ИмяСервера, + ДанныеАдреса.Порт, + ДанныеАдреса.Пользователь, + ДанныеАдреса.Пользователь, + , + , + ЗащищенноеСоединение); + + Запрос = Новый HTTPЗапрос(ДанныеАдреса.АдресСкрипта); + + Ответ = Соединение.ВызватьHTTPМетод("GET", Запрос); + + Результат = Новый Структура("Успешно, Ошибки, КодСостояния, Тело", Истина, Новый Массив()); + Результат.КодСостояния = Ответ.КодСостояния; + Результат.Успешно = Ответ.КодСостояния >= 200 И Ответ.КодСостояния < 300; + Результат.Тело = Ответ.ПолучитьТелоКакСтроку(); + + Если НЕ(Ответ.КодСостояния >= 200 И Ответ.КодСостояния < 300) Тогда + Результат.Успешно = Ложь; + Результат.Ошибки.Добавить("Не удалось выполнить запрос"); + КонецЕсли; + + Если ФорматОтвета = ФорматОтвета().ОбъектJSON Тогда + Попытка + Результат.Тело = ЗначениеИзСтрокиJSON(Результат.Тело); + Исключение + Результат.Ошибки.Добавить("Не удалось разобрать тело"); + Результат.Ошибки.Добавить(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + Результат.Успешно = Ложь; + КонецПопытки; + КонецЕсли; + + Возврат Результат; + +КонецФункции + +Функция ФорматОтвета() Экспорт + + Форматы = Новый Структура(); + Форматы.Вставить("Текст", "Текст"); + Форматы.Вставить("ОбъектJSON", "JSON"); + + Возврат Новый ФиксированнаяСтруктура(Форматы); + +КонецФункции + +Функция Методы() Экспорт + + Методы = Новый Структура(); + Методы.Вставить("GET", "GET"); + Методы.Вставить("POST", "POST"); + + Возврат Новый ФиксированнаяСтруктура(Методы); + +КонецФункции + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +// Разобрать URL. +// +// Параметры: +// URL - Строка +// +// Возвращаемое значение: +// Структура - Разобрать URL: +// * URL - Строка - Переданный адрес +// * ЗащищенноеСоединение - Булево +// * Протокол - Строка +// * ИмяСервера - Строка +// * АдресСкрипта - Строка +// * Параметры - Строка +// * Якорь - Строка +// * Пользователь - Строка +// * Пароль - Строка +// * Порт - Число +// * Авторизация - Строка +Функция РазобратьURL(Знач URL) Экспорт + + Протокол = "http"; + URL = СокрЛП(URL); + Позиция = СтрНайти(URL, "://"); + + Если Позиция Тогда + + Протокол = НРег(Лев(URL, Позиция - 1)); + URL = Сред(URL, Позиция + 3); + + КонецЕсли; + + Свойства = "URL, ЗащищенноеСоединение, Протокол, ИмяСервера, АдресСкрипта, Параметры, Якорь, Пользователь, Пароль, Порт, Авторизация"; + Результат = Новый Структура(Свойства, URL, Протокол = "https", Протокол); + + ИменаСвойств = "URL, /, URL, АдресСкрипта + |АдресСкрипта, #, АдресСкрипта, Якорь + |АдресСкрипта, ?, АдресСкрипта, Параметры + |URL, @, Авторизация, ИмяСервера + |Авторизация, :, Пользователь, Пароль + |ИмяСервера, :, ИмяСервера, Порт"; + + Для Каждого СтрокаСвойств Из СтрРазделить(ИменаСвойств, Символы.ПС) Цикл + + МассивСвойств = СтрРазделить(СтрокаСвойств, ", ", Ложь); + ЗаполнитьПоляЗапроса(Результат, МассивСвойств[0], МассивСвойств[1], МассивСвойств[2], МассивСвойств[3]); + + КонецЦикла; + + Результат.Порт = ?(ПустаяСтрока(Результат.Порт), 80, Число(Результат.Порт)); + + Возврат Результат; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура ЗаполнитьПоляЗапроса(Результат, СтрокаПоиска, Разделитель, СвойствоЗначенияЛевого, СвойствоЗначенияПравого) + + СтрокаПоиска = Результат[СтрокаПоиска]; + Позиция = СтрНайти(СтрокаПоиска, Разделитель); + + Если Позиция Тогда + + ЗначениеЛевое = Лев(СтрокаПоиска, Позиция - 1); + ЗначениеПравое = Сред(СтрокаПоиска, Позиция + 1); + + Результат.Вставить(СвойствоЗначенияЛевого, ЗначениеЛевое); + Результат.Вставить(СвойствоЗначенияПравого, ЗначениеПравое); + + ИначеЕсли Разделитель = "@" Тогда + + Результат.Вставить("ИмяСервера", СтрокаПоиска); + + КонецЕсли; + +КонецПроцедуры + +Функция ЗначениеИзСтрокиJSON(Строка) + + Чтение = Новый ЧтениеJSON; + Чтение.УстановитьСтроку(Строка); + Значение = ПрочитатьJSON(Чтение); + Чтение.Закрыть(); + + Возврат Значение; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217.mdo" new file mode 100644 index 000000000..73da12a3a --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217.mdo" @@ -0,0 +1,10 @@ + + + Интеграция + + ru + Интеграция + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275/Module.bsl" new file mode 100644 index 000000000..b066a2b1e --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275/Module.bsl" @@ -0,0 +1,244 @@ +#Область ПрограммныйИнтерфейс + +// Выполняет обмены по всем активным настройкам интеграции +Процедура ВыполнитьОбмены() Экспорт + + Настройки = АктивныеНастройкиОбмена(); + + Для Каждого Настройка Из Настройки Цикл + ВыполнитьОбмен(Настройка); + + КонецЦикла; + +КонецПроцедуры + +// Выполняет обмены по указанной настройке интеграции +// +// Параметры: +// Настройка - СправочникСсылка.НастройкиИнтеграции - Ссылка на справочник настроек обмена +// - Структура - Данные настройки: +// * Адрес - Строка +// * Пользователь - Строка +// * Пароль - Строка +// * Организация - СправочникСсылка.Организации +// * Склад - СправочникСсылка.Склады +// * Валюта - СправочникСсылка.Валюты +// * ВидЦен - СправочникСсылка.ВидыЦен + +Процедура ВыполнитьОбмен(Настройка) Экспорт + + Результат = ВыполнитьЗапрос(Настройка, "/orders"); + + Если НЕ Результат.Успешно Тогда + ЗафиксироватьОшибкуЗапроса(Настройка, Результат); + Возврат; + КонецЕсли; + +//{ +// "Данные": [ +// { +// "Идентификатор": 1, +// "Покупатель": "Иванов", +// "Дата": "2022-10-06T13:30", +// "Товары": [ +// { +// "Наименование": "Ручка", +// "Количество": 5, +// "Сумма": 50 +// } +// { +// "Наименование": "Карандаш", +// "Количество": 1, +// "Сумма": 20 +// } +// ] +// } +// ] +//} + + Для Каждого Запись Из Результат.Тело.Данные Цикл + + ОбработатьЗапись(Настройка, Запись); + + КонецЦикла; + +КонецПроцедуры + +// Возвращает список активных настроек интеграции +// +// Возвращаемое значение: +// ТаблицаЗначений - Активные настройки обмена: +// * Адрес - Строка +// * Пользователь - Строка +// * Пароль - Строка +// * Организация - СправочникСсылка.Организации +// * Склад - СправочникСсылка.Склады +// * Валюта - СправочникСсылка.Валюты +// * ВидЦен - СправочникСсылка.ВидыЦен +Функция АктивныеНастройкиОбмена() Экспорт + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | НастройкиИнтеграции.Ссылка, + | НастройкиИнтеграции.Адрес, + | НастройкиИнтеграции.Пользователь, + | НастройкиИнтеграции.Пароль, + | НастройкиИнтеграции.Организация, + | НастройкиИнтеграции.Склад, + | НастройкиИнтеграции.Валюта, + | НастройкиИнтеграции.ВидЦен + |ИЗ + | Справочник.НастройкиИнтеграции КАК НастройкиИнтеграции + |ГДЕ + | НЕ НастройкиИнтеграции.ПометкаУдаления"; + + Возврат Запрос.Выполнить().Выгрузить(); + +КонецФункции + +#КонецОбласти + +#Область СлужебныйПрограммныйИнтерфейс + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ВыполнитьЗапрос(Настройка, Ресурс) + + Адрес = Настройка.Адрес + Ресурс; + Результат = Интеграция.ВыполнитьЗапрос(Адрес, Интеграция.ФорматОтвета().ОбъектJSON, Настройка); + + Возврат Результат; + +КонецФункции + +Процедура ЗафиксироватьОшибкуЗапроса(Настройка, Результат) + + Если Результат.КодСостояния = 401 Тогда + Результат.Ошибки.Добавить("Не удалось авторизоваться"); + ИначеЕсли Результат.КодСостояния >= 400 И Результат.КодСостояния < 500 Тогда + Результат.Ошибки.Добавить("Ошибка отправленного запроса. Сервер отклонил запрос"); + ИначеЕсли Результат.КодСостояния >= 500 И Результат.КодСостояния < 600 Тогда + Результат.Ошибки.Добавить("Ошибка на стороне сервиса"); + ИначеЕсли Результат.КодСостояния >= 300 И Результат.КодСостояния < 400 Тогда + Результат.Ошибки.Добавить("Перенаправление запроса. Сервис возможно перехал"); + КонецЕсли; + + Если ТипЗнч(Результат.Тело) = Тип("Строка") Тогда + Результат.Ошибки.Добавить("Ответ сервиса: " + Результат.Тело); + ИначеЕсли Результат.Тело.Свойство("Сообщение") Тогда + Результат.Ошибки.Добавить("Ответ сервиса: " + Результат.Тело.Сообщение); + КонецЕсли; + + Сообщение = "Не удалось выполнить обмен по настройке " + Настройка + Символы.ПС + СтрСоединить(Результат.Ошибки, Символы.ПС); + + РегистрацияОшибок.ЗафиксироватьОшибку(Сообщение); + +КонецПроцедуры + +Процедура ОбработатьЗапись(Настройка, Запись) + + Покупатель = Покупатель(Запись.Покупатель); + Если Покупатель.Пустая() Тогда + Покупатель = СоздатьПокупателя(Запись.Покупатель); + КонецЕсли; + + Объект = Документы.РасходТовара.СоздатьДокумент(); + + Объект.Организация = Настройка.Организация; + Объект.Склад = Настройка.Склад; + Объект.Валюта = Настройка.Валюта; + Объект.ВидЦен = Настройка.ВидЦен; + + Объект.Дата = XMLЗначение(Тип("Дата"), Запись.Дата); + Объект.Покупатель = Покупатель; + + Для Каждого ИнформацияОтоваре Из Запись.Товары Цикл + + Строка = Объект.Товары.Добавить(); + Строка.Товар = Товар(ИнформацияОтоваре.Наименование); + Строка.Количество = ИнформацияОтоваре.Количество; + Строка.Сумма = ИнформацияОтоваре.Сумма; + Строка.Цена = Строка.Сумма; + + КонецЦикла; + + Объект.ОбменДанными.Загрузка = Истина; + Объект.Записать(); + + Если Объект.ПроверитьЗаполнение() Тогда + Попытка + Объект.ОбменДанными.Загрузка = Ложь; + Объект.Записать(РежимЗаписиДокумента.Проведение); + Исключение + РегистрацияОшибок.ЗафиксироватьОшибку(ИнформацияОбОшибке()); + КонецПопытки; + Иначе + РегистрацияОшибок.ЗафиксироватьОшибку("Документ не прошел проверку заполнения"); + КонецЕсли; + +КонецПроцедуры + +Функция Покупатель(Наименование) + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Контрагенты.Ссылка + |ИЗ + | Справочник.Контрагенты КАК Контрагенты + |ГДЕ + | Контрагенты.Наименование = &Наименование + | И НЕ Контрагенты.ЭтоГруппа + | И НЕ Контрагенты.ПометкаУдаления"; + + Запрос.УстановитьПараметр("Наименование", Наименование); + + Возврат ЗначениеИзЗапроса(Запрос, Справочники.Контрагенты.ПустаяСсылка()); + +КонецФункции + +Функция Товар(Наименование) + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Товары.Ссылка + |ИЗ + | Справочник.Товары КАК Товары + |ГДЕ + | Товары.Наименование = &Наименование + | И НЕ Товары.ЭтоГруппа + | И НЕ Товары.ПометкаУдаления"; + + Запрос.УстановитьПараметр("Наименование", Наименование); + + Возврат ЗначениеИзЗапроса(Запрос, Справочники.Товары.ПустаяСсылка()); + +КонецФункции + +Функция СоздатьПокупателя(Наименование) + + Объект = Справочники.Контрагенты.СоздатьЭлемент(); + Объект.Наименование = Наименование; + Объект.Записать(); + + Возврат Объект.Ссылка; + +КонецФункции + +Функция ЗначениеИзЗапроса(Запрос, ПоУмолчанию) + + Выборка = Запрос.Выполнить().Выбрать(); + + Если Выборка.Следующий() Тогда + Возврат Выборка[0]; + Иначе + Возврат ПоУмолчанию; + КонецЕсли; + +КонецФункции + +#КонецОбласти \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275.mdo" new file mode 100644 index 000000000..d736f316a --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\234\320\260\320\263\320\260\320\267\320\270\320\275.mdo" @@ -0,0 +1,9 @@ + + + ИнтеграцияМагазин + + ru + Интеграция магазин + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265/Module.bsl" new file mode 100644 index 000000000..d5a1a2cb7 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265/Module.bsl" @@ -0,0 +1,109 @@ +// Процедура на основании анализа типа данных заменяет их на данные, удаляющие +// информацию из узла в котором их не должно быть +// +// Параметры: +// Данные – Объект, набор записей,... который нужно преобразовать +// +Процедура УдалениеДанных(Данные) + + // Получаем объект описания метаданного, соответствующий данным + ОбъектМетаданных = ?(ТипЗнч(Данные) = Тип("УдалениеОбъекта"), Данные.Ссылка.Метаданные(), Данные.Метаданные()); + // Проверяем тип, интересуют только те типы, которые реализованы на мобильной платформе + Если Метаданные.Справочники.Содержит(ОбъектМетаданных) + ИЛИ Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда + + // Перенос удаления объекта для объектных + Данные = Новый УдалениеОбъекта(Данные.Ссылка); + + ИначеЕсли Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных) + ИЛИ Метаданные.РегистрыНакопления.Содержит(ОбъектМетаданных) + ИЛИ Метаданные.Последовательности.Содержит(ОбъектМетаданных) Тогда + + // Очищаем данные + Данные.Очистить(); + + КонецЕсли; + +КонецПроцедуры + +// Функция формирует пакет обмена, который будет отправлен узлу "УзелОбмена" +// +// Параметры: +// УзелОбмена – узел плана обмена "мобильные", с которым осуществляется обмен +// +// Возвращаемое значение: +// сформированный пакет, помещенный в хранилище значения +Функция СформироватьПакетОбмена(УзелОбмена) Экспорт + + ЗаписьXML = Новый ЗаписьXML; + + ЗаписьXML.УстановитьСтроку("UTF-8"); + ЗаписьXML.ЗаписатьОбъявлениеXML(); + + ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); + ЗаписьСообщения.НачатьЗапись(ЗаписьXML, УзелОбмена); + + ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance"); + ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8", "http://v8.1c.ru/data"); + + ТипДанныхУдаления = Тип("УдалениеОбъекта"); + + ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, ЗаписьСообщения.НомерСообщения); + Пока ВыборкаИзменений.Следующий() Цикл + + Данные = ВыборкаИзменений.Получить(); + + // Если перенос данных не нужен, то, возможно, необходимо записать удаление данных + Если Не ОбменМобильныеПереопределяемый.НуженПереносДанных(Данные, УзелОбмена) Тогда + + // Получаем значение с возможным удалением данных + УдалениеДанных(Данные); + + КонецЕсли; + + // Записываем данные в сообщение + ОбменМобильныеПереопределяемый.ЗаписатьДанные(ЗаписьXML, Данные); + + КонецЦикла; + + ЗаписьСообщения.ЗакончитьЗапись(); + + Возврат Новый ХранилищеЗначения(ЗаписьXML.Закрыть(), Новый СжатиеДанных(9)); + +КонецФункции + +// Процедура вносит в информационную базу данные, которые присланы из узла "УзелОбмена" +// +// Параметры: +// УзелОбмена – узел плана обмена "мобильные", с которым осуществляется обмен +// ДанныеОбмена - пакет обмена полученный из узла УзелОбмена, помещен в ХранилищеЗначения +// +Процедура ПринятьПакетОбмена(УзелОбмена, ДанныеОбмена) Экспорт + + ЧтениеXML = Новый ЧтениеXML; + ЧтениеXML.УстановитьСтроку(ДанныеОбмена.Получить()); + ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); + ЧтениеСообщения.НачатьЧтение(ЧтениеXML); + ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель,ЧтениеСообщения.НомерПринятого); + + НачатьТранзакцию(); + Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл + + Данные = ОбменМобильныеПереопределяемый.ПрочитатьДанные(ЧтениеXML); + + Если Не Данные = Неопределено Тогда + + Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель; + Данные.ОбменДанными.Загрузка = Истина; + + Данные.Записать(); + + КонецЕсли; + + КонецЦикла; + ЗафиксироватьТранзакцию(); + + ЧтениеСообщения.ЗакончитьЧтение(); + ЧтениеXML.Закрыть(); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265.mdo" new file mode 100644 index 000000000..c0703b607 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\320\261\321\211\320\265\320\265.mdo" @@ -0,0 +1,11 @@ + + + ОбменМобильныеОбщее + + ru + Обмен мобильные общее + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Module.bsl" new file mode 100644 index 000000000..e5fcde06b --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Module.bsl" @@ -0,0 +1,258 @@ +// Функция выполняет проверку того, что данные нужно переностить в данный узел +// +// Параметры: +// Данные – Объект, набор записей,... который нужно проверить. +// То, что переносится везде, не обрабатывается +// УзелОбмена - узел плана обмена, куда осуществляется перенос +// +// Возвращаемое значение: +// Перенос - булево, если Истина - необходимо выполнять перенос, +// иначе - перенос выполнять не нужно +// +Функция НуженПереносДанных(Данные, УзелОбмена) Экспорт + + Перенос = Истина; + + Если ТипЗнч(Данные) = Тип("ДокументОбъект.Заказ") Тогда + + // Проверяем, что автор документа - это текущий пользователь + Если Данные.Автор <> Пользователи.ТекущийПользователь() Тогда + Перенос = Ложь; + КонецЕсли; + + КонецЕсли; + + Если ТипЗнч(Данные) = Тип("СправочникОбъект.Встречи") Тогда + + // Проверяем, что владелец - это текущий пользователь + Если Данные.Владелец <> Пользователи.ТекущийПользователь() Тогда + Перенос = Ложь; + КонецЕсли; + + КонецЕсли; + + Если ТипЗнч(Данные) = Тип("РегистрСведенийНаборЗаписей.МобильныеОтчеты") Тогда + + // Проверяем, что запись предназначена для этого Получателя + Если Данные.Отбор.Получатель.Значение <> УзелОбмена.Код Тогда + Перенос = Ложь; + КонецЕсли; + + КонецЕсли; + + Возврат Перенос; + +КонецФункции + +// Процедура записывает данные в формат XML +// Процедура анализирует переданный объект данных и на основе этого анализа +// записывает его определенным образом в формат XML +// +// Параметры: +// ЗаписьXML - объект, записывающий XML данные +// Данные - данные, подлежащие записи в формат XML +// +Процедура ЗаписатьДанные(ЗаписьXML, Данные) Экспорт + + // В данном случае, нет данных, которые требуют нестандартной обработки + // Записываем данные с помощью стандартного метода + ЗаписатьXML(ЗаписьXML, Данные); + +КонецПроцедуры + +// Функция читает данные из формат XML +// Процедура анализирует переданный объект ЧтениеXML и на основе этого анализа +// читает из него данные определенным образом +// +// Параметры: +// ЧтениеXML - объект, читающий XML данные +// +// Возвращаемое значение: +// Данные - значение, прочитанное из объекта ЧтениеXML +// +Функция ПрочитатьДанные(ЧтениеXML) Экспорт + + // Пытаемся прочесть значение из объекта ЧтениеXML стандартным образом + Данные = ПрочитатьXML(ЧтениеXML); + + // В мобильном приложении не всегда есть возможность надежно определить пользователя в списке + // но в момент синхронизации пользователь известен + Если ТипЗнч(Данные) = Тип("ДокументОбъект.Заказ") Тогда + + Если Данные.Автор.Пустая() Тогда + Данные.Автор = Пользователи.ТекущийПользователь(); + КонецЕсли; + АвторОбъект = Данные.Автор.ПолучитьОбъект(); + Если АвторОбъект = Неопределено Тогда + Данные.Автор = Пользователи.ТекущийПользователь(); + КонецЕсли; + + КонецЕсли; + Если ТипЗнч(Данные) = Тип("СправочникОбъект.Встречи") Тогда + + Если Данные.Владелец.Пустая() Тогда + Данные.Владелец = Пользователи.ТекущийПользователь(); + КонецЕсли; + АвторОбъект = Данные.Владелец.ПолучитьОбъект(); + Если АвторОбъект = Неопределено Тогда + Данные.Владелец = Пользователи.ТекущийПользователь(); + КонецЕсли; + + КонецЕсли; + + Возврат Данные; + +КонецФункции + +// Процедура регистрирует изменения, для всех данных, входящих в состав плана обмена +// Параметры: +// УзелОбмена - узел плана обмена, для которого регистрируются изменения +Процедура ЗарегистрироватьИзмененияДанных(УзелОбмена) Экспорт + + СоставПланаОбмена = УзелОбмена.Метаданные().Состав; + Для Каждого ЭлементСоставаПланаОбмена Из СоставПланаОбмена Цикл + + ПланыОбмена.ЗарегистрироватьИзменения(УзелОбмена,ЭлементСоставаПланаОбмена.Метаданные); + + КонецЦикла; + +КонецПроцедуры + +// Функция формирует отчет, +// используется для удаленного формирования из мобильного приложения +// +// Параметры: +// СтрокаНастроек - настройки формируемого отчета +// ИнформацияРасшифровки - переменная, в которую будет записана информация расшифровки +// +// Возвращаемое значение: +// сформированный табличный документ +// +Функция СформироватьОтчет(СтрокаНастроек, ИнформацияРасшифровки) Экспорт + + Настройки = Неопределено; + Если СтрокаНастроек <> "" Тогда + + ЧтениеXML = Новый ЧтениеXML; + ЧтениеXML.УстановитьСтроку(СтрокаНастроек); + Настройки = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("Структура")); + + Иначе + Настройки = Новый Структура; + + КонецЕсли; + + Отчет = Отчеты.ОстаткиТоваровНаСкладах.Создать(); + + ПараметрыВывода = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода; + ПараметрыВывода.УстановитьЗначениеПараметра("ГоризонтальноеРасположениеОбщихИтогов", РасположениеИтоговКомпоновкиДанных.Начало); + ПараметрыВывода.УстановитьЗначениеПараметра("ВертикальноеРасположениеОбщихИтогов", РасположениеИтоговКомпоновкиДанных.Конец); + ПараметрыВывода.УстановитьЗначениеПараметра("ВыводитьЗаголовок", ТипВыводаТекстаКомпоновкиДанных.НеВыводить); + ПараметрыВывода.УстановитьЗначениеПараметра("ВыводитьПараметрыДанных", ТипВыводаТекстаКомпоновкиДанных.НеВыводить); + ПараметрыВывода.УстановитьЗначениеПараметра("ВыводитьОтбор", ТипВыводаТекстаКомпоновкиДанных.НеВыводить); + + // Упрощение реализации, при желании эти настройки можно найти, + // но мы знаем, что в отчете ОстаткиТоваровНаСкладах + // "Товар" - вторая настройка, + // "Склад" - третья настройка + Элемент = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1]; + Товар = Неопределено; + Настройки.Свойство("Товар", Товар); + Если Товар <> Неопределено + И Товар <> Справочники.Товары.ПустаяСсылка() Тогда + + Элемент.Использование = Истина; + Элемент.ПравоеЗначение = Товар; + Если Товар.ЭтоГруппа Тогда + + Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии; + + Иначе + + Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + + КонецЕсли; + + Иначе + Элемент.Использование = Ложь; + + КонецЕсли; + + Если ПолучитьФункциональнуюОпцию("УчетПоСкладам") Тогда + Склад = Неопределено; + Настройки.Свойство("Склад", Склад); + Элемент = Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[2]; + Если Склад <> Неопределено + И Склад <> Справочники.Склады.ПустаяСсылка() Тогда + + Элемент.Использование = Истина; + Элемент.ПравоеЗначение = Склад; + + Иначе + + Элемент.Использование = Ложь; + + КонецЕсли; + + КонецЕсли; + + ТабличныйДокумент = Новый ТабличныйДокумент(); + Настройки = Отчет.КомпоновщикНастроек.ПолучитьНастройки(); + ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных(); + МакетОформления = Отчет.ПолучитьМакет("ОформлениеДляМобильногоОтчета"); + + КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; + МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(Отчет.СхемаКомпоновкиДанных, Настройки, ИнформацияРасшифровки, МакетОформления); + + ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; + ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,, ДанныеРасшифровки, Истина); + + ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; + ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); + ПроцессорВывода.НачатьВывод(); + ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); + ПроцессорВывода.ЗакончитьВывод(); + + ИнформацияРасшифровки = Новый Соответствие; + Для Каждого элемент из ДанныеРасшифровки.Элементы Цикл + Если ТипЗнч(элемент) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда + Поля = элемент.ПолучитьПоля(); + Если Поля.Количество() > 0 Тогда + ИнформацияРасшифровки.Вставить(элемент.Идентификатор, Поля[0].Значение); + КонецЕсли; + КонецЕсли; + КонецЦикла; + Возврат ТабличныйДокумент; + +КонецФункции + +// Процедура формирует отчеты, +// удаленно заказанные мобильным приложением +// +// Параметры: +// УзелОбмена - узел плана обмена, для которого осуществляется формирование отчетов +// +Процедура СформироватьЗаказанныеОтчеты(УзелОбмена) Экспорт + + НаборЗаписей = РегистрыСведений.МобильныеОтчеты.СоздатьНаборЗаписей(); + НаборЗаписей.Отбор.Вид.Установить(Перечисления.ВидыМобильныхОтчетов.ОстаткиТоваровНаСкладах); + НаборЗаписей.Отбор.Получатель.Установить(УзелОбмена.Код); + НаборЗаписей.Прочитать(); + + // в наборе с такими отборами не может быть больше одной записи + Если НаборЗаписей.Количество() > 0 И НаборЗаписей[0].ОбновлятьПриОбмене = Истина Тогда + + ИнформацияРасшифровки = Неопределено; + ТабличныйДокумент = СформироватьОтчет(НаборЗаписей[0].Настройки, ИнформацияРасшифровки); + НаборЗаписей[0].Содержимое = Новый ХранилищеЗначения(ТабличныйДокумент); + НаборЗаписей[0].Вид = Перечисления.ВидыМобильныхОтчетов.ОстаткиТоваровНаСкладах; + НаборЗаписей[0].Получатель = УзелОбмена.Код; + ЗаписьXML = Новый ЗаписьXML; + ЗаписьXML.УстановитьСтроку(); + СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ИнформацияРасшифровки); + НаборЗаписей[0].ИнформацияРасшифровки = ЗаписьXML.Закрыть(); + НаборЗаписей.Записать(); + + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.mdo" new file mode 100644 index 000000000..588dc75ba --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/\320\236\320\261\320\274\320\265\320\275\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.mdo" @@ -0,0 +1,11 @@ + + + ОбменМобильныеПереопределяемый + + ru + Обмен мобильные переопределяемый + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Module.bsl" new file mode 100644 index 000000000..2b68fe8c1 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Module.bsl" @@ -0,0 +1,70 @@ + +// Функция возвращает ссылку на текущего пользователя базы данных, +// установленного по учетной записи пользователя конфигурации. +// +// Возвращаемое значение: +// СправочникСсылка.Пользователи +// +Функция ТекущийПользователь() Экспорт + + Возврат ПараметрыСеанса.ТекущийПользователь; + +КонецФункции // ТекущийПользователь() + +// Процедура, определяет пользователя, под которым запущен сеанс и пытается +// найти соответсвие ему в справочнике Пользователи. Если соответствие +// не найдено - создается новый элемент. Параметр сеанса ТекущийПользователь +// устанавливается как ссылка на найденный (созданный) элемент справочника. +// +Процедура ОпределитьТекущегоПользователя() Экспорт + + ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + Если ТекущийПользователь.Имя = "" Тогда + ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.ПустаяСсылка(); + Возврат; // Это фоновое задание + КонецЕсли; + + ИдентификаторПользователяИБ = ТекущийПользователь.УникальныйИдентификатор; + + УстановитьПривилегированныйРежим(Истина); + + Запрос = Новый Запрос; + Запрос.Текст = " + |ВЫБРАТЬ ПЕРВЫЕ 1 + | Пользователи.Ссылка КАК Ссылка, + | Пользователи.Код КАК Код, + | Пользователи.Наименование КАК Наименование + |ИЗ + | Справочник.Пользователи КАК Пользователи + |ГДЕ + | Пользователи.ИдентификаторПользователяИБ = &ИдентификаторПользователяИБ"; + Запрос.Параметры.Вставить("ИдентификаторПользователяИБ", ИдентификаторПользователяИБ); + + Результат = Запрос.Выполнить(); + Если Результат.Пустой() Тогда + + НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент(); + НовыйПользователь.ИдентификаторПользователяИБ = ИдентификаторПользователяИБ; + НовыйПользователь.Код = ТекущийПользователь.Имя; + НовыйПользователь.Наименование = ТекущийПользователь.ПолноеИмя; + НовыйПользователь.Записать(); + ПараметрыСеанса.ТекущийПользователь = НовыйПользователь.Ссылка; + + Иначе + + Выборка = Результат.Выбрать(); + Выборка.Следующий(); + ПараметрыСеанса.ТекущийПользователь = Выборка.Ссылка; + + Если Выборка.Код <> ТекущийПользователь.Имя + ИЛИ Выборка.Наименование <> ТекущийПользователь.ПолноеИмя Тогда + + Пользователь = Выборка.Ссылка.ПолучитьОбъект(); + Пользователь.Код = ТекущийПользователь.Имя; + Пользователь.Наименование = ТекущийПользователь.ПолноеИмя; + Пользователь.Записать(); + + КонецЕсли; + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" new file mode 100644 index 000000000..54b78c1c9 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" @@ -0,0 +1,12 @@ + + + Пользователи + + ru + Пользователи + + + true + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/Module.bsl" new file mode 100644 index 000000000..41c1dac68 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/Module.bsl" @@ -0,0 +1,244 @@ +Процедура Инициализация() Экспорт + + Если НЕ СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() Тогда + + Возврат; + + КонецЕсли; + + УстановитьПривилегированныйРежим(Истина); + + // Создаем пользователя информационной базы Помощник + ПользовательИнформационнойБазыПомощник = ПользователиИнформационнойБазы.НайтиПоИмени("Помощник"); + Если ПользовательИнформационнойБазыПомощник = Неопределено Тогда + + ПользовательИнформационнойБазыПомощник = ПользователиИнформационнойБазы.СоздатьПользователя(); + ПользовательИнформационнойБазыПомощник.Имя = "Помощник"; + ПользовательИнформационнойБазыПомощник.ПолноеИмя = "Помощник"; + ПользовательИнформационнойБазыПомощник.ПоказыватьВСпискеВыбора = Ложь; + ПользовательИнформационнойБазыПомощник.Роли.Добавить(Метаданные.Роли.Помощник); + ПользовательИнформационнойБазыПомощник.Записать(); + + ПользовательСистемыВзаимодействияПомощник = СистемаВзаимодействия.СоздатьПользователя(ПользовательИнформационнойБазыПомощник); + ПользовательСистемыВзаимодействияПомощник.Записать(); + + КонецЕсли; + + ИдентификаторПользователяСистемыВзаимодействияПомощник = + СистемаВзаимодействия.ПолучитьИдентификаторПользователя(ПользовательИнформационнойБазыПомощник.УникальныйИдентификатор); + + // Создаем пользователей системы взаимодействия + Для Каждого ПользовательИБ ИЗ ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл + + Если ПользовательИБ.Роли.Содержит(Метаданные.Роли.Администратор) ИЛИ + ПользовательИБ.Роли.Содержит(Метаданные.Роли.МенеджерПоЗакупкам) ИЛИ + ПользовательИБ.Роли.Содержит(Метаданные.Роли.МенеджерПоПродажам) ИЛИ + ПользовательИБ.Роли.Содержит(Метаданные.Роли.Продавец) + Тогда + + Попытка + + ИдентификаторПользователяСистемыВзаимодействия = + СистемаВзаимодействия.ПолучитьИдентификаторПользователя(ПользовательИБ.УникальныйИдентификатор); + ПользовательСистемыВзаимодействия = + СистемаВзаимодействия.ПолучитьПользователя(ИдентификаторПользователяСистемыВзаимодействия); + + Исключение + + ПользовательСистемыВзаимодействия = СистемаВзаимодействия.СоздатьПользователя(ПользовательИБ); + ПользовательСистемыВзаимодействия.Записать(); + + КонецПопытки; + + КонецЕсли; + + КонецЦикла; + + // Обсуждение для неотработанных заказов + Обсуждение = СистемаВзаимодействия.ПолучитьОбсуждение("НеотработанныеЗаказы"); + Если Обсуждение = Неопределено Тогда + + // Если не найдено, создаем новое + Обсуждение = СистемаВзаимодействия.СоздатьОбсуждение(); + Обсуждение.Заголовок = НСтр("ru = 'Неотработанные заказы'", "ru"); + Обсуждение.Ключ = "НеотработанныеЗаказы"; + + Обсуждение.Участники.Добавить(ИдентификаторПользователяСистемыВзаимодействияПомощник); + + Для Каждого ПользовательИБ ИЗ ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл + + Если ПользовательИБ.Роли.Содержит(Метаданные.Роли.Администратор) ИЛИ + ПользовательИБ.Роли.Содержит(Метаданные.Роли.МенеджерПоПродажам) + Тогда + + ИдентификаторПользователяСистемыВзаимодействия = + СистемаВзаимодействия.ПолучитьИдентификаторПользователя(ПользовательИБ.УникальныйИдентификатор); + + Если НЕ Обсуждение.Участники.Содержит(ИдентификаторПользователяСистемыВзаимодействия) Тогда + + Обсуждение.Участники.Добавить(ИдентификаторПользователяСистемыВзаимодействия); + + КонецЕсли; + + КонецЕсли; + + КонецЦикла; + + Обсуждение.Записать(); + + КонецЕсли; + + // Включаем регламентные задания + Задание = РегламентныеЗадания.НайтиПредопределенное("ПомощникНеотработанныеЗаказы"); + Задание.Использование = Истина; + Задание.ИмяПользователя = "Помощник"; + Задание.Записать(); + + // Записываем приветственное сообщение + ПериодПроверки = Константы.ПериодПроверкиНеотработанныхЗаказов.Получить(); + Если ПериодПроверки = 0 Тогда + + ПериодПроверки = 30; + + КонецЕсли; + + Текст = НСтр("ru = 'Добро пожаловать в обсуждения!'", "ru") + Символы.ПС + + НСтр("ru = 'В этом обсуждении помощник будет сообщать раз в '", "ru") + + СтрокаСЧислом(НСтр("ru = ';%1 день;;%1 дня;%1 дней;%1 дня'", "ru"), Задание.Расписание.ПериодПовтораДней, ВидЧисловогоЗначения.Количественное) + + НСтр("ru = ' о заказах, которые не закрыты более '", "ru") + + СтрокаСЧислом(НСтр("ru = ';%1 дня;;%1 дней;%1 дней;%1 дней'", "ru"), ПериодПроверки, ВидЧисловогоЗначения.Количественное); + + Сообщение = СистемаВзаимодействия.СоздатьСообщение(Обсуждение.Идентификатор); + Сообщение.Автор = ИдентификаторПользователяСистемыВзаимодействияПомощник; + Сообщение.Текст = Новый ФорматированнаяСтрока(Текст); + Сообщение.Действия.Добавить("Settings", НСтр("ru = 'Настройка'", "ru")); + Сообщение.Действия.Добавить("CheckNow", НСтр("ru = 'Проверить сейчас'", "ru")); + Сообщение.Записать(); + +КонецПроцедуры + +Процедура Отключение() Экспорт + + // Отключаем регламентные задания + Задание = РегламентныеЗадания.НайтиПредопределенное("ПомощникНеотработанныеЗаказы"); + Задание.Использование = Ложь; + Задание.Записать(); + +КонецПроцедуры + +Процедура ПомощникНеотработанныеЗаказы() Экспорт + + Если НЕ СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() Тогда + Возврат; + КонецЕсли; + + Обсуждение = СистемаВзаимодействия.ПолучитьОбсуждение("НеотработанныеЗаказы"); + Если Обсуждение = Неопределено Тогда + + Возврат; + + КонецЕсли; + + // Выбираем заказы + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | Заказ.Ссылка КАК Ссылка, + | Заказ.Сумма КАК Сумма, + | Заказ.Покупатель КАК Покупатель + |ИЗ + | Документ.Заказ КАК Заказ + |ГДЕ + | Заказ.ПометкаУдаления = ЛОЖЬ + | И Заказ.СостояниеЗаказа <> ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказов.Закрыт) + | И Заказ.СостояниеЗаказа <> ЗНАЧЕНИЕ(Перечисление.СостоянияЗаказов.Выполнен) + | И Заказ.Дата < &Дата + | + |УПОРЯДОЧИТЬ ПО + | Заказ.Дата"; + + ПериодПроверки = Константы.ПериодПроверкиНеотработанныхЗаказов.Получить(); + Если ПериодПроверки = 0 Тогда + + ПериодПроверки = 30; + + КонецЕсли; + + Запрос.УстановитьПараметр("Дата", НачалоДня(ТекущаяДата()) - ПериодПроверки * 24 * 60 * 60); + + Результат = Запрос.Выполнить(); + Если Результат.Пустой() Тогда + Возврат; + КонецЕсли; + + УстановитьПривилегированныйРежим(Истина); + ПользовательИнформационнойБазыПомощник = ПользователиИнформационнойБазы.НайтиПоИмени("Помощник"); + ИдентификаторПользователяСистемыВзаимодействияПомощник = + СистемаВзаимодействия.ПолучитьИдентификаторПользователя(ПользовательИнформационнойБазыПомощник.УникальныйИдентификатор); + + Сообщение = СистемаВзаимодействия.СоздатьСообщение(Обсуждение.Идентификатор); + Сообщение.Автор = ИдентификаторПользователяСистемыВзаимодействияПомощник; + Текст = НСтр("ru = 'Заказы, незакрытые более '", "ru") + + СтрокаСЧислом(НСтр("ru = ';%1 дня;;%1 дней;%1 дней;%1 дней'", "ru"), ПериодПроверки, ВидЧисловогоЗначения.Количественное); + + Выборка = Результат.Выбрать(); + + Пока Выборка.Следующий() Цикл + + Текст = Текст + Символы.ПС; + Текст = Текст + ПолучитьНавигационнуюСсылку(Выборка.Ссылка) + + " (" + НСтр("ru = 'Сумма: '", "ru") + Формат(Выборка.Сумма, "ЧДЦ=2") + + " " + НСтр("ru = 'Покупатель: '", "ru") + ПолучитьНавигационнуюСсылку(Выборка.Покупатель) + ")"; + + КонецЦикла; + + Сообщение.Текст = Новый ФорматированнаяСтрока(Текст); + Сообщение.Действия.Добавить("Settings", НСтр("ru = 'Настройка'", "ru")); + Сообщение.Действия.Добавить("CheckNow", НСтр("ru = 'Проверить сейчас'", "ru")); + Сообщение.Записать(); + +КонецПроцедуры + +Процедура ИзменениеНастройки() Экспорт + + Если НЕ СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() Тогда + + Возврат; + + КонецЕсли; + + Обсуждение = СистемаВзаимодействия.ПолучитьОбсуждение("НеотработанныеЗаказы"); + Если Обсуждение = Неопределено Тогда + + Возврат; + + КонецЕсли; + + УстановитьПривилегированныйРежим(Истина); + + ПериодПроверки = Константы.ПериодПроверкиНеотработанныхЗаказов.Получить(); + Если ПериодПроверки = 0 Тогда + + ПериодПроверки = 30; + + КонецЕсли; + + Задание = РегламентныеЗадания.НайтиПредопределенное("ПомощникНеотработанныеЗаказы"); + + ПользовательИнформационнойБазыПомощник = ПользователиИнформационнойБазы.НайтиПоИмени("Помощник"); + ИдентификаторПользователяСистемыВзаимодействияПомощник = + СистемаВзаимодействия.ПолучитьИдентификаторПользователя(ПользовательИнформационнойБазыПомощник.УникальныйИдентификатор); + + + Текст = НСтр("ru = 'Помощник будет сообщать раз в '", "ru") + + СтрокаСЧислом(НСтр("ru = ';%1 день;;%1 дня;%1 дней;%1 дня'", "ru"), Задание.Расписание.ПериодПовтораДней, ВидЧисловогоЗначения.Количественное) + + НСтр("ru = ' о заказах, которые не закрыты более '", "ru") + + СтрокаСЧислом(НСтр("ru = ';%1 дня;;%1 дней;%1 дней;%1 дней'", "ru"), ПериодПроверки, ВидЧисловогоЗначения.Количественное); + + Сообщение = СистемаВзаимодействия.СоздатьСообщение(Обсуждение.Идентификатор); + Сообщение.Автор = ИдентификаторПользователяСистемыВзаимодействияПомощник; + Сообщение.Текст = Новый ФорматированнаяСтрока(Текст); + Сообщение.Действия.Добавить("Settings", НСтр("ru = 'Настройка'", "ru")); + Сообщение.Действия.Добавить("CheckNow", НСтр("ru = 'Проверить сейчас'", "ru")); + Сообщение.Записать(); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272.mdo" new file mode 100644 index 000000000..e5d55b058 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272.mdo" @@ -0,0 +1,11 @@ + + + Помощник + + ru + Помощник + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" new file mode 100644 index 000000000..5069d21cb --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -0,0 +1,24 @@ +Процедура ПриНачалеРаботыСистемы() Экспорт + + Если НЕ СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() Тогда + Возврат; + КонецЕсли; + + Обработчик = Новый ОписаниеОповещения("ОбработкаДействияСообщения", ЭтотОбъект); + СистемаВзаимодействия.ПодключитьОбработчикДействияСообщения(Обработчик); + +КонецПроцедуры + +Процедура ОбработкаДействияСообщения(Сообщение, Действие, ДопПараметры) Экспорт + + Если Действие = "Settings" Тогда + ОткрытьФорму("ОбщаяФорма.НастройкаПомощникаНеотработанныхЗаказов"); + Возврат; + КонецЕсли; + + Если Действие = "CheckNow" Тогда + Помощник.ПомощникНеотработанныеЗаказы(); + Возврат; + КонецЕсли; + +КонецПроцедуры \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202.mdo" new file mode 100644 index 000000000..643bd3a03 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\232\320\273\320\270\320\265\320\275\321\202.mdo" @@ -0,0 +1,10 @@ + + + ПомощникКлиент + + ru + Помощник клиент + + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" new file mode 100644 index 000000000..65360be79 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" @@ -0,0 +1,4 @@ + +Процедура ОбновлениеИсторииДанных() Экспорт + ИсторияДанных.ОбновитьИсторию(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205.mdo" new file mode 100644 index 000000000..5b9a5bc90 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\230\321\201\321\202\320\276\321\200\320\270\320\265\320\271\320\224\320\260\320\275\320\275\321\213\321\205.mdo" @@ -0,0 +1,10 @@ + + + РаботаСИсториейДанных + + ru + Работа с историей данных + + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207/Module.bsl" new file mode 100644 index 000000000..4acb12dea --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207/Module.bsl" @@ -0,0 +1,51 @@ +// Поцедура - обработчик нажатия кнопки "Проверить письма" в панели задач +// Параметры: +// Параметры - дополнительные параметры описания оповещения +Процедура ПроверитьПочту(Параметры) Экспорт + + #Если Не ВебКлиент И Не МобильныйКлиент Тогда + Количество = РаботаСПочтойВызовСервера.ПроверитьПочту(); + + Если Количество <> 0 Тогда + ПанельЗадачОС.УстановитьНаклейку(Количество, Истина); + ПанельЗадачОС.Сигнализировать(3); + КонецЕсли; + + ПоказатьОповещениеПользователя(СтрШаблон(НСтр("ru = 'Новых писем: %1'"), Количество)); + #КонецЕсли + +КонецПроцедуры + +// Поцедура - обработчик нажатия кнопки "Открыть заказы" в панели задач +// Параметры: +// Параметры - дополнительные параметры описания оповещения +Процедура ОткрытьСписокЗаказов(Параметры) Экспорт + + ОткрытьФорму("Документ.Заказ.ФормаСписка"); + +КонецПроцедуры + +// Процедура добавляющая кнопки в меню предпросмотра окна приложения +Процедура ДобавитьКнопки(Параметры) Экспорт + + #Если Не ВебКлиент И Не МобильныйКлиент Тогда + КнопкиПанелиЗадач = Новый Массив(); + + ПроверитьПисьмаКнопка = Новый Структура; + ПроверитьПисьмаКнопка.Вставить("Картинка", Параметры.КартинкаПроверитьПочту); + ПроверитьПисьмаКнопка.Вставить("Заголовок", НСтр("ru = 'Проверить письма'")); + ДействиеПроверитьПисьма = Новый ОписаниеОповещения("ПроверитьПочту", ЭтотОбъект); + ПроверитьПисьмаКнопка.Вставить("Действие", ДействиеПроверитьПисьма); + КнопкиПанелиЗадач.Добавить(ПроверитьПисьмаКнопка); + + ОткрытьФормуКнопка = Новый Структура; + ОткрытьФормуКнопка.Вставить("Картинка", Параметры.КартинкаСписокЗаказов); + ОткрытьФормуКнопка.Вставить("Заголовок", НСтр("ru = 'Открыть заказы'")); + ДействиеОткрытьФорму = Новый ОписаниеОповещения("ОткрытьСписокЗаказов", ЭтотОбъект); + ОткрытьФормуКнопка.Вставить("Действие", ДействиеОткрытьФорму); + КнопкиПанелиЗадач.Добавить(ОткрытьФормуКнопка); + + ПанельЗадачОС.УстановитьКнопки(КнопкиПанелиЗадач); + #КонецЕсли + +КонецПроцедуры \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207.mdo" new file mode 100644 index 000000000..559b12799 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\275\320\265\320\273\321\214\321\216\320\227\320\260\320\264\320\260\321\207.mdo" @@ -0,0 +1,10 @@ + + + РаботаСПанельюЗадач + + ru + Работа с панелью задач + + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Module.bsl" new file mode 100644 index 000000000..69d4a7f52 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Module.bsl" @@ -0,0 +1,18 @@ +////////////////////////////////////////////////////////////// +// Модуль поддерживает работу с полнотекстовым поиском + +// регламентное задание ОбновлениеИндексаПолнотекстовогоПоиска +Процедура ОбновлениеИндексаПолнотекстовогоПоиска() Экспорт + ПолнотекстовыйПоиск.ОбновитьИндекс(Ложь, Истина); +КонецПроцедуры + +// регламентное задание СлияниеИндексаПолнотекстовогоПоиска +Процедура СлияниеИндексаПолнотекстовогоПоиска() Экспорт + ПолнотекстовыйПоиск.ОбновитьИндекс(Истина); +КонецПроцедуры + +// полное обновление индекса полнотекстового поиска +Процедура ПолноеОбновлениеИндексаПолнотекстовогоПоиска() Экспорт + ПолнотекстовыйПоиск.ОбновитьИндекс(); +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274.mdo" new file mode 100644 index 000000000..697543277 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274.mdo" @@ -0,0 +1,11 @@ + + + РаботаСПолнотекстовымПоиском + + ru + Работа с полнотекстовым поиском + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271/Module.bsl" new file mode 100644 index 000000000..81c610025 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271/Module.bsl" @@ -0,0 +1,369 @@ +// Получить профиль и имя отправителя для данной настройки. +// +// Параметры: +// ИмяОтправителя - Строка - в данном параметре возвращается имя отправителя +// почтового сообщения по умолчанию. +// ИспользоватьIMAP - Булево - в данном параметре признак использования IMAP для работы с почтой. +// +// Возвращаемое значения: +// Объект ИнтернетПочтовыйПрофиль. Набор свойств для соединения с почтовым сервером, +// заполненный текущими настройками (см. соответствующие константы). +Функция ПолучитьПрофиль(ИмяОтправителя = "", ИспользоватьIMAP = Ложь) Экспорт + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | Константы.АдресSMTPСервера, + | Константы.ПортSMTP, + | Константы.ПользовательSMTP, + | Константы.ПарольSMTP, + | Константы.АдресPOP3Сервера, + | Константы.ПортPOP3, + | Константы.ПользовательPOP3, + | Константы.ПарольPOP3, + | Константы.АдресIMAPСервера, + | Константы.ПортIMAP, + | Константы.ПользовательIMAP, + | Константы.ПарольIMAP, + | Константы.SSLIMAP, + | Константы.ИспользоватьIMAP, + | Константы.ТаймаутИнтернетПочты, + | Константы.ИмяОтправителяПочтовогоСообщения, + | Константы.SSLPOP3, + | Константы.SSLSMTP, + | Константы.ТолькоЗащищеннаяАутентификацияIMAP, + | Константы.ТолькоЗащищеннаяАутентификацияPOP3, + | Константы.ТолькоЗащищеннаяАутентификацияSMTP + |ИЗ + | Константы КАК Константы"; + Выборка = Запрос.Выполнить().Выбрать(); + Выборка.Следующий(); + + Профиль = Новый ИнтернетПочтовыйПрофиль; + + Профиль.АдресСервераSMTP = Выборка.АдресSMTPСервера; + Профиль.ПортSMTP = Выборка.ПортSMTP; + Профиль.ИспользоватьSSLSMTP = Выборка.SSLSMTP; + Профиль.ПарольSMTP = Выборка.ПарольSMTP; + Профиль.ПользовательSMTP = Выборка.ПользовательSMTP; + Профиль.ТолькоЗащищеннаяАутентификацияSMTP = + Выборка.ТолькоЗащищеннаяАутентификацияSMTP; + + Профиль.АдресСервераIMAP = Выборка.АдресIMAPСервера; + Профиль.ПортIMAP = Выборка.ПортIMAP; + Профиль.ИспользоватьSSLIMAP = Выборка.SSLIMAP; + Профиль.ПользовательIMAP = Выборка.ПользовательIMAP; + Профиль.ПарольIMAP = Выборка.ПарольIMAP; + Профиль.ТолькоЗащищеннаяАутентификацияIMAP = + Выборка.ТолькоЗащищеннаяАутентификацияIMAP; + + Профиль.АдресСервераPOP3 = Выборка.АдресPOP3Сервера; + Профиль.ПортPOP3 = Выборка.ПортPOP3; + Профиль.ИспользоватьSSLPOP3 = Выборка.SSLPOP3; + Профиль.Пароль = Выборка.ПарольPOP3; + Профиль.Пользователь = Выборка.ПользовательPOP3; + Профиль.ТолькоЗащищеннаяАутентификацияPOP3 = + Выборка.ТолькоЗащищеннаяАутентификацияPOP3; + + Профиль.ВремяОжидания = Выборка.ТаймаутИнтернетПочты; + + ИмяОтправителя = Выборка.ИмяОтправителяПочтовогоСообщения; + ИспользоватьIMAP = Выборка.ИспользоватьIMAP; + + Возврат Профиль; +КонецФункции + +// Получить идентификаторы ранее загруженных писем. +// +// Возвращаемое значение: +// Массив идентификаторов писем, загруженных в систему. +Функция ПолучитьИдентификаторыЗагруженныхПисем() Экспорт + Идентификаторы = Новый Массив(); + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ Идентификатор ИЗ Справочник.ВходящиеПисьма"; + Выборка = Запрос.Выполнить().Выбрать(); + Пока Выборка.Следующий() Цикл + Идентификаторы.Добавить(Выборка.Идентификатор); + КонецЦикла; + Возврат Идентификаторы; +КонецФункции + +// Получить новые письма из указанного профиля. +// +// Параметры: +// Профиль - ИнтернетПочтовыйПрофиль - описание соединения с почтовым сервером, +// откуда требуется получить электронные письма. +// +// Возвращаемое значение: +// Количество полученных писем. +Функция ПолучитьНовыеПисьма(Профиль, ИспользоватьIMAP, ПочтовыйЯщик) Экспорт + Почта = Новый ИнтернетПочта; + + Попытка + Если ИспользоватьIMAP Тогда + Почта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP); + Если ПочтовыйЯщик = "" Тогда + ПочтовыйЯщик = "INBOX"; + КонецЕсли; + Почта.ТекущийПочтовыйЯщик = ПочтовыйЯщик; + Иначе; + Почта.Подключиться(Профиль, ПротоколИнтернетПочты.POP3); + КонецЕсли; + Исключение + Сообщить(НСтр("ru = 'Ошибка при подключении к почтовому серверу. Проверьте настройки.'")); + Возврат 0; + КонецПопытки; + + ЗагруженныеПисьма = ПолучитьИдентификаторыЗагруженныхПисем(); + ИдентификаторыНовыхПисем = Почта.ПолучитьИдентификаторы(ЗагруженныеПисьма); + Если ИдентификаторыНовыхПисем.Количество() = 0 Тогда + Возврат 0; + КонецЕсли; + Письма = Почта.Выбрать(Ложь, ИдентификаторыНовыхПисем); + Для каждого Письмо Из Письма Цикл + ПисьмоОбъект = Справочники.ВходящиеПисьма.СоздатьЭлемент(); + ПисьмоОбъект.Идентификатор = Письмо.Идентификатор[0]; + ПисьмоОбъект.Наименование = Письмо.Тема; + ПисьмоОбъект.Дата = Письмо.ДатаОтправления; + ПисьмоОбъект.Отправитель = Письмо.Отправитель; + Если ИспользоватьIMAP Тогда + ПисьмоОбъект.ПочтовыйЯщик = "IMAP/" + ПочтовыйЯщик; + Иначе + ПисьмоОбъект.ПочтовыйЯщик = "POP3"; + КонецЕсли; + Для каждого Элемент Из Письмо.Тексты Цикл + Если Элемент.ТипТекста = ТипТекстаПочтовогоСообщения.HTML Тогда + ПисьмоОбъект.ВидСодержимого = Перечисления.ВидСодержимогоВходящегоПисьма.HTML; + Текст = Элемент.Текст; + Если Найти(Текст, "") = 0 Тогда + Текст = "" + Текст + ""; + КонецЕсли; + Вложения = Новый Массив; + // обрабатываем вложения, что бы правильно сформировать HTML + Для каждого Вложение Из Письмо.Вложения Цикл + Ид = "cid:" + Вложение.Идентификатор; + Если Найти(Текст, Ид) <> 0 Тогда + Вложения.Добавить(Вложение); + КонецЕсли; + КонецЦикла; + Прервать; + ИначеЕсли Элемент.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст Тогда + ПисьмоОбъект.ВидСодержимого = Перечисления.ВидСодержимогоВходящегоПисьма.Текст; + Текст = Элемент.Текст; + КонецЕсли; + КонецЦикла; + + + НачатьТранзакцию(); + ПисьмоОбъект.УстановитьСсылкуНового(Справочники.ВходящиеПисьма.ПолучитьСсылку()); + Если ПисьмоОбъект.ВидСодержимого = Перечисления.ВидСодержимогоВходящегоПисьма.HTML Тогда + Для каждого Вложение Из Вложения Цикл + ВложениеОбъект = Справочники.ПочтовыеВложения.СоздатьЭлемент(); + ВложениеОбъект.Владелец = ПисьмоОбъект.ПолучитьСсылкуНового(); + ВложениеОбъект.Наименование = Вложение.Имя; + ВложениеОбъект.Данные = Новый ХранилищеЗначения(Вложение.Данные, Новый СжатиеДанных()); + ВложениеОбъект.Записать(); + Ид = """cid:" + Вложение.Идентификатор + """"; + НовыйИд = ПолучитьНавигационнуюСсылку(ВложениеОбъект.Ссылка, "Данные"); + Текст = СтрЗаменить(Текст, Ид, "'" + НовыйИд + "'"); + КонецЦикла; + КонецЕсли; + ПисьмоОбъект.Текст = Текст; + ПисьмоОбъект.Записать(); + ЗафиксироватьТранзакцию(); + КонецЦикла; + Почта.Отключиться(); + Возврат Письма.Количество(); +КонецФункции + +// Создать интернет почтовое сообщение. +// +// Параметры: +// Письмо - СправочникСсылка.ИсходящиеПисьма - элемент справочника, на основании которого +// следует оформить объект системы ИнтернетПочтовоеСообщение для дальнейшей +// отправки с помощью механизмов интернет почты. +// Отправитель - Строка - имя отправителя почтового сообщения +// +// Возвращаемое значение: +// Объект ИнтернетПочтовоеСообщение. Содержит почтовое сообщение, готовое к отправке. +Функция СоздатьИнтернетПочтовоеСообщение(Письмо, Отправитель) Экспорт + Перем HTML, Картинки; + Сообщение = Новый ИнтернетПочтовоеСообщение; + Сообщение.Тема = Письмо.Наименование; + Сообщение.Отправитель = Отправитель; + + Получатели = СокрЛП(Письмо.Получатель); + Пока Получатели <> "" Цикл + Позиция = Найти(Получатели, ";"); + Если Позиция = 0 Тогда + Получатель = Получатели; + Получатели = ""; + Иначе + Получатель = СокрП(Лев(Получатели, Позиция - 1)); + Получатели = СокрЛ(Сред(Получатели, Позиция + 1)); + КонецЕсли; + Если Получатель <> "" Тогда + Сообщение.Получатели.Добавить(Получатель); + КонецЕсли; + КонецЦикла; + + Содержимое = Письмо.Содержимое.Получить(); + Содержимое.ПолучитьHTML(HTML, Картинки); + Для Каждого Картинка Из Картинки цикл + Вложение = Сообщение.Вложения.Добавить(Картинка.Значение.ПолучитьДвоичныеДанные()); + Вложение.Идентификатор = Картинка.Ключ; + HTML = СтрЗаменить(HTML, Картинка.Ключ, "cid:" + Вложение.Идентификатор); + КонецЦикла; + + Текст = Сообщение.Тексты.Добавить(HTML); + Текст.ТипТекста = ТипТекстаПочтовогоСообщения.HTML; + Возврат Сообщение; +КонецФункции + +// Отправить почтовое сообщение. +// +// Параметры: +// Письмо - СправочникСсылка.ИсходящиеПисьма - письмо, которое необходимо отправить. +// +// Возвращаемое значение: +// Истина - письмо удачно отправлено. +// Ложь - не создан профиль с описанием почтового сервера. +Функция ОтправитьПисьмо(Письмо) Экспорт + Перем Отправитель; + Ошибка = ""; + Профиль = ПолучитьПрофиль(Отправитель); + Если Профиль.АдресСервераSMTP = "" Тогда + Возврат Ложь; + КонецЕсли; + Сообщение = СоздатьИнтернетПочтовоеСообщение(Письмо, Отправитель); + + ИнтернетПочта = Новый ИнтернетПочта; + ИнтернетПочта.Подключиться(Профиль); + ИнтернетПочта.Послать(Сообщение); + ИнтернетПочта.Отключиться(); + + НЗ = РегистрыСведений.СостояниеИсходящихПисем.СоздатьНаборЗаписей(); + НЗ.Отбор.Письмо.Установить(Письмо); + Запись = НЗ.Добавить(); + Запись.Письмо = Письмо; + Запись.Отправлено = Истина; + НЗ.Записать(); + Возврат Истина; +КонецФункции + +// Проверить что у письма статус отправлено. +// +// Параметры: +// Письмо - СправочникСсылка.ИсходящиеПисьма - письмо, статус отправки которого необходимо проверить. +// +// Возвращаемое значение: +// Истина - письмо отправлено. +// Ложь - письмо неотправлено. +Функция ПисьмоОтправлено(Письмо) Экспорт + Отбор = Новый Структура("Письмо", Письмо); + Возврат РегистрыСведений.СостояниеИсходящихПисем.Получить(Отбор).Отправлено; +КонецФункции + +// Подготовить форму ответа на существующее письмо. +// +// Параметры: +// ВходящееПисьмо - СправочникСсылка.ВходящиеПисьма - письмо, на которое следует ответить. +// ИсходящееПисьмо - СправочникСсылка.ИсходящееПисьмо - данные формы для типа СправочникСсылка.ИсходящееПисьмо, +// расположенные в форме редактора исходящего письма. +// Текст - ФорматированныйДокумент - поле редактора текста письма, расположенное в форме +// редактора исходящего письма. +Процедура ЗаполнитьОтветНаПисьмо(ВходящееПисьмо, ИсходящееПисьмо, Текст) Экспорт + ИсходящееПисьмо.Наименование = "Ответ на: " + ВходящееПисьмо.Наименование; + ИсходящееПисьмо.Получатель = ВходящееПисьмо.Отправитель; + HTML = ВходящееПисьмо.Текст; + Вложения = Новый Структура(); + Если ВходящееПисьмо.ВидСодержимого = Перечисления.ВидСодержимогоВходящегоПисьма.HTML Тогда + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | Ссылка, + | Наименование, + | Данные + |ИЗ + | Справочник.ПочтовыеВложения + |ГДЕ + | Владелец = &Владелец"; + + Запрос.УстановитьПараметр("Владелец", ВходящееПисьмо); + Выборка = Запрос.Выполнить().Выбрать(); + НомерКартинки = 1; + Пока Выборка.Следующий() Цикл + Ссылка = ПолучитьНавигационнуюСсылку(Выборка.Ссылка, "Данные"); + Имя = "img" + НомерКартинки; + НомерКартинки = НомерКартинки + 1; + Данные = Выборка.Данные.Получить(); + HTML = СтрЗаменить(HTML, Ссылка, Имя); + Вложения.Вставить(Имя, Новый Картинка(Данные)); + КонецЦикла; + КонецЕсли; + Текст.УстановитьHTML(HTML, Вложения); +КонецПроцедуры + +// Заполнить форму исходящего письма по шаблону. +// +// Параметры: +// ИсходящееПисьмо - СправочникСсылка.ИсходящееПисьмо - данные формы для типа СправочникСсылка.ИсходящееПисьмо, +// расположенные в форме редактора исходящего письма. +// Текст - ФорматированныйДокумент - поле редактора текста письма, расположенное в форме +// редактора исходящего письма. +Процедура ЗаполнитьПисьмоПоШаблону(ИсходящееПисьмо, Текст) Экспорт + ИсходящееПисьмо.Наименование = "Коммерческое предложение ООО “1000 мелочей”"; + КоллекцияПараграфов = Текст.Элементы; + КоллекцияПараграфов.Добавить().Элементы.Добавить("Для [Контрагент]"); + КоллекцияПараграфов.Добавить(); + КоллекцияПараграфов.Добавить().Элементы.Добавить("Уважаемый [КонтактноеЛицо]!"); + КоллекцияПараграфов.Добавить().Элементы.Добавить("Мы рады сообщить Вам о наших новых ценовых предложениях."); + КоллекцияПараграфов.Добавить(); + КоллекцияПараграфов.Добавить().Элементы.Добавить("[ДатаПисьма]"); +КонецПроцедуры + +// Получить список почтовых ящиков на IMAP сервере для учётной записи +// +// Параметры: +// Возвращаемое значение: +// Список почтовых ящиков в виде массива строк. +Функция ПолучитьПочтовыеЯщикиIMAP() Экспорт + ИспользоватьIMAP = Ложь; + Профиль = ПолучитьПрофиль(, ИспользоватьIMAP); + Если НЕ ИспользоватьIMAP Тогда + Возврат Новый Массив; + КонецЕсли; + ИнтернетПочта = Новый ИнтернетПочта; + ИнтернетПочта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP); + ПочтовыеЯщики = ИнтернетПочта.ПолучитьПочтовыеЯщики(); + ИнтернетПочта.Отключиться(); + Возврат ПочтовыеЯщики; +КонецФункции + +// Создать почтовый ящик IMAP +// +// Параметры: +// ПочтовыйЯщик - Имя почтового ящика, который предстоит создать. +Процедура СоздатьПочтовыйЯщикIMAP(ПочтовыйЯщик) Экспорт + Профиль = ПолучитьПрофиль(); + ИнтернетПочта = Новый ИнтернетПочта; + ИнтернетПочта.Подключиться(Профиль, ПротоколИнтернетПочты.IMAP); + ИнтернетПочта.СоздатьПочтовыйЯщик(ПочтовыйЯщик); + ИнтернетПочта.Отключиться(); +КонецПроцедуры + +Функция ПроверитьПисьма(ИспользоватьIMAP, ПочтовыйЯщикIMAP) Экспорт + Количество = 0; + РаботаСПочтой.ПолучитьПисьма(Количество, ИспользоватьIMAP, ПочтовыйЯщикIMAP); + Возврат Количество; +КонецФункции + +Функция ПолучитьПисьма(Количество, ИспользоватьIMAP, ПочтовыйЯщикIMAP) Экспорт + Профиль = РаботаСПочтой.ПолучитьПрофиль(); + Если Профиль.АдресСервераSMTP = "" Тогда + Возврат Ложь; + КонецЕсли; + + Количество = РаботаСПочтой.ПолучитьНовыеПисьма( + Профиль, ИспользоватьIMAP, ПочтовыйЯщикIMAP); + Возврат Истина; +КонецФункции + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271.mdo" new file mode 100644 index 000000000..c66de9e80 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271.mdo" @@ -0,0 +1,10 @@ + + + РаботаСПочтой + + ru + Работа с почтой + + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" new file mode 100644 index 000000000..d6111723a --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -0,0 +1,12 @@ +Функция ПроверитьПочту() Экспорт + ЯщикIMAP = ПараметрыСеанса.ЯщикIMAP; + Если ЯщикIMAP = "" Тогда + ЯщикIMAP = "INBOX"; + КонецЕсли; + Возврат РаботаСПочтой.ПроверитьПисьма(Константы.ИспользоватьIMAP.Получить(), ЯщикIMAP); +КонецФункции + +Функция ПолучитьПисьма(Количество, ИспользоватьIMAP, ПочтовыйЯщикIMAP) Экспорт + Возврат РаботаСПочтой.ПолучитьПисьма(Количество, ИспользоватьIMAP, ПочтовыйЯщикIMAP); +КонецФункции + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" new file mode 100644 index 000000000..8dedaf2da --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\276\321\207\321\202\320\276\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" @@ -0,0 +1,11 @@ + + + РаботаСПочтойВызовСервера + + ru + Работа с почтой вызов сервера + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/Module.bsl" new file mode 100644 index 000000000..e3b229592 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/Module.bsl" @@ -0,0 +1,180 @@ +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// +// Модуль содержит процедуры и функции, предназначенные для работы с торговым оборудованием + +// Начинает подключение к сканеру штрихкодов +// +// Параметры: +// ОписаниеЗавершение - описание оповещения, которое будет вызвано при завершении операции +// +// Возвращаемое значение: +// Нет +Процедура НачатьПодключениеСканераШтрихкодов(ОписаниеЗавершение=Неопределено) Экспорт + + // Параметры, которые передаются через стек асинхронных вызовов + ДопПараметры = Новый Структура("ОписаниеЗавершение", ОписаниеЗавершение); + ОпПослеПодключенияКомпоненты = Новый ОписаниеОповещения( + "ПослеПодключенияКомпонентыСканера", ЭтотОбъект, ДопПараметры); + + // Подключение внешней компоненты сканера + Если ДрайверСканераШтрихкодов = Неопределено Тогда + НачатьПодключениеВнешнейКомпоненты(ОпПослеПодключенияКомпоненты, "ОбщийМакет.ДрайверСканераШтрихкодов", "Сканер"); + Иначе + ВыполнитьОбработкуОповещения(ОпПослеПодключенияКомпоненты, Истина); + КонецЕсли + +КонецПроцедуры + +// Начинает установку свойств после подключения внешней компоненты сканера +Процедура ПослеПодключенияКомпонентыСканера(РезультатПодключения, ДопПараметры) Экспорт + Если РезультатПодключения = Ложь Тогда + Возврат; + КонецЕсли; + ТипОС = ПолучитьТипОС(); + + ПараметрыСканера = РаботаСХранилищемОбщихНастроек.ЗагрузитьПараметрыПодключенияСканера(ТипОС); + Если ПараметрыСканера = Неопределено Тогда + ВыполнитьОбработкуОповещенияЕслиОпределено(ДопПараметры.ОписаниеЗавершение, Ложь); + КонецЕсли; + + ДрайверСканераШтрихкодов = Новый ("AddIn.Сканер.BarcodeReader"); + + // Добавляем в дополнительные параметры настройки сканера + ДопПараметры.Вставить("ПараметрыСканера", ПараметрыСканера); + + // Устанавливаем свойство БитДанных + ОпПослеУстановкиБитаДанных = Новый ОписаниеОповещения("ПослеУстановкиБитаДанных", ЭтотОбъект, ДопПараметры); + ДрайверСканераШтрихкодов.НачатьУстановкуБитДанных(ОпПослеУстановкиБитаДанных, ПараметрыСканера.БитДанных); + +КонецПроцедуры + +// Начинает установку свойства Порт +Процедура ПослеУстановкиБитаДанных(ДопПараметры) Экспорт + + // Устанавливаем свойство Порт + ОпПослеУстановкиПорта = Новый ОписаниеОповещения("ПослеУстановкиПорта", ЭтотОбъект, ДопПараметры); + ДрайверСканераШтрихкодов.НачатьУстановкуПорт(ОпПослеУстановкиПорта, ДопПараметры.ПараметрыСканера.Порт); + +КонецПроцедуры + +// Начинает установку свойства Скорость +Процедура ПослеУстановкиПорта(ДопПараметры) Экспорт + + // Устанавливаем свойство Скорость + ОпПослеУстановкиСкорости = Новый ОписаниеОповещения("ПослеУстановкиСкорости", ЭтотОбъект, ДопПараметры); + ДрайверСканераШтрихкодов.НачатьУстановкуСкорость(ОпПослеУстановкиСкорости, ДопПараметры.ПараметрыСканера.Скорость); + +КонецПроцедуры + +// Начинает установку свойства ИмяСобытия +Процедура ПослеУстановкиСкорости(ДопПараметры) Экспорт + + // Устанавливаем свойство ИмяСобытия + ОпПослеУстановкиИмениСобытия = Новый ОписаниеОповещения("ПослеУстановкиИмениСобытия", ЭтотОбъект, ДопПараметры); + ДрайверСканераШтрихкодов.НачатьУстановкуИмяСобытия(ОпПослеУстановкиИмениСобытия, "СканерШтрихкода"); + +КонецПроцедуры + +// Пытается занять устройство после установки всех свойств +Процедура ПослеУстановкиИмениСобытия(ДопПараметры) Экспорт + + // Проверяем занятость устрйоства + ОпПослеПроверкиЗанятости = Новый ОписаниеОповещения("ПослеПроверкиЗанятости", ЭтотОбъект, ДопПараметры); + ДрайверСканераШтрихкодов.НачатьПолучениеУстройствоЗанято(ОпПослеПроверкиЗанятости); + +КонецПроцедуры + +// Установка занятости устройства если оно свободно +Процедура ПослеПроверкиЗанятости(УстройствоЗанято, ДопПараметры) Экспорт + + Если УстройствоЗанято = Истина Тогда + ВыполнитьОбработкуОповещенияЕслиОпределено(ДопПараметры.ОписаниеЗавершение, Истина); + Иначе + ОпПослеЗанятияУстройства = Новый ОписаниеОповещения("ПослеЗанятияУстройства", ЭтотОбъект, ДопПараметры, + "ПослеЗанятияУстройстваОшибка", ЭтотОбъект); + ДрайверСканераШтрихкодов.НачатьВызовЗанять(ОпПослеЗанятияУстройства); + КонецЕсли; + +КонецПроцедуры + +Процедура ПослеЗанятияУстройства(РезультатВызова, ПараметрыВызова, ДопПараметры) Экспорт + + // Все операции по подключению выполнеы успешно + ВыполнитьОбработкуОповещенияЕслиОпределено(ДопПараметры.ОписаниеЗавершение, Истина); + +КонецПроцедуры + +Процедура ПослеЗанятияУстройстваОшибка(Ошибка, СтандартнаяОбработка, ДопПараметры) Экспорт + + СтандартнаяОбработка = Ложь; + ПоказатьПредупреждение( ,НСтр("ru = 'Ошибка при попытке занять устройство'", "ru")); + ВыполнитьОбработкуОповещенияЕслиОпределено(ДопПараметры.ОписаниеЗавершение, Ложь); + +КонецПроцедуры + + +// Отключение от сканера штрихкодов +// +// Параметры: +// ОповещениеЗавершение - описание оповещения, которое будет вызвано при завершении операции +// +// Возвращаемое значение: +// Нет +Процедура НачатьОтключениеСканераШтрихкодов(ОповещениеЗавершение) Экспорт + + Если ДрайверСканераШтрихкодов <> Неопределено Тогда + + ОпПослеОтсоединенияСканера = Новый ОписаниеОповещения("ПослеОтсоединенияСканера", ЭтотОбъект, ОповещениеЗавершение); + ДрайверСканераШтрихкодов.НачатьВызовОтсоединить(ОпПослеОтсоединенияСканера); + + Иначе + + ВыполнитьОбработкуОповещения(ОповещениеЗавершение); + + КонецЕсли + +КонецПроцедуры + +Процедура ПослеОтсоединенияСканера(Результат, Параметры, ОповещениеЗавершение) Экспорт + ВыполнитьОбработкуОповещения(ОповещениеЗавершение); +КонецПроцедуры + +// Выполняет обработку оповещения если оно указано +// +// Параметры: +// Оповещение - выполняемое описание оповещения, может быть Неопределено +// Результат - результат, который будет передан в обработчик оповещения +// +// Возвращаемое значение: +// Нет +Процедура ВыполнитьОбработкуОповещенияЕслиОпределено(Оповещение, Результат) + Если НЕ Оповещение = Неопределено Тогда + ВыполнитьОбработкуОповещения(Оповещение, Результат); + КонецЕсли; +КонецПроцедуры + +// Возвращает тип операционной системы +// +// Параметры: +// Нет +// +// Возвращаемое значение: +// Строка 'Windows' или 'Linux' +Функция ПолучитьТипОС() + + ИнформацияОСистеме = Новый СистемнаяИнформация; + + Если ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86 ИЛИ ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда + + ТипОС = "Windows"; + + ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86 ИЛИ ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86_64 Тогда + + ТипОС = "Linux"; + + КонецЕсли; + + Возврат ТипОС; + +КонецФункции diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" new file mode 100644 index 000000000..f72e98675 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" @@ -0,0 +1,12 @@ + + + РаботаСТорговымОборудованием + + ru + Работа с торговым оборудованием + + + true + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Module.bsl" new file mode 100644 index 000000000..be8974c2a --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/Module.bsl" @@ -0,0 +1,86 @@ +//////////////////////////////////////////////////////////////////////// +// Модуль поддерживает работу с хранилищем общих настроек + +// Загрузка параметров подключения драйвера сканера из хранилища настроек. +// +// Параметры: +// ТипОС – Строка – тип операционной системы. (IN) +// +// Возвращаемое значение: +// Структура, содержащая параметры подключения сканера +Функция ЗагрузитьПараметрыПодключенияСканера(ТипОС) Экспорт + + Если ТипОС = "Windows" Тогда + + Возврат ХранилищеОбщихНастроек.Загрузить("ТекущиеНастройкиСканераWindows"); + + ИначеЕсли ТипОС = "Linux" Тогда + + Возврат ХранилищеОбщихНастроек.Загрузить("ТекущиеНастройкиСканераLinux"); + + КонецЕсли; + +КонецФункции + +// Получение каталога, используемого для расположения локальных файлов +// Возвращаемое значение: +// Строка, содержащая каталог +Функция ПолучитьРабочийКаталог() Экспорт + + Возврат ХранилищеОбщихНастроек.Загрузить("РабочийКаталогПользователя"); + +КонецФункции + +// Сохранение каталога, используемого для расположения локальных файлов +// Параметры: +// Строка, содержащая каталог +Процедура СохранитьРабочийКаталог(Каталог) Экспорт + + ХранилищеОбщихНастроек.Сохранить("РабочийКаталогПользователя",,Каталог); + +КонецПроцедуры + +// Получение строки, которая будет установлена в качестве краткого заголовка приложения +Функция ПолучитьТекстКраткогоЗаголовкаПриложения() Экспорт + + КраткийЗаголовок = ХранилищеОбщихНастроек.Загрузить("КраткийЗаголовокПриложения"); + Возврат ?(КраткийЗаголовок = Неопределено, "", КраткийЗаголовок); + +КонецФункции + +// Сохранение строки, установленной в качестве краткого заголовка приложения +Процедура СохранитьТекстКраткогоЗаголовкаПриложения(СтрокаЗаголовока) Экспорт + + ХранилищеОбщихНастроек.Сохранить("КраткийЗаголовокПриложения", , СтрокаЗаголовока); + +КонецПроцедуры + +// Получение варианта периода для календаря встреч +Функция ПолучитьВариантПериодаКалендаряВстреч() Экспорт + + ВариантПериода = ХранилищеОбщихНастроек.Загрузить("ВариантПериодаКалендаряВстреч"); + Возврат ?(ВариантПериода = Неопределено, "День", ВариантПериода); + +КонецФункции + +// Сохранение варианта периода для календаря встреч +Процедура СохранитьВариантПериодаКалендаряВстреч(ВариантПериода) Экспорт + + ХранилищеОбщихНастроек.Сохранить("ВариантПериодаКалендаряВстреч", , ВариантПериода); + +КонецПроцедуры + +// Получение флага отображения встреч других пользователей +Функция ПолучитьОтображениеВстречДругихПользователей() Экспорт + + Отображение = ХранилищеОбщихНастроек.Загрузить("ОтображениеВстречДругихПользователей"); + Возврат ?(Отображение = Неопределено, Ложь, Отображение); + +КонецФункции + +// Сохранение флага отображения встреч других пользователей +Процедура СохранитьОтображениеВстречДругихПользователей(Отображение) Экспорт + + ХранилищеОбщихНастроек.Сохранить("ОтображениеВстречДругихПользователей", , Отображение); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272.mdo" new file mode 100644 index 000000000..aaf177981 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\274\320\236\320\261\321\211\320\270\321\205\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272.mdo" @@ -0,0 +1,11 @@ + + + РаботаСХранилищемОбщихНастроек + + ru + Работа с хранилищем общих настроек + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" new file mode 100644 index 000000000..cce55323a --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/Module.bsl" @@ -0,0 +1,6 @@ +Процедура ЗафиксироватьОшибку(Ошибка) Экспорт + + Сообщить(Ошибка); + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272.mdo" new file mode 100644 index 000000000..62bbc498e --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272/\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\321\217\320\236\321\210\320\270\320\261\320\276\320\272.mdo" @@ -0,0 +1,9 @@ + + + РегистрацияОшибок + + ru + Регистрация ошибок + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262/Module.bsl" new file mode 100644 index 000000000..455bd218f --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262/Module.bsl" @@ -0,0 +1,25 @@ +/////////////////////////////////////////////////////////////////////// +// Модуль содержит процедуры и функции работы с агрегатами, используемые +// регламентными заданиями + +// Регламентное задание ОбновлениеАгрегатовПродаж. +// Параметры: +// Нет +Процедура ОбновлениеАгрегатовПродаж() Экспорт + Если РегистрыНакопления.Продажи.ПолучитьРежимАгрегатов() + И РегистрыНакопления.Продажи.ПолучитьИспользованиеАгрегатов() Тогда + + РегистрыНакопления.Продажи.ОбновитьАгрегаты(Истина); + КонецЕсли +КонецПроцедуры + +// Регламентное задание ПерестроениеАгрегатовПродаж. +// Параметры: +// Нет +Процедура ПерестроениеАгрегатовПродаж() Экспорт + Если РегистрыНакопления.Продажи.ПолучитьРежимАгрегатов() + И РегистрыНакопления.Продажи.ПолучитьИспользованиеАгрегатов() Тогда + + РегистрыНакопления.Продажи.ПерестроитьИспользованиеАгрегатов(); + КонецЕсли +КонецПроцедуры \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..bec72086b --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262/\320\240\320\265\320\263\320\273\320\260\320\274\320\265\320\275\321\202\320\275\321\213\320\265\320\227\320\260\320\264\320\260\320\275\320\270\321\217\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262.mdo" @@ -0,0 +1,10 @@ + + + РегламентныеЗаданияАгрегатов + + ru + Регламентные задания агрегатов + + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213/Module.bsl" new file mode 100644 index 000000000..a80f4c75b --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213/Module.bsl" @@ -0,0 +1,17 @@ + +// Функция подготавливает список параметров для использования при начале +// работы системы +Функция ПолучитьПараметры() Экспорт + + Параметры = Новый Структура; + Параметры.Вставить("КраткийЗаголовок", РаботаСХранилищемОбщихНастроек.ПолучитьТекстКраткогоЗаголовкаПриложения()); + + ПараметрыПанелиЗадачОС = Новый Структура; + ПараметрыПанелиЗадачОС.Вставить("КартинкаПроверитьПочту", БиблиотекаКартинок.ПроверитьПочту); + ПараметрыПанелиЗадачОС.Вставить("КартинкаСписокЗаказов", БиблиотекаКартинок.СписокЗаказов); + + Параметры.Вставить("ПараметрыПанелиЗадачОС", ПараметрыПанелиЗадачОС); + + Возврат Новый ФиксированнаяСтруктура(Параметры); + +КонецФункции diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213.mdo" new file mode 100644 index 000000000..1c5daa556 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213/\320\241\320\265\321\200\320\262\320\270\321\201\320\275\321\213\320\265\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\321\213.mdo" @@ -0,0 +1,11 @@ + + + СервисныеМеханизмы + + ru + Сервисные механизмы + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" new file mode 100644 index 000000000..ebb7ca418 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/Module.bsl" @@ -0,0 +1,60 @@ + +// Процедура обработчик push-уведомлений и локальных уведомлений +Процедура ОбработкаУведомлений(Уведомление, Локальное, Показано, Параметры) Экспорт + +#Если МобильныйКлиент Тогда + + Если не Показано Тогда + // Иначе пользователь оповещен об уведомлении системными средствами. + СредстваМультимедиа.ВоспроизвестиЗвуковоеОповещение(); + КонецЕсли; + + Если УведомленияСервер.ВоспроизводитьТекстУведомления() Тогда + СредстваМультимедиа.ВоспроизвестиТекст(Уведомление.Текст); + КонецЕсли; + +#КонецЕсли + + Если Локальное = Истина Тогда + Если СтрНачинаетсяС(Уведомление.Данные, "TN:") Тогда + ПараметрыФормы = Новый Структура("Текст, Данные", Уведомление.Текст, Сред(Уведомление.Данные, 4)); + ОткрытьФорму("ОбщаяФорма.Звонок",ПараметрыФормы); + КонецЕсли; + Иначе + Если не Показано Тогда + ПоказатьПредупреждение(, Уведомление.Текст); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +// Процедура получает идентификатор подписчика уведомлений +// - получает новый идентификатор +// - отправляет идентификатор источнику push-уведомлений +// - информирует пользователя о возникших ошибках +Процедура ОбновитьИдентификаторПодписчикаУведомлений() Экспорт + +#Если МобильныйКлиент Тогда + + НомераПриложений = Новый Массив(); + НомерПриложения = УведомленияСервер.НомерПриложенияGoogleCloud(); + Если НомерПриложения <> "" Тогда + НомераПриложений.Добавить(НомерПриложения); + КонецЕсли; + НомераПриложений.Добавить("797785657074"); // Идентификатор приложения на промежуточном сервисе 1С + + Попытка + ИдентификаторПодписчикаУведомлений = ДоставляемыеУведомления.ПолучитьИдентификаторПодписчикаУведомлений(НомераПриложений); + ТекстОшибки = ""; + УведомленияСервер.ПередатьИдентификаторПодписчикаУведомлений(ИдентификаторПодписчикаУведомлений, ТекстОшибки); + Если ТекстОшибки <> "" Тогда + Сообщить(ТекстОшибки); + КонецЕсли + Исключение + Инфо = ИнформацияОбОшибке(); + ПоказатьИнформациюОбОшибке(Инфо); + КонецПопытки + +#КонецЕсли + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.mdo" new file mode 100644 index 000000000..faee18a89 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202.mdo" @@ -0,0 +1,10 @@ + + + УведомленияКлиент + + ru + Уведомления клиент + + + true + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" new file mode 100644 index 000000000..c47a034c0 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -0,0 +1,153 @@ +// Сервисная функция для получения константы +&НаСервере +Функция НомерПриложенияGoogleCloud() Экспорт + + Возврат Константы.НомерПриложенияGoogleCloud.Получить(); + +КонецФункции + +// Сервисная функция для получения константы +&НаСервере +Функция ВоспроизводитьТекстУведомления() Экспорт + + Возврат Константы.ВоспроизводитьТекстУведомления.Получить(); + +КонецФункции + +// Процедура отправляет идентификатор источнику push-уведомлений +// +// Параметры: +// ИдентификаторПодписчикаУведомлений - новый идентификатор +// ТекстОшибки - параметр для возврата информации об ошибках +// +&НаСервере +Процедура ПередатьИдентификаторПодписчикаУведомлений(ИдентификаторПодписчикаУведомлений, ТекстОшибки) Экспорт + + СисИнфо = Новый СистемнаяИнформация; + Справочники.МобильныеУстройства.НовыйИдентификаторПодписчикаУведомлений(Строка(СисИнфо.ИдентификаторКлиента), ИдентификаторПодписчикаУведомлений); + +КонецПроцедуры + +Процедура ОтправитьУведомление(Уведомление, Пользователь, Проблемы) Экспорт + + ИспользоватьPushУведомления = Константы.ИспользоватьPushУведомления.Получить(); + ИспользоватьAPNS = Константы.ИспользоватьAPNS.Получить(); + ИспользоватьGCM = Константы.ИспользоватьGCM.Получить(); + ИспользоватьWNS = Константы.ИспользоватьWNS.Получить(); + ИспользоватьСервис = ? (ИспользоватьPushУведомления = Перечисления.PushУведомления.ИспользоватьВспомогательныйСервис, Истина, Ложь); + Если Не ЗначениеЗаполнено(ИспользоватьPushУведомления) + ИЛИ ИспользоватьPushУведомления = Перечисления.PushУведомления.НеИспользовать Тогда + Возврат; + КонецЕсли; + Выборка = Справочники.МобильныеУстройства.Выбрать(); + Пока Выборка.Следующий() Цикл + Если Выборка.ИдентификаторПодписчикаДоставляемыхУведомлений <> Неопределено Тогда + Если Пользователь = Неопределено ИЛИ Пользователь = Выборка.Владелец Тогда + Идентификатор = Выборка.ИдентификаторПодписчикаДоставляемыхУведомлений.Получить(); + Если Идентификатор <> Неопределено И + ((Идентификатор.ТипПодписчика = ТипПодписчикаДоставляемыхУведомлений.APNS И (ИспользоватьAPNS = Истина ИЛИ ИспользоватьСервис = Истина)) + ИЛИ (Идентификатор.ТипПодписчика = ТипПодписчикаДоставляемыхУведомлений.GCM И ИспользоватьGCM = Истина ИЛИ ИспользоватьСервис = Истина) + ИЛИ (Идентификатор.ТипПодписчика = ТипПодписчикаДоставляемыхУведомлений.WNS И ИспользоватьWNS = Истина ИЛИ ИспользоватьСервис = Истина)) Тогда + Уведомление.Получатели.Добавить(Идентификатор); + КонецЕсли; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Если Уведомление.Получатели.Количество() > 0 Тогда + ДанныеАутентификации = ""; + Сертификат = Неопределено; + Если ИспользоватьСервис = Истина Тогда + ДанныеАутентификации = Константы.ЛогинСервисаПередачиPushУведомлений.Получить(); + Иначе + ДанныеАутентификации = Новый Соответствие(); + Если ИспользоватьGCM = Истина Тогда + ДанныеАутентификации[ТипПодписчикаДоставляемыхУведомлений.GCM] = Константы.КлючCервераОтправителяGCM.Получить(); + КонецЕсли; + Если ИспользоватьAPNS = Истина Тогда + Сертификат = Константы.СертификатМобильногоПриложенияIOS.Получить(); + Если Сертификат <> Неопределено Тогда + Сертификат = Сертификат.Получить(); + Если Сертификат <> Неопределено Тогда + ДанныеАутентификации[ТипПодписчикаДоставляемыхУведомлений.APNS] = Сертификат; + КонецЕсли; + КонецЕсли; + КонецЕсли; + Если ИспользоватьWNS = Истина Тогда + МаркерДоступа = Константы.МаркерДоступаWNS.Получить(); + МаркерДоступа = "Хрень"; + Если МаркерДоступа = "" Тогда + МаркерДоступа = ПолучитьМаркерДоступа(); + КонецЕсли; + ДанныеАутентификации[ТипПодписчикаДоставляемыхУведомлений.WNS] = МаркерДоступа; + + КонецЕсли; + КонецЕсли; + + УдаленныеТокены = Новый Массив; + ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ДанныеАутентификации, УдаленныеТокены, ИспользоватьСервис, Проблемы); + НеИспользоватьИдентификаторы(УдаленныеТокены); + + Если Проблемы.Количество() > 0 Тогда + // Проверяем, возможно токен устарел + ЗапроситьТокен = Ложь; + Для каждого Проблема Из Проблемы Цикл + Если Проблема.ТипОшибки = ТипОшибкиОтправкиДоставляемогоУведомления.ОшибкаДанныхАутентификации Тогда + Для каждого Получатель Из Проблема.Получатели Цикл + Если Получатель.ТипПодписчика = ТипПодписчикаДоставляемыхУведомлений.WNS Тогда + ЗапроситьТокен = Истина; + Прервать; + Конецесли; + КонецЦикла; + Конецесли; + Если ЗапроситьТокен Тогда + Прервать; + Конецесли; + КонецЦикла; + Если ЗапроситьТокен Тогда + УдаленныеТокены.Очистить(); + Проблемы.Очистить(); + МаркерДоступа = ПолучитьМаркерДоступа(); + МаркерДоступа = "Хрень"; + ДанныеАутентификации[ТипПодписчикаДоставляемыхУведомлений.WNS] = МаркерДоступа; + ОтправкаДоставляемыхУведомлений.Отправить(Уведомление, ДанныеАутентификации, УдаленныеТокены, ИспользоватьСервис, Проблемы); + НеИспользоватьИдентификаторы(УдаленныеТокены); + Конецесли; + КонецЕсли; + + Если Сертификат <> Неопределено Тогда + УдаленныеТокены = ОтправкаДоставляемыхУведомлений.ПолучитьИсключенныхПолучателей(Сертификат, ИспользоватьСервис); + НеИспользоватьИдентификаторы(УдаленныеТокены); + КонецЕсли; + КонецЕсли; + +КонецПроцедуры + +Процедура НеИспользоватьИдентификаторы(Токены) + + Если Токены.Количество() > 0 Тогда + Выборка = Справочники.МобильныеУстройства.Выбрать(); + Пока Выборка.Следующий() Цикл + Если Выборка.ИдентификаторПодписчикаДоставляемыхУведомлений <> Неопределено Тогда + Идентификатор = Выборка.ИдентификаторПодписчикаДоставляемыхУведомлений.Получить(); + Если Идентификатор <> Неопределено И Токены.Найти(Идентификатор.ИдентификаторУстройства) Тогда + Узел = Выборка.ПолучитьОбъект(); + Узел.ИдентификаторПодписчикаДоставляемыхУведомлений = Неопределено; + Узел.Записать(); + КонецЕсли; + КонецЕсли; + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +Функция ПолучитьМаркерДоступа() + + ИдентификаторПриложения = Константы.ИдентификаторПриложенияWNS.Получить(); + КлючПриложения = Константы.КлючПриложенияWNS.Получить(); + МаркерДоступа = ОтправкаДоставляемыхУведомлений.ПолучитьМаркерДоступа(ИдентификаторПриложения, КлючПриложения); + Константы.МаркерДоступаWNS.Установить(МаркерДоступа); + Возврат МаркерДоступа; + +КонецФункции + diff --git "a/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200.mdo" "b/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200.mdo" new file mode 100644 index 000000000..4f6e8375d --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonModules/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200.mdo" @@ -0,0 +1,11 @@ + + + УведомленияСервер + + ru + Уведомления сервер + + + true + true + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265/Picture.png" new file mode 100644 index 000000000..f49da6bda Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265.mdo" new file mode 100644 index 000000000..3db251a16 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265/\320\222\321\213\320\264\320\265\320\273\320\270\321\202\321\214\320\222\320\260\320\266\320\275\320\276\320\265.mdo" @@ -0,0 +1,9 @@ + + + ВыделитьВажное + + ru + Выделить важное + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Picture.png" new file mode 100644 index 000000000..37ae61d36 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.mdo" new file mode 100644 index 000000000..6c6c3bb2e --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.mdo" @@ -0,0 +1,9 @@ + + + КоллекцияВидыАктивныхПользователей + + ru + Виды активных пользователей + + Коллекция видов активных пользователей + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Picture.png" new file mode 100644 index 000000000..233d07387 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270.mdo" new file mode 100644 index 000000000..6a03d24e2 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\222\320\270\320\264\321\213\320\241\320\276\320\261\321\213\321\202\320\270\320\271\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270.mdo" @@ -0,0 +1,9 @@ + + + КоллекцияВидыСобытийЖурналаРегистрации + + ru + Виды событий журнала регистрации + + Коллекция картинок видов событий + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Picture.png" new file mode 100644 index 000000000..f7149ef98 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..a4c293267 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\232\320\276\320\273\320\273\320\265\320\272\321\206\320\270\321\217\320\224\320\273\321\217\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\235\320\260\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.mdo" @@ -0,0 +1,9 @@ + + + КоллекцияДляПомеченныхНаУдалениеОбъектов + + ru + Картинки для помеченных на удаление объектов + + коллекция картинок для обработки удаления помеченных объектов + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273/Picture.png" new file mode 100644 index 000000000..23747c0cf Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273.mdo" new file mode 100644 index 000000000..a255aee0d --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273/\320\236\321\202\320\272\321\200\321\213\321\202\321\214\320\245\321\200\320\260\320\275\320\270\320\274\321\213\320\271\320\244\320\260\320\271\320\273.mdo" @@ -0,0 +1,9 @@ + + + ОткрытьХранимыйФайл + + ru + Открыть хранимый файл + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241/Picture.zip" "b/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241/Picture.zip" new file mode 100644 index 000000000..a619259f1 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241/Picture.zip" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241.mdo" new file mode 100644 index 000000000..65e3b9a4c --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241/\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\321\214\320\241\320\234\320\241.mdo" @@ -0,0 +1,9 @@ + + + ОтправитьСМС + + ru + Отправить СМС + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270/Picture.png" new file mode 100644 index 000000000..3e8fe571b Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270.mdo" new file mode 100644 index 000000000..9335c3e57 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\227\320\260\320\272\321\203\320\277\320\272\320\270.mdo" @@ -0,0 +1,9 @@ + + + ПодсистемаЗакупки + + ru + Подсистема закупки + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Picture.png" new file mode 100644 index 000000000..95c51fbb4 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265.mdo" new file mode 100644 index 000000000..40730a839 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265.mdo" @@ -0,0 +1,9 @@ + + + ПодсистемаПредприятие + + ru + Подсистема предприятие + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270/Picture.png" new file mode 100644 index 000000000..e087846ff Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" new file mode 100644 index 000000000..57ef40b9c --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" @@ -0,0 +1,9 @@ + + + ПодсистемаПродажи + + ru + Подсистема продажи + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Picture.png" new file mode 100644 index 000000000..e8d78c84e Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" new file mode 100644 index 000000000..0db57a6d2 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" @@ -0,0 +1,9 @@ + + + ПодсистемаТоварныеЗапасы + + ru + Подсистема товарные запасы + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Picture.png" new file mode 100644 index 000000000..a58286a2d Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213.mdo" new file mode 100644 index 000000000..25b8c5e74 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213/\320\237\320\276\320\264\321\201\320\270\321\201\321\202\320\265\320\274\320\260\320\244\320\270\320\275\320\260\320\275\321\201\321\213.mdo" @@ -0,0 +1,9 @@ + + + ПодсистемаФинансы + + ru + Подсистема финансы + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214/Picture.zip" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214/Picture.zip" new file mode 100644 index 000000000..11274b0c9 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214/Picture.zip" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214.mdo" new file mode 100644 index 000000000..d7b6c261a --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214/\320\237\320\276\320\267\320\262\320\276\320\275\320\270\321\202\321\214.mdo" @@ -0,0 +1,9 @@ + + + Позвонить + + ru + Позвонить + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265/Picture.png" new file mode 100644 index 000000000..de5aafcbb Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265.mdo" new file mode 100644 index 000000000..8c9eb6ea6 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\224\320\260\320\273\320\265\320\265.mdo" @@ -0,0 +1,9 @@ + + + ПолнотекстовыйПоискДалее + + ru + Полнотекстовый поиск далее + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264/Picture.png" new file mode 100644 index 000000000..2040b8e0a Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264.mdo" new file mode 100644 index 000000000..867ff775e --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264/\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\271\320\237\320\276\320\270\321\201\320\272\320\235\320\260\320\267\320\260\320\264.mdo" @@ -0,0 +1,9 @@ + + + ПолнотекстовыйПоискНазад + + ru + Полнотекстовый поиск назад + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203/Picture.png" new file mode 100644 index 000000000..7c4932d73 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203.mdo" new file mode 100644 index 000000000..c6dc4c3a4 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203/\320\237\321\200\320\276\320\262\320\265\321\200\320\270\321\202\321\214\320\237\320\276\321\207\321\202\321\203.mdo" @@ -0,0 +1,9 @@ + + + ПроверитьПочту + + ru + Проверить почту + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Picture.png" "b/fixtures/demo-configuration/src/CommonPictures/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Picture.png" new file mode 100644 index 000000000..ea427a48e Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262/Picture.png" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" new file mode 100644 index 000000000..7c86b93a9 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\241\320\277\320\270\321\201\320\276\320\272\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" @@ -0,0 +1,9 @@ + + + СписокЗаказов + + ru + Список заказов + + + diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Picture.zip" "b/fixtures/demo-configuration/src/CommonPictures/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Picture.zip" new file mode 100644 index 000000000..43ad3def3 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonPictures/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/Picture.zip" differ diff --git "a/fixtures/demo-configuration/src/CommonPictures/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264.mdo" "b/fixtures/demo-configuration/src/CommonPictures/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264.mdo" new file mode 100644 index 000000000..5eb1be699 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonPictures/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264/\320\250\321\202\321\200\320\270\321\205\320\232\320\276\320\264.mdo" @@ -0,0 +1,9 @@ + + + ШтрихКод + + ru + Штрих код + + + diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/Template.bin" "b/fixtures/demo-configuration/src/CommonTemplates/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/Template.bin" new file mode 100644 index 000000000..fc5701695 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonTemplates/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/Template.bin" differ diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/CommonTemplates/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262.mdo" new file mode 100644 index 000000000..54ee742fb --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonTemplates/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262/\320\224\321\200\320\260\320\271\320\262\320\265\321\200\320\241\320\272\320\260\320\275\320\265\321\200\320\260\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262.mdo" @@ -0,0 +1,10 @@ + + + ДрайверСканераШтрихкодов + + ru + Драйвер сканера штрихкодов + + + BinaryData + diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32/Template.bin" "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32/Template.bin" new file mode 100644 index 000000000..5b6c7b236 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32/Template.bin" differ diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32.mdo" "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32.mdo" new file mode 100644 index 000000000..be0a8a973 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux32.mdo" @@ -0,0 +1,10 @@ + + + КомпонентаПечатиШтрихкодовLinux32 + + ru + Компонента печати штрихкодов linux32 + + Компонента использует библиотеку ImageMagick, разработанную ImageMagick Studio LLC. Лицензия http://www.imagemagick.org/script/license.php + BinaryData + diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64/Template.bin" "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64/Template.bin" new file mode 100644 index 000000000..db84cd71d Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64/Template.bin" differ diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64.mdo" "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64.mdo" new file mode 100644 index 000000000..984ddf75f --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Linux64.mdo" @@ -0,0 +1,10 @@ + + + КомпонентаПечатиШтрихкодовLinux64 + + ru + Компонента печати штрихкодов linux64 + + Компонента использует библиотеку ImageMagick, разработанную ImageMagick Studio LLC. Лицензия http://www.imagemagick.org/script/license.php + BinaryData + diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32/Template.bin" "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32/Template.bin" new file mode 100644 index 000000000..c08caa3b5 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32/Template.bin" differ diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32.mdo" "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32.mdo" new file mode 100644 index 000000000..43894d9e6 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows32.mdo" @@ -0,0 +1,10 @@ + + + КомпонентаПечатиШтрихкодовWindows32 + + ru + Компонента печати штрихкодов windows32 + + Компонента использует библиотеку ImageMagick, разработанную ImageMagick Studio LLC. Лицензия http://www.imagemagick.org/script/license.php + BinaryData + diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64/Template.bin" "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64/Template.bin" new file mode 100644 index 000000000..f03c62f10 Binary files /dev/null and "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64/Template.bin" differ diff --git "a/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64.mdo" "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64.mdo" new file mode 100644 index 000000000..9f25fb106 --- /dev/null +++ "b/fixtures/demo-configuration/src/CommonTemplates/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64/\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\320\260\320\237\320\265\321\207\320\260\321\202\320\270\320\250\321\202\321\200\320\270\321\205\320\272\320\276\320\264\320\276\320\262Windows64.mdo" @@ -0,0 +1,10 @@ + + + КомпонентаПечатиШтрихкодовWindows64 + + ru + Компонента печати штрихкодов windows64 + + Компонента использует библиотеку ImageMagick, разработанную ImageMagick Studio LLC. Лицензия http://www.imagemagick.org/script/license.php + BinaryData + diff --git a/fixtures/demo-configuration/src/Configuration/ClientApplicationInterface.cai b/fixtures/demo-configuration/src/Configuration/ClientApplicationInterface.cai new file mode 100644 index 000000000..cff21b7b2 --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/ClientApplicationInterface.cai @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/fixtures/demo-configuration/src/Configuration/CommandInterface.cmi b/fixtures/demo-configuration/src/Configuration/CommandInterface.cmi new file mode 100644 index 000000000..ab1aefc27 --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/CommandInterface.cmi @@ -0,0 +1,10 @@ + + + + Subsystem.Закупки + Subsystem.Продажи + Subsystem.ТоварныеЗапасы + Subsystem.Финансы + Subsystem.Предприятие + + diff --git a/fixtures/demo-configuration/src/Configuration/Configuration.mdo b/fixtures/demo-configuration/src/Configuration/Configuration.mdo new file mode 100644 index 000000000..5e9368721 --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/Configuration.mdo @@ -0,0 +1,289 @@ + + + ДемонстрационноеПриложение + + ru + Демонстрационное приложение + + + + + + + + + + 8.3.21 + ManagedApplication + PersonalComputer + Russian + Фирма "1С" + 1.0.26.1 + + true + + + ru + + + SettingsStorage.ХранилищеВариантовОтчетов + + Multimedia + + + Multimedia + + + Multimedia + + + Multimedia + + + Multimedia + + + Multimedia + + + Multimedia + + Language.Русский + + ru + Демонстрационное приложение + + + ru + Демонстрационное приложение + + + + ru + Copyright © ООО "1C-Софт", 2018 + + + ru + www.1c.ru + + + ru + www.v8.1c.ru + + Managed + NotAutoFree + DontUse + DontUse + 8.3.21 + CommonForm.ОбщиеНастройки + + Русский + + ru + Русский + + + ru + + Subsystem.Предприятие + Subsystem.Закупки + Subsystem.Продажи + Subsystem.Финансы + Subsystem.ТоварныеЗапасы + Subsystem.Интеграция + StyleItem.ЦветТекстаСущественныхИзмененийДанных + StyleItem.ЦветТекстаНормальногоСостояния + StyleItem.ЦветТекстаОшибочногоСостояния + StyleItem.ШрифтВажнойИнформации + StyleItem.ЦветТекстаВажнойИнформации + CommonPicture.ПодсистемаЗакупки + CommonPicture.ПодсистемаПредприятие + CommonPicture.ПодсистемаПродажи + CommonPicture.ПодсистемаТоварныеЗапасы + CommonPicture.ПодсистемаФинансы + CommonPicture.КоллекцияВидыАктивныхПользователей + CommonPicture.КоллекцияВидыСобытийЖурналаРегистрации + CommonPicture.КоллекцияДляПомеченныхНаУдалениеОбъектов + CommonPicture.ПолнотекстовыйПоискДалее + CommonPicture.ПолнотекстовыйПоискНазад + CommonPicture.ОткрытьХранимыйФайл + CommonPicture.ВыделитьВажное + CommonPicture.ПроверитьПочту + CommonPicture.СписокЗаказов + CommonPicture.Позвонить + CommonPicture.ШтрихКод + CommonPicture.ОтправитьСМС + SessionParameter.ТекущийПользователь + SessionParameter.ЯщикIMAP + Role.Администратор + Role.МенеджерПоЗакупкам + Role.МенеджерПоПродажам + Role.Продавец + Role.Помощник + CommonTemplate.ДрайверСканераШтрихкодов + CommonTemplate.КомпонентаПечатиШтрихкодовWindows32 + CommonTemplate.КомпонентаПечатиШтрихкодовWindows64 + CommonTemplate.КомпонентаПечатиШтрихкодовLinux32 + CommonTemplate.КомпонентаПечатиШтрихкодовLinux64 + FilterCriterion.ДокументыКонтрагента + CommonModule.РаботаСТорговымОборудованием + CommonModule.РаботаСПолнотекстовымПоиском + CommonModule.РаботаСХранилищемОбщихНастроек + CommonModule.РегламентныеЗаданияАгрегатов + CommonModule.СервисныеМеханизмы + CommonModule.РаботаСПочтой + CommonModule.РаботаСПочтойВызовСервера + CommonModule.ОбменМобильныеОбщее + CommonModule.ОбменМобильныеПереопределяемый + CommonModule.Пользователи + CommonModule.РаботаСПанельюЗадач + CommonModule.Помощник + CommonModule.ПомощникКлиент + CommonModule.РаботаСИсториейДанных + CommonModule.ГеопозиционированиеКлиент + CommonModule.ГеопозиционированиеСервер + CommonModule.УведомленияКлиент + CommonModule.УведомленияСервер + CommonModule.Интеграция + CommonModule.ИнтеграцияМагазин + CommonModule.РегистрацияОшибок + ExchangePlan.Мобильные + XDTOPackage.ОбменСМобильнымУстройством + WebService.MAExchange + HTTPService.Товары + HTTPService.ОписанияТоваров + ScheduledJob.ОбновлениеИндексаППД + ScheduledJob.СлияниеИндексаППД + ScheduledJob.ОбновлениеАгрегатовПродаж + ScheduledJob.ПерестроениеАгрегатовПродаж + ScheduledJob.ПомощникНеотработанныеЗаказы + ScheduledJob.ОбновлениеИсторииДанных + SettingsStorage.ХранилищеВариантовОтчетов + FunctionalOption.РаботаСТорговымОборудованием + FunctionalOption.УчетПоСкладам + FunctionalOption.ВалютныйУчет + FunctionalOptionsParameter.Организация + CommonCommand.УстановитьСканерШтрихкодов + CommonCommand.НастроитьСканерШтрихКодов + CommonCommand.УстановитьРасширениеРаботыСФайлами + CommonCommand.УстановитьРасширениеРаботыСКриптографией + CommonCommand.УстановитьВидимостьОбъектовЧерезODataAPI + CommonCommand.ОбщиеНастройки + CommandGroup.Информация + CommandGroup.Печать + Constant.РаботаСТорговымОборудованием + Constant.УчетПоСкладам + Constant.АдресSMTPСервера + Constant.ПортSMTP + Constant.ПользовательSMTP + Constant.ПарольSMTP + Constant.АдресPOP3Сервера + Constant.ПортPOP3 + Constant.ПользовательPOP3 + Constant.ПарольPOP3 + Constant.ТаймаутИнтернетПочты + Constant.ИмяОтправителяПочтовогоСообщения + Constant.ПользовательIMAP + Constant.ПарольIMAP + Constant.АдресIMAPСервера + Constant.ПортIMAP + Constant.SSLIMAP + Constant.ИспользоватьIMAP + Constant.SSLPOP3 + Constant.SSLSMTP + Constant.ТолькоЗащищеннаяАутентификацияIMAP + Constant.ТолькоЗащищеннаяАутентификацияPOP3 + Constant.ТолькоЗащищеннаяАутентификацияSMTP + Constant.КодНовогоУзлаПланаОбмена + Constant.ИспользоватьPushУведомления + Constant.ИспользоватьAPNS + Constant.СертификатМобильногоПриложенияIOS + Constant.ИспользоватьGCM + Constant.НомерПриложенияGoogleCloud + Constant.КлючCервераОтправителяGCM + Constant.ИспользоватьWNS + Constant.КлючПриложенияWNS + Constant.МаркерДоступаWNS + Constant.ИдентификаторПриложенияWNS + Constant.ЛогинСервисаПередачиPushУведомлений + Constant.ПериодПроверкиНеотработанныхЗаказов + Constant.ВоспроизводитьТекстУведомления + Constant.ВыборПровайдераГеопозиционирования + Constant.ИмяПровайдера + Constant.ТолькоБесплатные + Constant.ИспользоватьСотовуюСеть + Constant.ИспользоватьСетьПередачиДанных + Constant.ИспользоватьСпутники + CommonForm.ОбщиеНастройки + CommonForm.НастройкиМобильногоУстройства + CommonForm.НастройкаПочты + CommonForm.ФормаПодбора + CommonForm.НастройкаПомощникаНеотработанныхЗаказов + CommonForm.НастройкаPushУведомлений + CommonForm.ФормаПодбораМобильная + CommonForm.Звонок + Catalog.Товары + Catalog.Контрагенты + Catalog.Склады + Catalog.Валюты + Catalog.Регионы + Catalog.ВидыЦен + Catalog.РасчетныеСчетаКонтрагентов + Catalog.ЗначенияХарактеристик + Catalog.Банки + Catalog.РасчетныеСчета + Catalog.ХранимыеФайлы + Catalog.НастройкиТорговогоОборудования + Catalog.ХранилищеВариантовОтчетов + Catalog.Организации + Catalog.ВходящиеПисьма + Catalog.ИсходящиеПисьма + Catalog.ПочтовыеВложения + Catalog.Пользователи + Catalog.Встречи + Catalog.МобильныеУстройства + Catalog.НастройкиИнтеграции + Document.ПриходТовара + Document.РасходТовара + Document.Оплата + Document.ПоступлениеДенег + Document.ОперацияПоУчетуТоваров + Document.Заказ + DocumentJournal.ФинансовыеДокументы + DocumentJournal.ДокументыПродаж + Enum.ВидыТоваров + Enum.НазначениеХарактеристик + Enum.ВидНастройкиАутентификацииSMTP + Enum.ВидыМобильныхОтчетов + Enum.СостоянияЗаказов + Enum.ВидСодержимогоВходящегоПисьма + Enum.PushУведомления + Enum.ИспользоватьПровайдерГеопозиционирования + Report.ОстаткиТоваровНаСкладах + Report.ДинамикаПродаж + Report.ОтчетПоВзаиморасчетам + Report.ДокументыОплата + Report.ВзаимосвязьПродажТоваров + DataProcessor.УправлениеПолнотекстовымПоиском + DataProcessor.АдминистративныйСервис + DataProcessor.ПроведениеДокументов + DataProcessor.Путеводитель + DataProcessor.СписокАктивныхПользователей + DataProcessor.ЖурналРегистрации + DataProcessor.УдалениеПомеченныхОбъектов + DataProcessor.УправлениеНастройкамиФорм + DataProcessor.НастройкиПользователя + DataProcessor.УправлениеАгрегатамиПродаж + DataProcessor.ЭлектроннаяПочта + DataProcessor.УправлениеСистемойВзаимодействия + InformationRegister.КурсыВалют + InformationRegister.Характеристики + InformationRegister.ЦеныТоваров + InformationRegister.СостояниеВходящихПисем + InformationRegister.СостояниеИсходящихПисем + InformationRegister.МобильныеОтчеты + AccumulationRegister.ТоварныеЗапасы + AccumulationRegister.Взаиморасчеты + AccumulationRegister.Продажи + ChartOfCharacteristicTypes.ВидыХарактеристик + diff --git a/fixtures/demo-configuration/src/Configuration/Help/ru.html b/fixtures/demo-configuration/src/Configuration/Help/ru.html new file mode 100644 index 000000000..3060c116e --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/Help/ru.html @@ -0,0 +1 @@ +Конфигурация демонстрирует некоторые новые возможности технологической платформы. \ No newline at end of file diff --git a/fixtures/demo-configuration/src/Configuration/HomePageWorkArea.hpwa b/fixtures/demo-configuration/src/Configuration/HomePageWorkArea.hpwa new file mode 100644 index 000000000..0b675b98a --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/HomePageWorkArea.hpwa @@ -0,0 +1,66 @@ + + + TwoColumnsVariableWidth + + +
Document.ПриходТовара.Form.ФормаСписка
+ 10 + + + true + Role.МенеджерПоЗакупкам + + +
+ +
Document.РасходТовара.Form.ФормаСписка
+ 10 + + + true + Role.МенеджерПоПродажам + + + true + Role.Продавец + + +
+ +
DataProcessor.ЭлектроннаяПочта.Form.Форма
+ 10 + + true + + Role.Продавец + + +
+
+ + +
AccumulationRegister.Взаиморасчеты.Form.ТекущиеВзаиморасчеты
+ 10 + + true + + Role.Администратор + + + Role.Продавец + + +
+ +
InformationRegister.КурсыВалют.Form.ТекущиеКурсыВалют
+ 5 + + true + + true + Role.Администратор + + +
+
+
diff --git a/fixtures/demo-configuration/src/Configuration/MainSectionCommandInterface.cmi b/fixtures/demo-configuration/src/Configuration/MainSectionCommandInterface.cmi new file mode 100644 index 000000000..ecea87e52 --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/MainSectionCommandInterface.cmi @@ -0,0 +1,73 @@ + + + + + Document.ПриходТовара.StandardCommand.OpenList + + true + + + + DocumentJournal.ДокументыПродаж.StandardCommand.OpenList + + true + + + + DocumentJournal.ФинансовыеДокументы.StandardCommand.OpenList + + true + + + + Catalog.Товары.StandardCommand.OpenList + + true + + + + Catalog.Контрагенты.StandardCommand.OpenList + + true + + + + Catalog.Встречи.Command.ОткрытьКалендарь + + true + + + + DataProcessor.Путеводитель.Command.ПутеводительПоКонфигурации + + true + + + + + + NavigationPanelOrdinary + Document.ПриходТовара.StandardCommand.OpenList + DocumentJournal.ДокументыПродаж.StandardCommand.OpenList + DocumentJournal.ФинансовыеДокументы.StandardCommand.OpenList + Catalog.Товары.StandardCommand.OpenList + Catalog.Контрагенты.StandardCommand.OpenList + Catalog.Встречи.Command.ОткрытьКалендарь + + + CommandGroup.Информация + DataProcessor.Путеводитель.Command.ПутеводительПоКонфигурации + + + + + NavigationPanelOrdinary + Document.ПриходТовара.StandardCommand.OpenList + DocumentJournal.ДокументыПродаж.StandardCommand.OpenList + DocumentJournal.ФинансовыеДокументы.StandardCommand.OpenList + Catalog.Товары.StandardCommand.OpenList + Catalog.Контрагенты.StandardCommand.OpenList + Catalog.Встречи.Command.ОткрытьКалендарь + + + diff --git a/fixtures/demo-configuration/src/Configuration/ManagedApplicationModule.bsl b/fixtures/demo-configuration/src/Configuration/ManagedApplicationModule.bsl new file mode 100644 index 000000000..57bfd0296 --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/ManagedApplicationModule.bsl @@ -0,0 +1,31 @@ +//////////////////////////////////////////////////////////////////////////////// +// ПЕРЕМЕННЫЕ МОДУЛЯ +// + +Перем ДрайверСканераШтрихкодов Экспорт; // Сканер штрихкодов + +Процедура ПриНачалеРаботыСистемы() + + Параметры = СервисныеМеханизмы.ПолучитьПараметры(); + КлиентскоеПриложение.УстановитьКраткийЗаголовок(Параметры.КраткийЗаголовок); + + РаботаСПанельюЗадач.ДобавитьКнопки(Параметры.ПараметрыПанелиЗадачОС); + + ПомощникКлиент.ПриНачалеРаботыСистемы(); + +// Push и локальные сообщения +#Если МобильныйКлиент Тогда + + // идентификатор подписчика надо получать регулярно, он может измениться + УведомленияКлиент.ОбновитьИдентификаторПодписчикаУведомлений(); + + // Подключение обработчика push-уведомлений + ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаУведомлений", УведомленияКлиент); + ДоставляемыеУведомления.ПодключитьОбработчикУведомлений(ОписаниеОповещения); + + // Подключение обработчика геозон + ОписаниеОповещения = Новый ОписаниеОповещения("ОбработкаУведомлений", ГеопозиционированиеКлиент); + СредстваГеопозиционирования.ПодключитьОбработчикПересеченияГраницОтслеживаемыхГеозон(ОписаниеОповещения); + +#КонецЕсли +КонецПроцедуры diff --git a/fixtures/demo-configuration/src/Configuration/OrdinaryApplicationModule.bsl b/fixtures/demo-configuration/src/Configuration/OrdinaryApplicationModule.bsl new file mode 100644 index 000000000..78652721c --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/OrdinaryApplicationModule.bsl @@ -0,0 +1,5 @@ +//////////////////////////////////////////////////////////////////////////////// +// ПЕРЕМЕННЫЕ МОДУЛЯ +// + +Перем ДрайверСканераШтрихкодов Экспорт; // Сканер штрихкодов diff --git a/fixtures/demo-configuration/src/Configuration/SessionModule.bsl b/fixtures/demo-configuration/src/Configuration/SessionModule.bsl new file mode 100644 index 000000000..62c5c8950 --- /dev/null +++ b/fixtures/demo-configuration/src/Configuration/SessionModule.bsl @@ -0,0 +1,10 @@ + +Процедура УстановкаПараметровСеанса(ИменаПараметровСеанса) + + Если ИменаПараметровСеанса = Неопределено Тогда + Пользователи.ОпределитьТекущегоПользователя(); + + ПараметрыСеанса.ЯщикIMAP = ""; + КонецЕсли; + +КонецПроцедуры diff --git a/fixtures/demo-configuration/src/Configuration/Splash.png b/fixtures/demo-configuration/src/Configuration/Splash.png new file mode 100644 index 000000000..f6f4306d6 Binary files /dev/null and b/fixtures/demo-configuration/src/Configuration/Splash.png differ diff --git a/fixtures/demo-configuration/src/Constants/SSLIMAP/SSLIMAP.mdo b/fixtures/demo-configuration/src/Constants/SSLIMAP/SSLIMAP.mdo new file mode 100644 index 000000000..0abf6216d --- /dev/null +++ b/fixtures/demo-configuration/src/Constants/SSLIMAP/SSLIMAP.mdo @@ -0,0 +1,22 @@ + + + + + + + + SSLIMAP + + ru + SSLIMAP + + + + Boolean + + true + + + + Managed + diff --git a/fixtures/demo-configuration/src/Constants/SSLPOP3/SSLPOP3.mdo b/fixtures/demo-configuration/src/Constants/SSLPOP3/SSLPOP3.mdo new file mode 100644 index 000000000..922b0fc25 --- /dev/null +++ b/fixtures/demo-configuration/src/Constants/SSLPOP3/SSLPOP3.mdo @@ -0,0 +1,22 @@ + + + + + + + + SSLPOP3 + + ru + SSLPOP3 + + + + Boolean + + true + + + + Managed + diff --git a/fixtures/demo-configuration/src/Constants/SSLSMTP/SSLSMTP.mdo b/fixtures/demo-configuration/src/Constants/SSLSMTP/SSLSMTP.mdo new file mode 100644 index 000000000..a2fca61ab --- /dev/null +++ b/fixtures/demo-configuration/src/Constants/SSLSMTP/SSLSMTP.mdo @@ -0,0 +1,22 @@ + + + + + + + + SSLSMTP + + ru + SSLSMTP + + + + Boolean + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201IMAP\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201IMAP\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" "b/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201IMAP\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201IMAP\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" new file mode 100644 index 000000000..093ef10a5 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201IMAP\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201IMAP\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" @@ -0,0 +1,23 @@ + + + + + + + + АдресIMAPСервера + + ru + Адрес IMAP сервера + + + + String + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201POP3\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201POP3\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" "b/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201POP3\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201POP3\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" new file mode 100644 index 000000000..a21d1a63f --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201POP3\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201POP3\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" @@ -0,0 +1,23 @@ + + + + + + + + АдресPOP3Сервера + + ru + Адрес POP3 сервера + + + + String + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201SMTP\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201SMTP\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" "b/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201SMTP\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201SMTP\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" new file mode 100644 index 000000000..69e96bece --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\220\320\264\321\200\320\265\321\201SMTP\320\241\320\265\321\200\320\262\320\265\321\200\320\260/\320\220\320\264\321\200\320\265\321\201SMTP\320\241\320\265\321\200\320\262\320\265\321\200\320\260.mdo" @@ -0,0 +1,23 @@ + + + + + + + + АдресSMTPСервера + + ru + Адрес SMTPСервера + + + + String + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\222\320\276\321\201\320\277\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\321\214\320\242\320\265\320\272\321\201\321\202\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/\320\222\320\276\321\201\320\277\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\321\214\320\242\320\265\320\272\321\201\321\202\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Constants/\320\222\320\276\321\201\320\277\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\321\214\320\242\320\265\320\272\321\201\321\202\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/\320\222\320\276\321\201\320\277\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\321\214\320\242\320\265\320\272\321\201\321\202\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..b9af6fef6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\222\320\276\321\201\320\277\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\321\214\320\242\320\265\320\272\321\201\321\202\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/\320\222\320\276\321\201\320\277\321\200\320\276\320\270\320\267\320\262\320\276\320\264\320\270\321\202\321\214\320\242\320\265\320\272\321\201\321\202\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ВоспроизводитьТекстУведомления + + ru + Воспроизводить текст уведомления + + + + Boolean + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\222\321\213\320\261\320\276\321\200\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/\320\222\321\213\320\261\320\276\321\200\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Constants/\320\222\321\213\320\261\320\276\321\200\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/\320\222\321\213\320\261\320\276\321\200\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..77b3c5d7a --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\222\321\213\320\261\320\276\321\200\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/\320\222\321\213\320\261\320\276\321\200\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ВыборПровайдераГеопозиционирования + + ru + Выбор провайдера геопозиционирования + + + + EnumRef.ИспользоватьПровайдерГеопозиционирования + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS.mdo" new file mode 100644 index 000000000..edfd8cb13 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS/\320\230\320\264\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\276\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS.mdo" @@ -0,0 +1,22 @@ + + + + + + + + ИдентификаторПриложенияWNS + + ru + Идентификатор приложения WNS + + + + String + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\320\274\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217\320\237\320\276\321\207\321\202\320\276\320\262\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217/\320\230\320\274\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217\320\237\320\276\321\207\321\202\320\276\320\262\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\320\274\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217\320\237\320\276\321\207\321\202\320\276\320\262\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217/\320\230\320\274\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217\320\237\320\276\321\207\321\202\320\276\320\262\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..bf3e895ca --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\320\274\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217\320\237\320\276\321\207\321\202\320\276\320\262\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217/\320\230\320\274\321\217\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217\320\237\320\276\321\207\321\202\320\276\320\262\320\276\320\263\320\276\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217.mdo" @@ -0,0 +1,23 @@ + + + + + + + + ИмяОтправителяПочтовогоСообщения + + ru + Имя отправителя почтового сообщения + + + + String + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\320\274\321\217\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260/\320\230\320\274\321\217\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\320\274\321\217\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260/\320\230\320\274\321\217\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260.mdo" new file mode 100644 index 000000000..90ed4f318 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\320\274\321\217\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260/\320\230\320\274\321\217\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\260.mdo" @@ -0,0 +1,24 @@ + + + + + + + + ИмяПровайдера + + ru + Имя провайдера + + + + String + + 40 + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214APNS/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214APNS.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214APNS/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214APNS.mdo" new file mode 100644 index 000000000..d335613a8 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214APNS/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214APNS.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ИспользоватьAPNS + + ru + Использовать APNS + + + + Boolean + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214GCM/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214GCM.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214GCM/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214GCM.mdo" new file mode 100644 index 000000000..a3e3cb17c --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214GCM/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214GCM.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ИспользоватьGCM + + ru + Использовать GCM + + + + Boolean + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214IMAP/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214IMAP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214IMAP/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214IMAP.mdo" new file mode 100644 index 000000000..45fcb1aaa --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214IMAP/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214IMAP.mdo" @@ -0,0 +1,22 @@ + + + + + + + + ИспользоватьIMAP + + ru + Всегда использовать IMAP + + + + Boolean + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..bc5362f9d --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ИспользоватьPushУведомления + + ru + Использовать push уведомления + + + + EnumRef.PushУведомления + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214WNS/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214WNS.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214WNS/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214WNS.mdo" new file mode 100644 index 000000000..d5e7b56c1 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214WNS/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214WNS.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ИспользоватьWNS + + ru + Использовать WNS + + + + Boolean + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\202\321\214\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270\320\224\320\260\320\275\320\275\321\213\321\205/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\202\321\214\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270\320\224\320\260\320\275\320\275\321\213\321\205.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\202\321\214\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270\320\224\320\260\320\275\320\275\321\213\321\205/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\202\321\214\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270\320\224\320\260\320\275\320\275\321\213\321\205.mdo" new file mode 100644 index 000000000..245eb9df5 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\202\321\214\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270\320\224\320\260\320\275\320\275\321\213\321\205/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\265\321\202\321\214\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270\320\224\320\260\320\275\320\275\321\213\321\205.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ИспользоватьСетьПередачиДанных + + ru + Использовать сеть передачи данных + + + + Boolean + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\276\321\202\320\276\320\262\321\203\321\216\320\241\320\265\321\202\321\214/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\276\321\202\320\276\320\262\321\203\321\216\320\241\320\265\321\202\321\214.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\276\321\202\320\276\320\262\321\203\321\216\320\241\320\265\321\202\321\214/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\276\321\202\320\276\320\262\321\203\321\216\320\241\320\265\321\202\321\214.mdo" new file mode 100644 index 000000000..afa249d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\276\321\202\320\276\320\262\321\203\321\216\320\241\320\265\321\202\321\214/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\276\321\202\320\276\320\262\321\203\321\216\320\241\320\265\321\202\321\214.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ИспользоватьСотовуюСеть + + ru + Использовать сотовую сеть + + + + Boolean + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\277\321\203\321\202\320\275\320\270\320\272\320\270/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\277\321\203\321\202\320\275\320\270\320\272\320\270.mdo" "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\277\321\203\321\202\320\275\320\270\320\272\320\270/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\277\321\203\321\202\320\275\320\270\320\272\320\270.mdo" new file mode 100644 index 000000000..3bf2ffc4f --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\277\321\203\321\202\320\275\320\270\320\272\320\270/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\241\320\277\321\203\321\202\320\275\320\270\320\272\320\270.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ИспользоватьСпутники + + ru + Использовать спутники + + + + Boolean + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\232\320\273\321\216\321\207C\320\265\321\200\320\262\320\265\321\200\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217GCM/\320\232\320\273\321\216\321\207C\320\265\321\200\320\262\320\265\321\200\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217GCM.mdo" "b/fixtures/demo-configuration/src/Constants/\320\232\320\273\321\216\321\207C\320\265\321\200\320\262\320\265\321\200\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217GCM/\320\232\320\273\321\216\321\207C\320\265\321\200\320\262\320\265\321\200\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217GCM.mdo" new file mode 100644 index 000000000..5b5146a4b --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\232\320\273\321\216\321\207C\320\265\321\200\320\262\320\265\321\200\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217GCM/\320\232\320\273\321\216\321\207C\320\265\321\200\320\262\320\265\321\200\320\260\320\236\321\202\320\277\321\200\320\260\320\262\320\270\321\202\320\265\320\273\321\217GCM.mdo" @@ -0,0 +1,22 @@ + + + + + + + + КлючCервераОтправителяGCM + + ru + Ключ cервера отправителя GCM + + + + String + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\232\320\273\321\216\321\207\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS/\320\232\320\273\321\216\321\207\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS.mdo" "b/fixtures/demo-configuration/src/Constants/\320\232\320\273\321\216\321\207\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS/\320\232\320\273\321\216\321\207\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS.mdo" new file mode 100644 index 000000000..540e713a2 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\232\320\273\321\216\321\207\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS/\320\232\320\273\321\216\321\207\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217WNS.mdo" @@ -0,0 +1,22 @@ + + + + + + + + КлючПриложенияWNS + + ru + Ключ приложения WNS + + + + String + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\232\320\276\320\264\320\235\320\276\320\262\320\276\320\263\320\276\320\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260/\320\232\320\276\320\264\320\235\320\276\320\262\320\276\320\263\320\276\320\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mdo" "b/fixtures/demo-configuration/src/Constants/\320\232\320\276\320\264\320\235\320\276\320\262\320\276\320\263\320\276\320\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260/\320\232\320\276\320\264\320\235\320\276\320\262\320\276\320\263\320\276\320\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mdo" new file mode 100644 index 000000000..563aea95b --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\232\320\276\320\264\320\235\320\276\320\262\320\276\320\263\320\276\320\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260/\320\232\320\276\320\264\320\235\320\276\320\262\320\276\320\263\320\276\320\243\320\267\320\273\320\260\320\237\320\273\320\260\320\275\320\260\320\236\320\261\320\274\320\265\320\275\320\260.mdo" @@ -0,0 +1,25 @@ + + + + + + + + КодНовогоУзлаПланаОбмена + + ru + Код нового узла плана обмена + + + + Number + + 10 + true + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\233\320\276\320\263\320\270\320\275\320\241\320\265\321\200\320\262\320\270\321\201\320\260\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/\320\233\320\276\320\263\320\270\320\275\320\241\320\265\321\200\320\262\320\270\321\201\320\260\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.mdo" "b/fixtures/demo-configuration/src/Constants/\320\233\320\276\320\263\320\270\320\275\320\241\320\265\321\200\320\262\320\270\321\201\320\260\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/\320\233\320\276\320\263\320\270\320\275\320\241\320\265\321\200\320\262\320\270\321\201\320\260\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.mdo" new file mode 100644 index 000000000..dcfdb291b --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\233\320\276\320\263\320\270\320\275\320\241\320\265\321\200\320\262\320\270\321\201\320\260\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271/\320\233\320\276\320\263\320\270\320\275\320\241\320\265\321\200\320\262\320\270\321\201\320\260\320\237\320\265\321\200\320\265\320\264\320\260\321\207\320\270Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\320\271.mdo" @@ -0,0 +1,25 @@ + + + + + + + + ЛогинСервисаПередачиPushУведомлений + + ru + Ключ доступа + + + + String + + 53 + true + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\234\320\260\321\200\320\272\320\265\321\200\320\224\320\276\321\201\321\202\321\203\320\277\320\260WNS/\320\234\320\260\321\200\320\272\320\265\321\200\320\224\320\276\321\201\321\202\321\203\320\277\320\260WNS.mdo" "b/fixtures/demo-configuration/src/Constants/\320\234\320\260\321\200\320\272\320\265\321\200\320\224\320\276\321\201\321\202\321\203\320\277\320\260WNS/\320\234\320\260\321\200\320\272\320\265\321\200\320\224\320\276\321\201\321\202\321\203\320\277\320\260WNS.mdo" new file mode 100644 index 000000000..8593ac79b --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\234\320\260\321\200\320\272\320\265\321\200\320\224\320\276\321\201\321\202\321\203\320\277\320\260WNS/\320\234\320\260\321\200\320\272\320\265\321\200\320\224\320\276\321\201\321\202\321\203\320\277\320\260WNS.mdo" @@ -0,0 +1,22 @@ + + + + + + + + МаркерДоступаWNS + + ru + Маркер доступа WNS + + + + String + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\235\320\276\320\274\320\265\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217GoogleCloud/\320\235\320\276\320\274\320\265\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217GoogleCloud.mdo" "b/fixtures/demo-configuration/src/Constants/\320\235\320\276\320\274\320\265\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217GoogleCloud/\320\235\320\276\320\274\320\265\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217GoogleCloud.mdo" new file mode 100644 index 000000000..65c7850ea --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\235\320\276\320\274\320\265\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217GoogleCloud/\320\235\320\276\320\274\320\265\321\200\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217GoogleCloud.mdo" @@ -0,0 +1,24 @@ + + + + + + + + НомерПриложенияGoogleCloud + + ru + Номер приложения google cloud + + + + String + + 12 + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214IMAP/\320\237\320\260\321\200\320\276\320\273\321\214IMAP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214IMAP/\320\237\320\260\321\200\320\276\320\273\321\214IMAP.mdo" new file mode 100644 index 000000000..61f8c6399 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214IMAP/\320\237\320\260\321\200\320\276\320\273\321\214IMAP.mdo" @@ -0,0 +1,24 @@ + + + + + + + + ПарольIMAP + + ru + Пароль IMAP + + + + String + + + true + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214POP3/\320\237\320\260\321\200\320\276\320\273\321\214POP3.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214POP3/\320\237\320\260\321\200\320\276\320\273\321\214POP3.mdo" new file mode 100644 index 000000000..5051aedf4 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214POP3/\320\237\320\260\321\200\320\276\320\273\321\214POP3.mdo" @@ -0,0 +1,24 @@ + + + + + + + + ПарольPOP3 + + ru + Пароль POP3 + + + + String + + + true + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214SMTP/\320\237\320\260\321\200\320\276\320\273\321\214SMTP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214SMTP/\320\237\320\260\321\200\320\276\320\273\321\214SMTP.mdo" new file mode 100644 index 000000000..bed1d71bc --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\260\321\200\320\276\320\273\321\214SMTP/\320\237\320\260\321\200\320\276\320\273\321\214SMTP.mdo" @@ -0,0 +1,24 @@ + + + + + + + + ПарольSMTP + + ru + Пароль SMTP + + + + String + + + true + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" new file mode 100644 index 000000000..d7c3f7c63 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\237\320\265\321\200\320\270\320\276\320\264\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\270\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\321\205\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" @@ -0,0 +1,25 @@ + + + + + + + + ПериодПроверкиНеотработанныхЗаказов + + ru + Период проверки неотработанных заказов + + + + Number + + 3 + true + + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214IMAP/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214IMAP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214IMAP/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214IMAP.mdo" new file mode 100644 index 000000000..a2b70c57e --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214IMAP/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214IMAP.mdo" @@ -0,0 +1,23 @@ + + + + + + + + ПользовательIMAP + + ru + Пользователь IMAP + + + + String + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214POP3/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214POP3.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214POP3/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214POP3.mdo" new file mode 100644 index 000000000..4dfeda82b --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214POP3/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214POP3.mdo" @@ -0,0 +1,23 @@ + + + + + + + + ПользовательPOP3 + + ru + Пользователь POP3 + + + + String + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214SMTP/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214SMTP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214SMTP/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214SMTP.mdo" new file mode 100644 index 000000000..5d8379b29 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214SMTP/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214SMTP.mdo" @@ -0,0 +1,23 @@ + + + + + + + + ПользовательSMTP + + ru + Пользователь SMTP + + + + String + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202IMAP/\320\237\320\276\321\200\321\202IMAP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202IMAP/\320\237\320\276\321\200\321\202IMAP.mdo" new file mode 100644 index 000000000..b19b272fe --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202IMAP/\320\237\320\276\321\200\321\202IMAP.mdo" @@ -0,0 +1,25 @@ + + + + + + + + ПортIMAP + + ru + Порт IMAP + + + + Number + + 5 + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202POP3/\320\237\320\276\321\200\321\202POP3.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202POP3/\320\237\320\276\321\200\321\202POP3.mdo" new file mode 100644 index 000000000..55cf704a3 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202POP3/\320\237\320\276\321\200\321\202POP3.mdo" @@ -0,0 +1,25 @@ + + + + + + + + ПортPOP3 + + ru + Порт POP3 + + + + Number + + 5 + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202SMTP/\320\237\320\276\321\200\321\202SMTP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202SMTP/\320\237\320\276\321\200\321\202SMTP.mdo" new file mode 100644 index 000000000..c2eb72244 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\237\320\276\321\200\321\202SMTP/\320\237\320\276\321\200\321\202SMTP.mdo" @@ -0,0 +1,25 @@ + + + + + + + + ПортSMTP + + ru + Порт SMTP + + + + Number + + 5 + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" "b/fixtures/demo-configuration/src/Constants/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" new file mode 100644 index 000000000..5847d9e1f --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" @@ -0,0 +1,22 @@ + + + + + + + + РаботаСТорговымОборудованием + + ru + Работа с торговым оборудованием + + + + Boolean + + + + + DontUse + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217IOS/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217IOS.mdo" "b/fixtures/demo-configuration/src/Constants/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217IOS/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217IOS.mdo" new file mode 100644 index 000000000..c83a9999b --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217IOS/\320\241\320\265\321\200\321\202\320\270\321\204\320\270\320\272\320\260\321\202\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217IOS.mdo" @@ -0,0 +1,21 @@ + + + + + + + + СертификатМобильногоПриложенияIOS + + ru + Сертификат мобильного приложения IOS + + + + ValueStorage + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\242\320\260\320\271\320\274\320\260\321\203\321\202\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\237\320\276\321\207\321\202\321\213/\320\242\320\260\320\271\320\274\320\260\321\203\321\202\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\237\320\276\321\207\321\202\321\213.mdo" "b/fixtures/demo-configuration/src/Constants/\320\242\320\260\320\271\320\274\320\260\321\203\321\202\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\237\320\276\321\207\321\202\321\213/\320\242\320\260\320\271\320\274\320\260\321\203\321\202\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\237\320\276\321\207\321\202\321\213.mdo" new file mode 100644 index 000000000..381799963 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\242\320\260\320\271\320\274\320\260\321\203\321\202\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\237\320\276\321\207\321\202\321\213/\320\242\320\260\320\271\320\274\320\260\321\203\321\202\320\230\320\275\321\202\320\265\321\200\320\275\320\265\321\202\320\237\320\276\321\207\321\202\321\213.mdo" @@ -0,0 +1,25 @@ + + + + + + + + ТаймаутИнтернетПочты + + ru + Таймаут + + + + Number + + 5 + + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\221\320\265\321\201\320\277\320\273\320\260\321\202\320\275\321\213\320\265/\320\242\320\276\320\273\321\214\320\272\320\276\320\221\320\265\321\201\320\277\320\273\320\260\321\202\320\275\321\213\320\265.mdo" "b/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\221\320\265\321\201\320\277\320\273\320\260\321\202\320\275\321\213\320\265/\320\242\320\276\320\273\321\214\320\272\320\276\320\221\320\265\321\201\320\277\320\273\320\260\321\202\320\275\321\213\320\265.mdo" new file mode 100644 index 000000000..bd426b841 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\221\320\265\321\201\320\277\320\273\320\260\321\202\320\275\321\213\320\265/\320\242\320\276\320\273\321\214\320\272\320\276\320\221\320\265\321\201\320\277\320\273\320\260\321\202\320\275\321\213\320\265.mdo" @@ -0,0 +1,21 @@ + + + + + + + + ТолькоБесплатные + + ru + Только бесплатные + + + + Boolean + + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217IMAP/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217IMAP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217IMAP/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217IMAP.mdo" new file mode 100644 index 000000000..bc7924714 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217IMAP/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217IMAP.mdo" @@ -0,0 +1,22 @@ + + + + + + + + ТолькоЗащищеннаяАутентификацияIMAP + + ru + Только защищенная аутентификация IMAP + + + + Boolean + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217POP3/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217POP3.mdo" "b/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217POP3/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217POP3.mdo" new file mode 100644 index 000000000..8dcb541ab --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217POP3/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217POP3.mdo" @@ -0,0 +1,22 @@ + + + + + + + + ТолькоЗащищеннаяАутентификацияPOP3 + + ru + Только защищенная аутентификация POP3 + + + + Boolean + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217SMTP/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217SMTP.mdo" "b/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217SMTP/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217SMTP.mdo" new file mode 100644 index 000000000..0327069f4 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217SMTP/\320\242\320\276\320\273\321\214\320\272\320\276\320\227\320\260\321\211\320\270\321\211\320\265\320\275\320\275\320\260\321\217\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\321\217SMTP.mdo" @@ -0,0 +1,22 @@ + + + + + + + + ТолькоЗащищеннаяАутентификацияSMTP + + ru + Только защищенная аутентификация SMTP + + + + Boolean + + true + + + + Managed + diff --git "a/fixtures/demo-configuration/src/Constants/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274.mdo" "b/fixtures/demo-configuration/src/Constants/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274.mdo" new file mode 100644 index 000000000..517196be2 --- /dev/null +++ "b/fixtures/demo-configuration/src/Constants/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274.mdo" @@ -0,0 +1,22 @@ + + + + + + + + УчетПоСкладам + + ru + Учет по складам + + + + Boolean + + + + + DontUse + Managed + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Commands/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/CommandModule.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Commands/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/CommandModule.bsl" new file mode 100644 index 000000000..073efae0b --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Commands/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/CommandModule.bsl" @@ -0,0 +1,5 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ОткрытьФорму("Обработка.АдминистративныйСервис.Форма", , ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..dd17f01b9 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,254 @@ + + + + УправлениеНастройкамиФорм + 3 + true + true + + true + + false + + УправлениеНастройкамиФормExtendedTooltip + 7 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + DataProcessor.УправлениеНастройкамиФорм.StandardCommand.Open + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + УправлениеПолнотекстовымПоиском + 4 + true + true + + true + + false + + УправлениеПолнотекстовымПоискомExtendedTooltip + 8 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + DataProcessor.УправлениеПолнотекстовымПоиском.StandardCommand.Open + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + УдалениеПомеченныхОбъектов + 5 + true + true + + true + + false + + УдалениеПомеченныхОбъектовExtendedTooltip + 9 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + DataProcessor.УдалениеПомеченныхОбъектов.StandardCommand.Open + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + УправлениеАгрегатамиПродаж + 6 + true + true + + true + + false + + УправлениеАгрегатамиПродажExtendedTooltip + 10 + true + true + + true + + Label + true + true + + Left + + + Hyperlink + DataProcessor.УправлениеАгрегатамиПродаж.StandardCommand.Open + Auto + true + true + UserCmds + + + ОчиститьИсторию + 1 + true + true + + true + + false + + ОчиститьИсториюExtendedTooltip + 11 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ОчиститьИсторию + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + None + + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + DataProcessorObject.АдминистративныйСервис + + + true + + + true + +
true
+
+ + ОчиститьИсторию + + <key>ru</key> + <value>Очистить историю работы пользователей</value> + + 1 + + ru + Очистить историю + + + true + + + + ОчиститьИсториюВыполнить + + + Auto + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..db3582e95 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,8 @@ + +&НаКлиенте +Процедура ОчиститьИсториюВыполнить() + ИсторияРаботыПользователя.ОчиститьВсе(); + ПоказатьОповещениеПользователя(НСтр("ru = 'История очищена!'", "ru")); +КонецПроцедуры + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Help/ru.html" new file mode 100644 index 000000000..17fade562 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/Help/ru.html" @@ -0,0 +1,2 @@ + +

Обработка реализует административно-сервисные функции конфигурации.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201.mdo" new file mode 100644 index 000000000..f9034b311 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\270\320\262\320\275\321\213\320\271\320\241\320\265\321\200\320\262\320\270\321\201.mdo" @@ -0,0 +1,42 @@ + + + + + + + АдминистративныйСервис + + ru + Административный сервис + + + DataProcessor.АдминистративныйСервис.Form.Форма + true + + + ru + + + + Форма + + ru + Форма + + + PersonalComputer + MobileDevice + + + АдминистративныйСервис + + ru + Административный сервис + + + ActionsPanelTools + + Auto + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Form.form" new file mode 100644 index 000000000..6417b6ad2 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Form.form" @@ -0,0 +1,2770 @@ + + + + <key>ru</key> + <value>Журнал регистрации</value> + + + ОсновнаяКоманднаяПанель + 1 + + ПросмотрТекущегоСобытияВОтдельномОкне + 38 + true + true + + true + + false + + ПросмотрТекущегоСобытияВОтдельномОкнеExtendedTooltip + 106 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПросмотрТекущегоСобытияВОтдельномОкне + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ОткрытьДанныеДляПросмотра + 40 + true + true + + true + + false + + ОткрытьДанныеДляПросмотраExtendedTooltip + 107 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОткрытьДанныеДляПросмотра + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + УстановитьИнтервалДатДляПросмотра + 41 + true + true + + true + + false + + УстановитьИнтервалДатДляПросмотраExtendedTooltip + 108 + true + true + + true + + Label + true + true + + Left + + + Form.Command.УстановитьИнтервалДатДляПросмотра + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + УстановитьОтбор + 42 + true + true + + true + + false + + УстановитьОтборExtendedTooltip + 109 + true + true + + true + + Label + true + true + + Left + + + Form.Command.УстановитьОтбор + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ОтключитьОтбор + 44 + true + true + + true + + false + + ОтключитьОтборExtendedTooltip + 110 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОтключитьОтбор + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + СписокАктивныхПользователей + 45 + true + true + + true + + false + + СписокАктивныхПользователейExtendedTooltip + 111 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СписокАктивныхПользователей + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ОбновитьТекущийСписок + 46 + true + true + + true + + false + + ОбновитьТекущийСписокExtendedTooltip + 112 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОбновитьТекущийСписок + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ВывестиСписок + 82 + true + true + + true + + false + + ВывестиСписокExtendedTooltip + 113 + true + true + + true + + Label + true + true + + Left + + + Form.Item.Журнал.StandardCommand.OutputList + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ИзменитьФорму1 + 104 + true + true + + true + + false + + ИзменитьФорму1ExtendedTooltip + 114 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Auto + true + true + true + UserCmds + + true + true + + true + + true + + ОсновнаяКоманднаяПанельExtendedTooltip + 105 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + + + + ГруппаОтбора + 103 + + КоличествоПоказываемыхСобытий + 101 + + <key>ru</key> + <value>Количество отбираемых событий</value> + + true + true + + true + + + + КоличествоПоказываемыхСобытий + + + + ru + Количество отбираемых с учетом установленного отбора последних в хронологическом порядке событий + + + OnChange + КоличествоПоказываемыхСобытийПриИзменении + + + КоличествоПоказываемыхСобытийExtendedTooltip + 116 + true + true + + true + + Label + true + true + + Left + + + + КоличествоПоказываемыхСобытий_КонтекстноеМеню + 102 + true + true + + true + + true + + InputField + Right + Enter + true + Left + true + + true + true + true + true + + ru + ЧГ=0 + + true + + 1 + + + + ru + 200 событий + + + 200 + + + + + ru + 500 событий + + + 500 + + + + + ru + 1000 событий + + + 1000 + + + + + ru + 10000 событий + + + 10000 + + + + Style.BorderColor + + + + + ПредставлениеОтбора + 35 + + <key>ru</key> + <value>Отбор</value> + + true + true + + true + + + + ПредставлениеОтбора + + + + ПредставлениеОтбораExtendedTooltip + 117 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеОтбора_КонтекстноеМеню + 36 + true + true + + true + + true + + LabelField + Enter + true + Left + true + Left + + 60 + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа отбора</value> + + + ru + Группа отбора + + + ГруппаОтбораExtendedTooltip + 115 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + LeftNarrow + Auto + DontUse + + + + Журнал + 48 + + <key>ru</key> + <value>Журнал событий</value> + + true + true + + true + + + Журнал + + true + false + None + Add + Change + Copy + CopyToClipboard + EndEdit + MoveDown + MoveUp + + Дата + 51 + + <key>ru</key> + <value>Дата, время</value> + + true + true + + true + + + + Журнал.Дата + + + + ДатаExtendedTooltip + 122 + true + true + + true + + Label + true + true + + Left + + + + Дата_КонтекстноеМеню + 52 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ГруппаПользовательКомпьютерПриложение + 53 + + ИмяПользователя + 54 + + <key>ru</key> + <value>Пользователь</value> + + true + true + + true + + + + Журнал.ИмяПользователя + + + + ИмяПользователяExtendedTooltip + 124 + true + true + + true + + Label + true + true + + Left + + + + ИмяПользователя_КонтекстноеМеню + 55 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Компьютер + 56 + + <key>ru</key> + <value>Компьютер</value> + + true + true + + true + + + + Журнал.Компьютер + + + + КомпьютерExtendedTooltip + 125 + true + true + + true + + Label + true + true + + Left + + + + Компьютер_КонтекстноеМеню + 57 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ГруппаПриложение + 58 + + ПредставлениеПриложения + 59 + + <key>ru</key> + <value>Приложение</value> + + true + true + + true + + + + Журнал.ПредставлениеПриложения + + + + ПредставлениеПриложенияExtendedTooltip + 127 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеПриложения_КонтекстноеМеню + 60 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Сеанс + 80 + true + true + + true + + + + Журнал.Сеанс + + + + СеансExtendedTooltip + 128 + true + true + + true + + Label + true + true + + Left + + + + Сеанс_КонтекстноеМеню + 81 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + ГруппаПриложениеExtendedTooltip + 126 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + true + + + true + true + + true + + + ГруппаПользовательКомпьютерПриложениеExtendedTooltip + 123 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + Vertical + true + + + + ГруппаСобытие + 63 + + ПредставлениеСобытия + 64 + + <key>ru</key> + <value>Событие</value> + + true + true + + true + + + + Журнал.ПредставлениеСобытия + + + + ПредставлениеСобытияExtendedTooltip + 130 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеСобытия_КонтекстноеМеню + 65 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Комментарий + 66 + + <key>ru</key> + <value>Комментарий</value> + + true + true + + true + + + + Журнал.Комментарий + + + + КомментарийExtendedTooltip + 131 + true + true + + true + + Label + true + true + + Left + + + + Комментарий_КонтекстноеМеню + 67 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + ГруппаСобытиеExtendedTooltip + 129 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + Vertical + true + + + + ГруппаТранзакция + 68 + + СтатусТранзакции + 69 + + <key>ru</key> + <value>Статус транзакции</value> + + true + true + + true + + + + Журнал.СтатусТранзакции + + + + СтатусТранзакцииExtendedTooltip + 133 + true + true + + true + + Label + true + true + + Left + + + + СтатусТранзакции_КонтекстноеМеню + 70 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Транзакция + 71 + true + true + + true + + + + Журнал.Транзакция + + + + ТранзакцияExtendedTooltip + 134 + true + true + + true + + Label + true + true + + Left + + + + Транзакция_КонтекстноеМеню + 72 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + ГруппаТранзакцияExtendedTooltip + 132 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + Vertical + true + + + + ГруппаДанные + 73 + + Метаданные + 74 + true + true + + true + + + + Журнал.ПредставлениеМетаданных + + + + МетаданныеExtendedTooltip + 136 + true + true + + true + + Label + true + true + + Left + + + + Метаданные_КонтекстноеМеню + 75 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Данные + 76 + true + true + + true + + + + Журнал.Данные + + + + ДанныеExtendedTooltip + 137 + true + true + + true + + Label + true + true + + Left + + + + Данные_КонтекстноеМеню + 77 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ПредставлениеДанных + 78 + true + true + + true + + + + Журнал.ПредставлениеДанных + + + + ПредставлениеДанныхExtendedTooltip + 138 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеДанных_КонтекстноеМеню + 79 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + ГруппаДанныеExtendedTooltip + 135 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + Vertical + true + + + + ГруппаСоединение + 84 + + ГруппаСервер + 93 + + РабочийСервер + 85 + true + true + + true + + + + Журнал.РабочийСервер + + + + РабочийСерверExtendedTooltip + 141 + true + true + + true + + Label + true + true + + Left + + + + РабочийСервер_КонтекстноеМеню + 86 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Соединение + 87 + true + true + + true + + + + Журнал.Соединение + + + + СоединениеExtendedTooltip + 142 + true + true + + true + + Label + true + true + + Left + + + + Соединение_КонтекстноеМеню + 88 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа сервер</value> + + + ru + Группа сервер + + + ГруппаСерверExtendedTooltip + 140 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + true + + + + ГруппаПорт + 94 + + ОсновнойIPПорт + 89 + true + true + + true + + + + Журнал.ОсновнойIPПорт + + + + ОсновнойIPПортExtendedTooltip + 144 + true + true + + true + + Label + true + true + + Left + + + + ОсновнойIPПорт_КонтекстноеМеню + 90 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ВспомогательныйIPПорт + 91 + true + true + + true + + + + Журнал.ВспомогательныйIPПорт + + + + ВспомогательныйIPПортExtendedTooltip + 145 + true + true + + true + + Label + true + true + + Left + + + + ВспомогательныйIPПорт_КонтекстноеМеню + 92 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа порт</value> + + + ru + Группа порт + + + ГруппаПортExtendedTooltip + 143 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + true + + + true + true + + + <key>ru</key> + <value>Группа соединение</value> + + + ru + Группа соединение + + + ГруппаСоединениеExtendedTooltip + 139 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + Vertical + true + + + None + + Журнал_КоманднаяПанель + 50 + true + true + + true + + Left + + + Selection + ЖурналВыбор + + + true + true + + true + + ЖурналСтрокаПоиска + 146 + + ЖурналСтрокаПоискаРасширеннаяПодсказка + 148 + true + true + + true + + Label + true + true + + Left + + + + ЖурналСтрокаПоискаКонтекстноеМеню + 147 + true + true + + true + + true + + ЖурналСтрокаПоиска + + true + + + + true + true + + true + + ЖурналСостояниеПросмотра + 149 + + ЖурналСостояниеПросмотраРасширеннаяПодсказка + 151 + true + true + + true + + Label + true + true + + Left + + + + ЖурналСостояниеПросмотраКонтекстноеМеню + 150 + true + true + + true + + true + + ViewStatusAddition + ЖурналСостояниеПросмотра + + true + Left + + + + true + true + + true + + ЖурналУправлениеПоиском + 152 + + ЖурналУправлениеПоискомРасширеннаяПодсказка + 154 + true + true + + true + + Label + true + true + + Left + + + + ЖурналУправлениеПоискомКонтекстноеМеню + 153 + true + true + + true + + true + + SearchControlAddition + ЖурналУправлениеПоиском + + true + + + + ЖурналExtendedTooltip + 121 + true + true + + true + + Label + true + true + + Left + + + + Журнал_КонтекстноеМеню + 49 + + ПросмотрТекущегоСобытияВОтдельномОкне2 + 96 + true + true + + true + + false + + ПросмотрТекущегоСобытияВОтдельномОкне2ExtendedTooltip + 118 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПросмотрТекущегоСобытияВОтдельномОкне + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ОткрытьДанныеДляПросмотра1 + 97 + true + true + + true + + false + + ОткрытьДанныеДляПросмотра1ExtendedTooltip + 119 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОткрытьДанныеДляПросмотра + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ИзменитьФорму + 95 + true + true + + true + + false + + ИзменитьФормуExtendedTooltip + 120 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.CustomizeForm + Auto + false + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + true + + true + 90 + true + true + 15 + true +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + Auto + End + Enable + true + true + + Журнал.НомерРисунка + + + CommonPicture.КоллекцияВидыСобытийЖурналаРегистрации + + + Style.BorderColor + + None + None + None + +
+ None + + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + Abort + Cancel + Close + Help + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + true + Vertical + true + true + UseIfNecessary + true + true + + Объект + 1 + + DataProcessorObject.ЖурналРегистрации + + + true + + + true + +
true
+
+ + ПредставлениеОтбора + + <key>ru</key> + <value>Представление отбора</value> + + 3 + + String + + + + true + + + true + + + + Журнал + + <key>ru</key> + <value>Журнал событий</value> + + 4 + + ValueTable + + + true + + + true + + + ВспомогательныйIPПорт + + <key>ru</key> + <value>Вспомогательный IP Порт</value> + + 1 + + Number + + 10 + + + + true + + + true + + + + Данные + + <key>ru</key> + <value>Данные</value> + + 2 + + AnyRef + + + true + + + true + + + + Дата + + <key>ru</key> + <value>Дата</value> + + 3 + + Date + + + + true + + + true + + + + ИмяПользователя + + <key>ru</key> + <value>Имя пользователя</value> + + 4 + + String + + + + true + + + true + + + + ИмяПриложения + + <key>ru</key> + <value>Имя приложения</value> + + 5 + + String + + + + true + + + true + + + + Комментарий + + <key>ru</key> + <value>Комментарий</value> + + 6 + + String + + + + true + + + true + + + + Компьютер + + <key>ru</key> + <value>Компьютер</value> + + 7 + + String + + + + true + + + true + + + + Метаданные + + <key>ru</key> + <value>Метаданные</value> + + 8 + + String + + + + true + + + true + + + + ОсновнойIPПорт + + <key>ru</key> + <value>Основной IPПорт</value> + + 9 + + Number + + 10 + + + + true + + + true + + + + Пользователь + + <key>ru</key> + <value>Пользователь</value> + + 10 + + String + + + + true + + + true + + + + ПредставлениеДанных + + <key>ru</key> + <value>Представление данных</value> + + 11 + + String + + + + true + + + true + + + + ПредставлениеМетаданных + + <key>ru</key> + <value>Представление метаданных</value> + + 12 + + String + + + + true + + + true + + + + ПредставлениеПриложения + + <key>ru</key> + <value>Представление приложения</value> + + 13 + + String + + + + true + + + true + + + + ПредставлениеСобытия + + <key>ru</key> + <value>Представление события</value> + + 14 + + String + + + + true + + + true + + + + РабочийСервер + + <key>ru</key> + <value>Рабочий сервер</value> + + 15 + + String + + + + true + + + true + + + + Сеанс + + <key>ru</key> + <value>Сеанс</value> + + 16 + + Number + + 10 + + + + true + + + true + + + + Событие + + <key>ru</key> + <value>Событие</value> + + 17 + + String + + + + true + + + true + + + + Соединение + + <key>ru</key> + <value>Соединение</value> + + 18 + + Number + + 10 + + + + true + + + true + + + + СтатусТранзакции + + <key>ru</key> + <value>Статус транзакции</value> + + 19 + + String + + + + true + + + true + + + + Транзакция + + <key>ru</key> + <value>Транзакция</value> + + 20 + + String + + + + true + + + true + + + + Уровень + + <key>ru</key> + <value>Уровень</value> + + 21 + + String + + + + true + + + true + + + + НомерРисунка + + <key>ru</key> + <value>Номер рисунка</value> + + 22 + + Number + + 1 + + + + true + + + true + + + + + ОтборЖурналаРегистрации + + <key>ru</key> + <value>Отбор журнала регистрации</value> + + 5 + + + true + + + true + + + + КоличествоПоказываемыхСобытий + + <key>ru</key> + <value>Количество показываемых событий</value> + + 7 + + Number + + 10 + true + + + + true + + + true + + ShowError + + + ИнтервалДат + + <key>ru</key> + <value>Интервал дат</value> + + 2 + + StandardPeriod + + + true + + + true + + + + ПросмотрТекущегоСобытияВОтдельномОкне + + <key>ru</key> + <value>Просмотр текущего события</value> + + 1 + + ru + Просмотр текущего события в отдельном окне + + + true + + + StdPicture.Properties + + + + ПросмотрТекущегоСобытияВОтдельномОкне + + + + + ОткрытьДанныеДляПросмотра + + <key>ru</key> + <value>Открыть данные для просмотра</value> + + 2 + + ru + Открыть данные для просмотра + + + true + + + StdPicture.ShowData + + + + ОткрытьДанныеДляПросмотра + + + + + УстановитьИнтервалДатДляПросмотра + + <key>ru</key> + <value>Установить интервал дат для просмотра</value> + + 3 + + ru + Установить интервал дат для просмотра + + + true + + + StdPicture.SetDateInterval + + + + УстановитьИнтервалДатДляПросмотра + + + Auto + + + УстановитьОтбор + + <key>ru</key> + <value>Установить отбор</value> + + 4 + + ru + Установить отбор + + + true + + + StdPicture.FilterAndSort + + + + ВыполнитьУстановитьОтбор + + + Auto + + + ОтключитьОтбор + + <key>ru</key> + <value>Отключить отбор</value> + + 6 + + ru + Отключить отбор + + + true + + + StdPicture.ClearFilter + + + + ОтключитьОтбор + + + Auto + + + СписокАктивныхПользователей + + <key>ru</key> + <value>Список активных пользователей</value> + + 7 + + ru + Список активных пользователей + + + true + + + StdPicture.ActiveUsers + + + + СписокАктивныхПользователей + + + Auto + + + ОбновитьТекущийСписок + + <key>ru</key> + <value>Обновить текущий список</value> + + 8 + + ru + Обновить текущий список + + + true + + + StdPicture.Refresh + + + + ОбновитьТекущийСписок + + + Auto + + + Пользователь + + true + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Module.bsl" new file mode 100644 index 000000000..84b4bb81d --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Module.bsl" @@ -0,0 +1,292 @@ +////////////////////////////////////////////////////////////////////////////////////////// +// Обработчики событий + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + ОтборЖурналаРегистрации = Новый Структура; + СтруктураПараметровОтбора = ПолучитьЗначенияОтбораЖурналаРегистрации("Событие"); + ЗначенияОтбораПоСобытию = СтруктураПараметровОтбора.Событие; + СписокСобытий = Новый СписокЗначений; + Для каждого ЗначениеОтбораПоСобытию Из ЗначенияОтбораПоСобытию Цикл + Если Найти(ЗначениеОтбораПоСобытию.Значение, "Транзакция.") = 1 Тогда + Продолжить; + КонецЕсли; + Если Найти(ЗначениеОтбораПоСобытию.Значение, "Transaction.") = 1 Тогда + Продолжить; + КонецЕсли; + СписокСобытий.Добавить(ЗначениеОтбораПоСобытию.Ключ, СтрЗаменить(ЗначениеОтбораПоСобытию.Значение, ". ", ".")); + КонецЦикла; + Если СписокСобытий.Количество() <> 0 Тогда + ОтборЖурналаРегистрации.Вставить("Событие", СписокСобытий); + КонецЕсли; + + Если Параметры.Пользователь <> Неопределено Тогда + ИмяПользователя = Параметры.Пользователь; + ОтборПоПользователю = Новый СписокЗначений; + ПоПользователю = ОтборПоПользователю.Добавить(ИмяПользователя); + Если ПустаяСтрока(ИмяПользователя) Тогда + ПоПользователю.Представление = НСтр("ru = '<Пользователь по умолчанию>'", "ru"); + Иначе + ПоПользователю.Представление = ИмяПользователя; + КонецЕсли; + + ОтборЖурналаРегистрации.Вставить("Пользователь", ОтборПоПользователю); + КонецЕсли; + + КоличествоПоказываемыхСобытий = 200; + + ПрочитатьЖурнал(ОтборЖурналаРегистрации); +КонецПроцедуры + +&НаКлиенте +Процедура ПросмотрТекущегоСобытияВОтдельномОкне() + Данные = Элементы.Журнал.ТекущиеДанные; + Если Данные = Неопределено Тогда + Возврат; + КонецЕсли; + ФормаСобытия = ПолучитьФорму("Обработка.ЖурналРегистрации.Форма.ФормаСобытия"); + ФормаСобытия.ДатаВремя = Данные.Дата; + ФормаСобытия.Пользователь = Данные.ИмяПользователя; + ФормаСобытия.Приложение = Данные.ПредставлениеПриложения; + ФормаСобытия.Компьютер = Данные.Компьютер; + ФормаСобытия.Событие = Данные.ПредставлениеСобытия; + ФормаСобытия.Комментарий = Данные.Комментарий; + ФормаСобытия.Метаданные = Данные.ПредставлениеМетаданных; + ФормаСобытия.Данные = Данные.Данные; + ФормаСобытия.ПредставлениеДанных = Данные.ПредставлениеДанных; + ФормаСобытия.ИдентификаторТранзакции = Данные.Транзакция; + ФормаСобытия.СтатусЗавершенияТранзакции = Данные.СтатусТранзакции; + ФормаСобытия.Сеанс = Данные.Сеанс; + ФормаСобытия.РабочийСервер = Данные.РабочийСервер; + ФормаСобытия.ОсновнойIPПорт = Данные.ОсновнойIPПорт; + ФормаСобытия.ВспомогательныйIPПорт = Данные.ВспомогательныйIPПорт; + ФормаСобытия.Открыть(); +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьДанныеДляПросмотра() + ТекущиеДанные = Элементы.Журнал.ТекущиеДанные; + Если ТекущиеДанные = Неопределено ИЛИ ТекущиеДанные.Данные = Неопределено Тогда + Возврат; + КонецЕсли; + + ПоказатьЗначение( ,ТекущиеДанные.Данные); +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьИнтервалДатДляПросмотра() + Диалог = Новый ДиалогРедактированияСтандартногоПериода; + ДатаНачала = Неопределено; + ДатаОкончания = Неопределено; + ОтборЖурналаРегистрации.Свойство("ДатаНачала", ДатаНачала); + ОтборЖурналаРегистрации.Свойство("ДатаОкончания", ДатаОкончания); + ДатаНачала = ?(ТипЗнч(ДатаНачала) = Тип("Дата"), ДатаНачала, '00010101000000'); + ДатаОкончания = ?(ТипЗнч(ДатаОкончания) = Тип("Дата"), ДатаОкончания, '00010101000000'); + Если ИнтервалДат.ДатаНачала <> ДатаНачала Тогда + ИнтервалДат.ДатаНачала = ДатаНачала; + КонецЕсли; + Если ИнтервалДат.ДатаОкончания <> ДатаОкончания Тогда + ИнтервалДат.ДатаОкончания = ДатаОкончания; + КонецЕсли; + Диалог.Период = ИнтервалДат; + Диалог.Показать( + Новый ОписаниеОповещения( + "УстановитьИнтервалДатДляПросмотраЗавершение", ЭтотОбъект)); +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьИнтервалДатДляПросмотраЗавершение(Результат, Параметры) Экспорт + НовыйИнтервалДат = Результат; + Если НЕ НовыйИнтервалДат = Неопределено Тогда + Если НовыйИнтервалДат.ДатаНачала = '00010101000000' Тогда + ОтборЖурналаРегистрации.Удалить("ДатаНачала"); + Иначе + ОтборЖурналаРегистрации.Вставить("ДатаНачала", НовыйИнтервалДат.ДатаНачала); + КонецЕсли; + Если НовыйИнтервалДат.ДатаОкончания = '00010101000000' Тогда + ОтборЖурналаРегистрации.Удалить("ДатаОкончания"); + Иначе + ОтборЖурналаРегистрации.Вставить("ДатаОкончания", НовыйИнтервалДат.ДатаОкончания); + КонецЕсли; + ОбновитьТекущийСписок(); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьУстановитьОтбор() + + ПараметрФормы = Новый Структура("Отбор", ОтборЖурналаРегистрации); + Оповещение = Новый ОписаниеОповещения( + "ВыполнитьУстановитьОтборЗавершение", ЭтотОбъект); + ОткрытьФорму("Обработка.ЖурналРегистрации.Форма.ОтборЖурналаРегистрации", + ПараметрФормы,,,,, Оповещение); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьУстановитьОтборЗавершение(Результат, Параметры) Экспорт + + Если Не Результат = Неопределено Тогда + ОтборЖурналаРегистрации = Результат; + ОбновитьТекущийСписок(); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОтключитьОтбор() + ОтборЖурналаРегистрации.Очистить(); + ОбновитьТекущийСписок(); +КонецПроцедуры + +&НаКлиенте +Процедура СписокАктивныхПользователей() + ОткрытьФорму("Обработка.СписокАктивныхПользователей.Форма"); +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьТекущийСписок() Экспорт + ПрочитатьЖурнал(ОтборЖурналаРегистрации); + // Позиционирование в конец списка + Если Журнал.Количество() Тогда + Элементы.Журнал.ТекущаяСтрока = Журнал[Журнал.Количество() - 1].ПолучитьИдентификатор(); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура КоличествоПоказываемыхСобытийПриИзменении(Элемент) + ОбновитьТекущийСписок(); +КонецПроцедуры + +&НаКлиенте +Процедура ЖурналВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + ТекущиеДанные = Элементы.Журнал.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + Если Поле.Имя = "Данные" ИЛИ Поле.Имя = "ПредставлениеДанных" Тогда + Если ТекущиеДанные.Данные <> Неопределено И (НЕ ТекущиеДанные.Данные.Пустая()) Тогда + ОткрытьДанныеДляПросмотра(); + Возврат; + КонецЕсли; + КонецЕсли; + ПросмотрТекущегоСобытияВОтдельномОкне(); +КонецПроцедуры + +/////////////////////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ + +&НаСервере +Процедура ПрочитатьЖурнал(Знач ОтборЖурналаНаКлиенте) + // Выгрузка ототборованных событий в таблицу + Отбор = Новый Структура; + Для каждого ЭлементОтбора Из ОтборЖурналаНаКлиенте Цикл + Отбор.Вставить(ЭлементОтбора.Ключ, ЭлементОтбора.Значение); + КонецЦикла; + ТаблицаЗначенийСобытия = Новый ТаблицаЗначений; + ПреобразованиеОтбора(Отбор); + ВыгрузитьЖурналРегистрации(ТаблицаЗначенийСобытия, Отбор, , , КоличествоПоказываемыхСобытий); + ТаблицаЗначенийСобытия.Колонки.Добавить("НомерРисунка", Новый ОписаниеТипов("Число")); + Для каждого СтрокаТаблицыЗначенийСобытия Из ТаблицаЗначенийСобытия Цикл + СтрокаТаблицыЗначенийСобытия.НомерРисунка = -1; + Если СтрокаТаблицыЗначенийСобытия.Уровень = УровеньЖурналаРегистрации.Информация Тогда + СтрокаТаблицыЗначенийСобытия.НомерРисунка = 0; + ИначеЕсли СтрокаТаблицыЗначенийСобытия.Уровень = УровеньЖурналаРегистрации.Предупреждение Тогда + СтрокаТаблицыЗначенийСобытия.НомерРисунка = 1; + ИначеЕсли СтрокаТаблицыЗначенийСобытия.Уровень = УровеньЖурналаРегистрации.Ошибка Тогда + СтрокаТаблицыЗначенийСобытия.НомерРисунка = 2; + КонецЕсли; + СтрокаТаблицыЗначенийСобытия.Пользователь = СтрокаТаблицыЗначенийСобытия.ИмяПользователя; + Если СтрокаТаблицыЗначенийСобытия.ИмяПользователя = "" Тогда + СтрокаТаблицыЗначенийСобытия.ИмяПользователя = НСтр("ru = '<Пользователь по умолчанию>'", "ru"); + КонецЕсли; + КонецЦикла; + + // Преобразование в универсальный объект + ЗначениеВРеквизитФормы(ТаблицаЗначенийСобытия, "Журнал"); + // Показать параметры отбора + СформироватьПредставлениеОтбора(); + +КонецПроцедуры + +&НаСервере +Процедура ПреобразованиеОтбора(Отбор) + Для каждого ЭлементОтбора Из Отбор Цикл + Если ТипЗнч(ЭлементОтбора.Значение) = Тип("СписокЗначений") Тогда + ПреобразованиеЭлементаОтбора(Отбор, ЭлементОтбора); + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +&НаСервере +Процедура ПреобразованиеЭлементаОтбора(Отбор, ЭлементОтбора) + // Эта процедура вызывается, если элемент отбора является списком значений, + // в отборе же должен быть массив значений. Преобразуем список в массив + НовоеЗначение = Новый Массив; + + Для каждого ЗначениеИзСписка Из ЭлементОтбора.Значение Цикл + Если ЭлементОтбора.Ключ = "Уровень" Тогда + // Уровни сообщений представлены строкой, требуется преобразование в значение перечисления + Обработка = РеквизитФормыВЗначение("Объект"); + НовоеЗначение.Добавить(Обработка.УровеньЖурналаРегистрацииЗначениеПоИмени(ЗначениеИзСписка.Значение)); + ИначеЕсли ЭлементОтбора.Ключ = "СтатусТранзакции" Тогда + // Статусы транзакций представлены строкой, требуется преобразование в значение перечисления + Обработка = РеквизитФормыВЗначение("Объект"); + НовоеЗначение.Добавить(Обработка.СтатусТранзакцииЗаписиЖурналаРегистрацииЗначениеПоИмени(ЗначениеИзСписка.Значение)); + Иначе + НовоеЗначение.Добавить(ЗначениеИзСписка.Значение); + КонецЕсли; + КонецЦикла; + + Отбор.Вставить(ЭлементОтбора.Ключ, НовоеЗначение); +КонецПроцедуры + +&НаСервере +Процедура СформироватьПредставлениеОтбора() + ПредставлениеОтбора = ""; + // Интервал + ДатаНачалаИнтервала = Неопределено; + ДатаОкончанияИнтервала = Неопределено; + Если НЕ ОтборЖурналаРегистрации.Свойство("ДатаНачала", ДатаНачалаИнтервала) ИЛИ + ДатаНачалаИнтервала = Неопределено Тогда + ДатаНачалаИнтервала = '00010101000000'; + КонецЕсли; + Если НЕ ОтборЖурналаРегистрации.Свойство("ДатаОкончания", ДатаОкончанияИнтервала) ИЛИ + ДатаОкончанияИнтервала = Неопределено Тогда + ДатаОкончанияИнтервала = '00010101000000'; + КонецЕсли; + Если НЕ (ДатаНачалаИнтервала = '00010101000000' И ДатаОкончанияИнтервала = '00010101000000') Тогда + ПредставлениеОтбора = НСтр("ru = 'Интервал ('", "ru"); + СтрБезОграничений = НСтр("ru = 'без ограничений'", "ru"); + ПредставлениеОтбора = ПредставлениеОтбора + Формат(ДатаНачалаИнтервала, "ДЛФ=DT; ДП='" + СтрБезОграничений + "'") + " - "; + ПредставлениеОтбора = ПредставлениеОтбора + Формат(ДатаОкончанияИнтервала, "ДЛФ=DT; ДП='" + СтрБезОграничений + "'") + ")"; + КонецЕсли; + + // Остальные ограничения указываем просто по представлением, без указания значений ограничения + Для каждого ЭлементОтбора Из ОтборЖурналаРегистрации Цикл + ИмяОграничения = ЭлементОтбора.Ключ; + Если ИмяОграничения = "ДатаНачала" ИЛИ ИмяОграничения = "ДатаОкончания" Тогда + Продолжить; // Интервал уже выводили + КонецЕсли; + + // Для некоторых ограничений меняем представление + Если ИмяОграничения = "ИмяПриложения" Тогда + ИмяОграничения = НСтр("ru = 'Приложение'", "ru"); + ИначеЕсли ИмяОграничения = "СтатусТранзакции" Тогда + ИмяОграничения = ИмяОграничения = НСтр("ru = 'Статус транзакции'", "ru"); + ИначеЕсли ИмяОграничения = "ПредставлениеДанных" Тогда + ИмяОграничения = ИмяОграничения = НСтр("ru = 'Представление данных'", "ru"); + ИначеЕсли ИмяОграничения = "РабочийСервер" Тогда + ИмяОграничения = ИмяОграничения = НСтр("ru = 'Рабочий сервер'", "ru"); + ИначеЕсли ИмяОграничения = "ОсновнойIPПорт" Тогда + ИмяОграничения = ИмяОграничения = НСтр("ru = 'Основной IP порт'", "ru"); + ИначеЕсли ИмяОграничения = "ВспомогательныйIPПорт" Тогда + ИмяОграничения = ИмяОграничения = НСтр("ru = 'Вспомогательный IP порт'", "ru"); + КонецЕсли; + + Если НЕ ПустаяСтрока(ПредставлениеОтбора) Тогда + ПредставлениеОтбора = ПредставлениеОтбора + "; "; + КонецЕсли; + ПредставлениеОтбора = ПредставлениеОтбора + ИмяОграничения; + КонецЦикла; +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\236\321\202\320\261\320\276\321\200\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\236\321\202\320\261\320\276\321\200\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Form.form" new file mode 100644 index 000000000..af7c04521 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\236\321\202\320\261\320\276\321\200\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Form.form" @@ -0,0 +1,3004 @@ + + + + <key>ru</key> + <value>Настройка отбора журнала регистрации событий</value> + + + ГруппаДаты + 4 + + ДатаНачала + 7 + true + true + + true + + + + ДатаНачала + + + + ДатаНачалаExtendedTooltip + 194 + true + true + + true + + Label + true + true + + Left + + + + ДатаНачалаКонтекстноеМеню + 8 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + + + + ДатаОкончания + 5 + true + true + + true + + + + ДатаОкончания + + + + ДатаОкончанияExtendedTooltip + 195 + true + true + + true + + Label + true + true + + Left + + + + ДатаОкончанияКонтекстноеМеню + 6 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + true + + ГруппаДатыExtendedTooltip + 193 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ГруппаОсновныеСвойства + 149 + + ГруппаОсновныеСтроковые + 156 + + Пользователи + 150 + true + true + + true + + + + Пользователи + + + + ПользователиExtendedTooltip + 198 + true + true + + true + + Label + true + true + + Left + + + + ПользователиКонтекстноеМеню + 151 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ИсполнениеВыбора + + true + true + true + true + true + + Style.BorderColor + + + + + События + 171 + true + true + + true + + + + События + + + + СобытияExtendedTooltip + 199 + true + true + + true + + Label + true + true + + Left + + + + СобытияКонтекстноеМеню + 172 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ИсполнениеВыбора + + true + true + true + true + true + + Style.BorderColor + + + + + Компьютеры + 152 + true + true + + true + + + + Компьютеры + + + + КомпьютерыExtendedTooltip + 200 + true + true + + true + + Label + true + true + + Left + + + + КомпьютерыКонтекстноеМеню + 153 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ИсполнениеВыбора + + true + true + true + true + true + + Style.BorderColor + + + + + Приложения + 154 + true + true + + true + + + + Приложения + + + + ПриложенияExtendedTooltip + 201 + true + true + + true + + Label + true + true + + Left + + + + ПриложенияКонтекстноеМеню + 155 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ИсполнениеВыбора + + true + true + true + true + true + + Style.BorderColor + + + + + Комментарий + 43 + true + true + + true + + + + Комментарий + + + + КомментарийExtendedTooltip + 202 + true + true + + true + + Label + true + true + + Left + + + + КомментарийКонтекстноеМеню + 44 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа основные строковые</value> + + + ru + Группа основные строковые + + + ГруппаОсновныеСтроковыеExtendedTooltip + 197 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ГруппаВажность + 37 + + ГруппаВажностьШапка + 173 + + НадписьВажность + 189 + + <key>ru</key> + <value>Важность:</value> + + true + true + + true + + + ru + Надпись важность + + + НадписьВажностьExtendedTooltip + 205 + true + true + + true + + Label + true + true + + Left + + + + НадписьВажностьКонтекстноеМеню + 190 + true + true + + true + + true + + Label + true + true + false + + Left + + + + ВажностьПанель + 178 + + ГруппаКнопокВажность + 256 + + ВажностьУстановитьВсе + 179 + true + true + + true + + false + + ВажностьУстановитьВсеExtendedTooltip + 207 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ВажностьУстановитьВсе + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ВажностьСнятьВсе + 180 + true + true + + true + + false + + ВажностьСнятьВсеExtendedTooltip + 208 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ВажностьСнятьВсе + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Группа кнопок важность</value> + + + ru + Группа кнопок важность + + + ГруппаКнопокВажностьРасширеннаяПодсказка + 257 + true + true + + true + + Label + true + true + + Left + + + + Compact + + + true + true + + true + + + <key>ru</key> + <value>Важность панель</value> + + + ru + Важность панель + + 8 + + ВажностьПанельExtendedTooltip + 206 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + <key>ru</key> + <value>Группа важность шапка</value> + + + ru + Группа важность шапка + + + ГруппаВажностьШапкаExtendedTooltip + 204 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + Важность + 41 + true + true + + true + + + Важность + + false + None + + ПометкаВажности + 108 + true + true + + true + + + + Важность.Check + + + + ПометкаВажностиExtendedTooltip + 210 + true + true + + true + + Label + true + true + + Left + + + + ПометкаВажностиКонтекстноеМеню + 109 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + Left + + + + ЗначениеВажности + 110 + true + true + + true + + + + Важность.Value + + + + ЗначениеВажностиExtendedTooltip + 211 + true + true + + true + + Label + true + true + + Left + + + + ЗначениеВажностиКонтекстноеМеню + 111 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + None + + ВажностьКоманднаяПанель + 143 + true + true + + true + + Right + + + true + true + + true + + ВажностьСтрокаПоиска + 238 + + ВажностьСтрокаПоискаРасширеннаяПодсказка + 240 + true + true + + true + + Label + true + true + + Left + + + + ВажностьСтрокаПоискаКонтекстноеМеню + 239 + true + true + + true + + true + + ВажностьСтрокаПоиска + + true + + + + true + true + + true + + ВажностьСостояниеПросмотра + 241 + + ВажностьСостояниеПросмотраРасширеннаяПодсказка + 243 + true + true + + true + + Label + true + true + + Left + + + + ВажностьСостояниеПросмотраКонтекстноеМеню + 242 + true + true + + true + + true + + ViewStatusAddition + ВажностьСостояниеПросмотра + + true + Left + + + + true + true + + true + + ВажностьУправлениеПоиском + 244 + + ВажностьУправлениеПоискомРасширеннаяПодсказка + 246 + true + true + + true + + Label + true + true + + Left + + + + ВажностьУправлениеПоискомКонтекстноеМеню + 245 + true + true + + true + + true + + SearchControlAddition + ВажностьУправлениеПоиском + + true + + + + ВажностьExtendedTooltip + 209 + true + true + + true + + Label + true + true + + Left + + + + ВажностьКонтекстноеМеню + 42 + true + true + + true + + true + + true + true + 4 + true + Row + 1 + 1 + AutoUse + AutoUse + Auto + Auto + true + + Style.BorderColor + + None + None + None + + true + true + + true + + + <key>ru</key> + <value>Важность:</value> + + + ГруппаВажностьExtendedTooltip + 203 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + NormalSeparation + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Основные свойства</value> + + + ru + Основные свойства + + + ГруппаОсновныеСвойстваExtendedTooltip + 196 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + NormalSeparation + true + true + LeftWide + true + Auto + DontUse + + + + ГруппаДанныеСвойства + 161 + + Метаданные + 162 + true + true + + true + + + + Метаданные + + + + МетаданныеExtendedTooltip + 213 + true + true + + true + + Label + true + true + + Left + + + + МетаданныеКонтекстноеМеню + 163 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ИсполнениеВыбора + + true + true + true + true + true + + Style.BorderColor + + + + + Данные + 51 + true + true + + true + + + + Данные + + + + ДанныеExtendedTooltip + 214 + true + true + + true + + Label + true + true + + Left + + + + ДанныеКонтекстноеМеню + 52 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + + + + ПредставлениеДанных + 53 + true + true + + true + + + + ПредставлениеДанных + + + + ПредставлениеДанныхExtendedTooltip + 215 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеДанныхКонтекстноеМеню + 54 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Данные</value> + + + ru + Данные + + + ГруппаДанныеСвойстваExtendedTooltip + 212 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + NormalSeparation + true + true + true + Auto + DontUse + + + + ГруппаПрочиеСвойства + 164 + + ГруппаТранзакция + 56 + + ГруппаСтатусТранзакцииШапка + 181 + + НадписьСтатусТранзакции + 191 + + <key>ru</key> + <value>Статус транзакции:</value> + + true + true + + true + + + ru + Надпись статус транзакции + + + НадписьСтатусТранзакцииExtendedTooltip + 219 + true + true + + true + + Label + true + true + + Left + + + + НадписьСтатусТранзакцииКонтекстноеМеню + 192 + true + true + + true + + true + + Label + true + true + false + + Left + + + + СтатусТранзакцииПанель + 186 + + ГруппаКнопокСтатусТранзакции + 258 + + СтатусТранзакцииУстановитьВсе + 187 + true + true + + true + + false + + СтатусТранзакцииУстановитьВсеExtendedTooltip + 221 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СтатусТранзакцииУстановитьВсе + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + СтатусТранзакцииСнятьВсе + 188 + true + true + + true + + false + + СтатусТранзакцииСнятьВсеExtendedTooltip + 222 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СтатусТранзакцииСнятьВсе + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Группа кнопок статус транзакции</value> + + + ru + Группа кнопок статус транзакции + + + ГруппаКнопокСтатусТранзакцииРасширеннаяПодсказка + 259 + true + true + + true + + Label + true + true + + Left + + + + Compact + + + true + true + + true + + + <key>ru</key> + <value>Статус транзакции панель</value> + + + ru + Статус транзакции панель + + + СтатусТранзакцииПанельExtendedTooltip + 220 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + <key>ru</key> + <value>Группа статус транзакции шапка</value> + + + ru + Группа статус транзакции шапка + + + ГруппаСтатусТранзакцииШапкаExtendedTooltip + 218 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + СтатусТранзакции + 74 + true + true + + true + + + СтатусТранзакции + + false + None + + ПометкаСтатуса + 118 + true + true + + true + + + + СтатусТранзакции.Check + + + + ПометкаСтатусаExtendedTooltip + 224 + true + true + + true + + Label + true + true + + Left + + + + ПометкаСтатусаКонтекстноеМеню + 119 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + Left + + + + ЗначениеСтатуса + 120 + true + true + + true + + + + СтатусТранзакции.Value + + + + ЗначениеСтатусаExtendedTooltip + 225 + true + true + + true + + Label + true + true + + Left + + + + ЗначениеСтатусаКонтекстноеМеню + 121 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + None + + СтатусТранзакцииКоманднаяПанель + 145 + true + true + + true + + Right + + + true + true + + true + + СтатусТранзакцииСтрокаПоиска + 247 + + СтатусТранзакцииСтрокаПоискаРасширеннаяПодсказка + 249 + true + true + + true + + Label + true + true + + Left + + + + СтатусТранзакцииСтрокаПоискаКонтекстноеМеню + 248 + true + true + + true + + true + + СтатусТранзакцииСтрокаПоиска + + true + + + + true + true + + true + + СтатусТранзакцииСостояниеПросмотра + 250 + + СтатусТранзакцииСостояниеПросмотраРасширеннаяПодсказка + 252 + true + true + + true + + Label + true + true + + Left + + + + СтатусТранзакцииСостояниеПросмотраКонтекстноеМеню + 251 + true + true + + true + + true + + ViewStatusAddition + СтатусТранзакцииСостояниеПросмотра + + true + Left + + + + true + true + + true + + СтатусТранзакцииУправлениеПоиском + 253 + + СтатусТранзакцииУправлениеПоискомРасширеннаяПодсказка + 255 + true + true + + true + + Label + true + true + + Left + + + + СтатусТранзакцииУправлениеПоискомКонтекстноеМеню + 254 + true + true + + true + + true + + SearchControlAddition + СтатусТранзакцииУправлениеПоиском + + true + + + + СтатусТранзакцииExtendedTooltip + 223 + true + true + + true + + Label + true + true + + Left + + + + СтатусТранзакцииКонтекстноеМеню + 75 + true + true + + true + + true + + true + true + 5 + true + Row + 1 + 1 + AutoUse + AutoUse + Auto + Auto + true + + Style.BorderColor + + None + None + None + + + Транзакция + 76 + true + true + + true + + + + Транзакция + + + Left + + ТранзакцияExtendedTooltip + 226 + true + true + + true + + Label + true + true + + Left + + + + ТранзакцияКонтекстноеМеню + 77 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + ГруппаТранзакцияExtendedTooltip + 217 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ГруппаСоединения + 59 + + Соединения + 78 + true + true + + true + + + + СтрСоединения + + + Top + + СоединенияExtendedTooltip + 228 + true + true + + true + + Label + true + true + + Left + + + + СоединенияКонтекстноеМеню + 79 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + + Style.BorderColor + + + + + ГруппаСерверы + 60 + + РабочиеСерверы + 165 + true + true + + true + + + + РабочиеСерверы + + + Top + + РабочиеСерверыExtendedTooltip + 230 + true + true + + true + + Label + true + true + + Left + + + + РабочиеСерверыКонтекстноеМеню + 166 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ИсполнениеВыбора + + true + true + true + true + true + + Style.BorderColor + + + + + ОсновныеIPПорты + 167 + true + true + + true + + + + ОсновныеIPПорты + + + + ОсновныеIPПортыExtendedTooltip + 231 + true + true + + true + + Label + true + true + + Left + + + + ОсновныеIPПортыКонтекстноеМеню + 168 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ИсполнениеВыбора + + true + true + true + true + true + + Style.BorderColor + + + + + ВспомогательныеIPПорты + 169 + true + true + + true + + + + ВспомогательныеIPПорты + + + + ВспомогательныеIPПортыExtendedTooltip + 232 + true + true + + true + + Label + true + true + + Left + + + + ВспомогательныеIPПортыКонтекстноеМеню + 170 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ИсполнениеВыбора + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + ГруппаСерверыExtendedTooltip + 229 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + true + true + + true + + + ГруппаСоединенияExtendedTooltip + 227 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + NormalSeparation + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Прочие</value> + + + ru + Прочие + + + ГруппаПрочиеСвойстваExtendedTooltip + 216 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + NormalSeparation + true + true + LeftNarrow + true + Auto + DontUse + + + + ГруппаКнопокФормы + 28 + + ОК + 234 + true + true + + true + + + ОКРасширеннаяПодсказка + 235 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОК + Auto + true + true + true + UserCmds + + + Отмена + 236 + true + true + + true + + + ОтменаРасширеннаяПодсказка + 237 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Отмена + Auto + true + true + UserCmds + + true + true + + true + + + ГруппаКнопокФормыExtendedTooltip + 233 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + Top + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnOpen + ПриОткрытии + + + BeforeClose + ПередЗакрытием + + + OnCreateAtServer + ПриСозданииНаСервере + + 90 + LockWholeInterface + true + Vertical + true + true + true + true + true + + Объект + 1 + + DataProcessorObject.СписокАктивныхПользователей + + + true + + + true + +
true
+
+ + ДатаНачала + + <key>ru</key> + <value>Дата начала</value> + + 2 + + Date + + + + true + + + true + + + + ДатаОкончания + + <key>ru</key> + <value>Дата окончания</value> + + 3 + + Date + + + + true + + + true + + + + Пользователи + + <key>ru</key> + <value>Пользователи</value> + + 4 + + ValueList + + + true + + + true + + + Пользователи.Picture + + + Пользователи.Presentation + + + Пользователи.ValueType + + + + String + + + + + + События + + <key>ru</key> + <value>События</value> + + 5 + + ValueList + + + true + + + true + + + + + + + Компьютеры + + <key>ru</key> + <value>Компьютеры</value> + + 6 + + ValueList + + + true + + + true + + + Компьютеры.Picture + + + Компьютеры.Presentation + + + Компьютеры.ValueType + + + + String + + + + + + Приложения + + <key>ru</key> + <value>Приложения</value> + + 7 + + ValueList + + + true + + + true + + + Приложения.Picture + + + Приложения.ValueType + + + + String + + + + + + Важность + + <key>ru</key> + <value>Важность</value> + + 8 + + ValueList + + + true + + + true + + + Важность.Picture + + + Важность.ValueType + + + + String + + + + + + Комментарий + + <key>ru</key> + <value>Комментарий</value> + + 9 + + String + + + + true + + + true + + + + Метаданные + + <key>ru</key> + <value>Метаданные</value> + + 10 + + ValueList + + + true + + + true + + + Метаданные.Picture + + + Метаданные.Presentation + + + Метаданные.ValueType + + + + String + + + + + + Данные + + <key>ru</key> + <value>Данные</value> + + 11 + + AnyRef + + + true + + + true + + + + ПредставлениеДанных + + <key>ru</key> + <value>Представление данных</value> + + 12 + + String + + + + true + + + true + + + + СтатусТранзакции + + <key>ru</key> + <value>Статус транзакции</value> + + 13 + + ValueList + + + true + + + true + + + СтатусТранзакции.Picture + + + СтатусТранзакции.Presentation + + + СтатусТранзакции.ValueType + + + + String + + + + + + Транзакция + + <key>ru</key> + <value>Транзакция</value> + + 14 + + String + + + + true + + + true + + + + СтрСоединения + + <key>ru</key> + <value>Соединения</value> + + 15 + + ValueList + + + true + + + true + + + + Number + + + + + + Соединения + + <key>ru</key> + <value>Соединения</value> + + 16 + + ValueList + + + true + + + true + + + + Number + + 10 + + + + + + РабочиеСерверы + + <key>ru</key> + <value>Рабочие серверы</value> + + 17 + + ValueList + + + true + + + true + + + РабочиеСерверы.Picture + + + РабочиеСерверы.Presentation + + + РабочиеСерверы.ValueType + + + + String + + + + + + ОсновныеIPПорты + + <key>ru</key> + <value>Основные IP порты</value> + + 18 + + ValueList + + + true + + + true + + + ОсновныеIPПорты.Picture + + + ОсновныеIPПорты.Presentation + + + ОсновныеIPПорты.ValueType + + + + Number + + 10 + + + + + + ВспомогательныеIPПорты + + <key>ru</key> + <value>Вспомогательные IP порты</value> + + 19 + + ValueList + + + true + + + true + + + ВспомогательныеIPПорты.Picture + + + ВспомогательныеIPПорты.Presentation + + + ВспомогательныеIPПорты.ValueType + + + + Number + + 10 + + + + + + ОтборЖурналаРегистрации + + <key>ru</key> + <value>Отбор ЖР</value> + + 21 + + + true + + + true + + + + ВажностьУстановитьВсе + + <key>ru</key> + <value>Важность установить все</value> + + 9 + + ru + Важность установить все + + + true + + + StdPicture.CheckAll + + + + ВажностьУстановитьВсе + + + DontUse + + + ВажностьСнятьВсе + + <key>ru</key> + <value>Важность снять все</value> + + 10 + + ru + Важность снять все + + + true + + + StdPicture.UncheckAll + + + + ВажностьСнятьВсе + + + DontUse + + + СтатусТранзакцииУстановитьВсе + + <key>ru</key> + <value>Статус транзакции установить все</value> + + 13 + + ru + Статус транзакции установить все + + + true + + + StdPicture.CheckAll + + + + СтатусТранзакцииУстановитьВсе + + + DontUse + + + СтатусТранзакцииСнятьВсе + + <key>ru</key> + <value>Статус транзакции снять все</value> + + 14 + + ru + Статус транзакции снять все + + + true + + + StdPicture.UncheckAll + + + + СтатусТранзакцииСнятьВсе + + + DontUse + + + ОК + + <key>ru</key> + <value>ОК</value> + + 1 + + ru + ОК + + + true + + + + ОК + + + DontUse + + + Отмена + + <key>ru</key> + <value>Отмена</value> + + 2 + + ru + Отмена + + + true + + + + Отмена + + + DontUse + + + Отбор + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\236\321\202\320\261\320\276\321\200\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\236\321\202\320\261\320\276\321\200\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Module.bsl" new file mode 100644 index 000000000..e7dd266e5 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\236\321\202\320\261\320\276\321\200\320\226\321\203\321\200\320\275\320\260\320\273\320\260\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Module.bsl" @@ -0,0 +1,311 @@ +///////////////////////////////////////////////////////////////////////////////////////////////////// +// Вспомогательные процедуры и функции +&НаСервере +Процедура ЗаполнитьВажностьИСтатус() + // Заполнение ЭУ Важность + Важность.Добавить("Ошибка", Строка(УровеньЖурналаРегистрации.Ошибка)); + Важность.Добавить("Предупреждение", Строка(УровеньЖурналаРегистрации.Предупреждение)); + Важность.Добавить("Информация", Строка(УровеньЖурналаРегистрации.Информация)); + Важность.Добавить("Примечание", Строка(УровеньЖурналаРегистрации.Примечание)); + + // Заполнение ЭУ СтатусТранзакции + СтатусТранзакции.Добавить("НетТранзакции", Строка(СтатусТранзакцииЗаписиЖурналаРегистрации.НетТранзакции)); + СтатусТранзакции.Добавить("Зафиксирована", Строка(СтатусТранзакцииЗаписиЖурналаРегистрации.Зафиксирована)); + СтатусТранзакции.Добавить("НеЗавершена", Строка(СтатусТранзакцииЗаписиЖурналаРегистрации.НеЗавершена)); + СтатусТранзакции.Добавить("Отменена", Строка(СтатусТранзакцииЗаписиЖурналаРегистрации.Отменена)); + +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьОтборЖурналаРегистрации() + ОтборЖурналаРегистрации.Очистить(); + // Дата начала, окончания + Если ДатаНачала <> '00010101000000' Тогда + ОтборЖурналаРегистрации.Вставить("ДатаНачала", ДатаНачала); + КонецЕсли; + Если ДатаОкончания <> '00010101000000' Тогда + ОтборЖурналаРегистрации.Вставить("ДатаОкончания", ДатаОкончания); + КонецЕсли; + // Пользователь/User + Если Пользователи.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("Пользователь", Пользователи); + КонецЕсли; + // Событие/Event + Если События.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("Событие", События); + КонецЕсли; + // Компьютер/Computer + Если Компьютеры.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("Компьютер", Компьютеры); + КонецЕсли; + // ИмяПриложения/ApplicationName + Если Приложения.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("ИмяПриложения", Приложения); + КонецЕсли; + // Комментарий/Comment + Если НЕ ПустаяСтрока(Комментарий) Тогда + ОтборЖурналаРегистрации.Вставить("Комментарий", Комментарий); + КонецЕсли; + // Метаданные/Metadata + Если Метаданные.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("Метаданные", Метаданные); + КонецЕсли; + // Данные/Data + Если (Данные <> Неопределено) И (НЕ Данные.Пустая()) Тогда + ОтборЖурналаРегистрации.Вставить("Данные", Данные); + КонецЕсли; + // ПредставлениеДанных/DataPresentation + Если НЕ ПустаяСтрока(ПредставлениеДанных) Тогда + ОтборЖурналаРегистрации.Вставить("ПредставлениеДанных", ПредставлениеДанных); + КонецЕсли; + // Транзакция/TransactionID + Если НЕ ПустаяСтрока(Транзакция) Тогда + ОтборЖурналаРегистрации.Вставить("Транзакция", Транзакция); + КонецЕсли; + // РабочийСервер/ServerName + Если РабочиеСерверы.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("РабочийСервер", РабочиеСерверы); + КонецЕсли; + // Соединение/Connection + Если Соединения.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("Соединение", Соединения); + КонецЕсли; + // ОсновнойIPПорт/Port + Если ОсновныеIPПорты.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("ОсновнойIPПорт", ОсновныеIPПорты); + КонецЕсли; + // ВспомогательныйIPПорт/SyncPort + Если ВспомогательныеIPПорты.Количество() > 0 Тогда + ОтборЖурналаРегистрации.Вставить("ВспомогательныйIPПорт", ВспомогательныеIPПорты); + КонецЕсли; + // Уровень/Level + СписокУровней = Новый СписокЗначений; + Для каждого ЭлементСпискаЗначений Из Важность Цикл + Если ЭлементСпискаЗначений.Пометка Тогда + СписокУровней.Добавить(ЭлементСпискаЗначений.Значение, ЭлементСпискаЗначений.Представление); + КонецЕсли; + КонецЦикла; + Если СписокУровней.Количество() > 0 И СписокУровней.Количество() <> Важность.Количество() Тогда + ОтборЖурналаРегистрации.Вставить("Уровень", СписокУровней); + КонецЕсли; + // СтатусТранзакции/TransactionStatus + СписокСтатусов = Новый СписокЗначений; + Для каждого ЭлементСпискаЗначений Из СтатусТранзакции Цикл + Если ЭлементСпискаЗначений.Пометка Тогда + СписокСтатусов.Добавить(ЭлементСпискаЗначений.Значение, ЭлементСпискаЗначений.Представление); + КонецЕсли; + КонецЦикла; + Если СписокСтатусов.Количество() > 0 И СписокСтатусов.Количество() <> СтатусТранзакции.Количество() Тогда + ОтборЖурналаРегистрации.Вставить("СтатусТранзакции", СписокСтатусов); + КонецЕсли; + + Возврат ОтборЖурналаРегистрации; +КонецФункции + +///////////////////////////////////////////////////////////////////////////////////////////////////// +// Обработчики событий +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Если Параметры.Отбор <> Неопределено Тогда + ОтборЖурналаРегистрации = Параметры.Отбор; + КонецЕсли; + + ЗаполнитьВажностьИСтатус(); +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + // ДатаНачала/StartDate + ЗначениеСвойства = Неопределено; + Если ОтборЖурналаРегистрации.Свойство("ДатаНачала", ЗначениеСвойства) Тогда + ДатаНачала = ЗначениеСвойства; + КонецЕсли; + // ДатаОкончания/EndDate + Если ОтборЖурналаРегистрации.Свойство("ДатаОкончания", ЗначениеСвойства) Тогда + ДатаОкончания = ЗначениеСвойства; + КонецЕсли; + // Пользователь/User + Если ОтборЖурналаРегистрации.Свойство("Пользователь", ЗначениеСвойства) Тогда + Пользователи = ЗначениеСвойства; + КонецЕсли; + // Событие/Event + Если ОтборЖурналаРегистрации.Свойство("Событие", ЗначениеСвойства) Тогда + События = ЗначениеСвойства; + КонецЕсли; + // Компьютер/Computer + Если ОтборЖурналаРегистрации.Свойство("Компьютер", ЗначениеСвойства) Тогда + Компьютеры = ЗначениеСвойства; + КонецЕсли; + // ИмяПриложения/ApplicationName + Если ОтборЖурналаРегистрации.Свойство("ИмяПриложения", ЗначениеСвойства) Тогда + Приложения = ЗначениеСвойства; + КонецЕсли; + // Комментарий/Comment + Если ОтборЖурналаРегистрации.Свойство("Комментарий", ЗначениеСвойства) Тогда + Комментарий = ЗначениеСвойства; + КонецЕсли; + // Метаданные/Metadata + Если ОтборЖурналаРегистрации.Свойство("Метаданные", ЗначениеСвойства) Тогда + Метаданные = ЗначениеСвойства; + КонецЕсли; + // Данные/Data + Если ОтборЖурналаРегистрации.Свойство("Данные", ЗначениеСвойства) Тогда + Данные = ЗначениеСвойства; + КонецЕсли; + // ПредставлениеДанных/DataPresentation + Если ОтборЖурналаРегистрации.Свойство("ПредставлениеДанных", ЗначениеСвойства) Тогда + ПредставлениеДанных = ЗначениеСвойства; + КонецЕсли; + // Транзакция/TransactionID + Если ОтборЖурналаРегистрации.Свойство("Транзакция", ЗначениеСвойства) Тогда + Транзакция = ЗначениеСвойства; + КонецЕсли; + // РабочийСервер/ServerName + Если ОтборЖурналаРегистрации.Свойство("РабочийСервер", ЗначениеСвойства) Тогда + РабочиеСерверы = ЗначениеСвойства; + КонецЕсли; + // Соединение/Connection + Если ОтборЖурналаРегистрации.Свойство("Соединение", ЗначениеСвойства) Тогда + Соединения = ЗначениеСвойства; + КонецЕсли; + // ОсновнойIPПорт/Port + Если ОтборЖурналаРегистрации.Свойство("ОсновнойIPПорт", ЗначениеСвойства) Тогда + ОсновныеIPПорты = ЗначениеСвойства; + КонецЕсли; + // ВспомогательныйIPПорт/SyncPort + Если ОтборЖурналаРегистрации.Свойство("ВспомогательныйIPПорт", ЗначениеСвойства) Тогда + ВспомогательныеIPПорты = ЗначениеСвойства; + КонецЕсли; + // Уровень/Level + Если ОтборЖурналаРегистрации.Свойство("Уровень", ЗначениеСвойства) Тогда + Для каждого ЭлементСпискаЗначений Из Важность Цикл + Если ЗначениеСвойства.НайтиПоЗначению(ЭлементСпискаЗначений.Значение) <> Неопределено Тогда + ЭлементСпискаЗначений.Пометка = Истина; + КонецЕсли; + КонецЦикла; + Иначе + Для каждого ЭлементСпискаЗначений Из Важность Цикл + ЭлементСпискаЗначений.Пометка = Истина; + КонецЦикла; + КонецЕсли; + // СтатусТранзакции/TransactionStatus + Если ОтборЖурналаРегистрации.Свойство("СтатусТранзакции", ЗначениеСвойства) Тогда + Для каждого ЭлементСпискаЗначений Из СтатусТранзакции Цикл + Если ЗначениеСвойства.НайтиПоЗначению(ЭлементСпискаЗначений.Значение) <> Неопределено Тогда + ЭлементСпискаЗначений.Пометка = Истина; + КонецЕсли; + КонецЦикла; + Иначе + Для каждого ЭлементСпискаЗначений Из СтатусТранзакции Цикл + ЭлементСпискаЗначений.Пометка = Истина; + КонецЦикла; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка) + ПолучитьОтборЖурналаРегистрации(); +КонецПроцедуры + +&НаКлиенте +Процедура ВажностьУстановитьВсе() + Важность.ЗаполнитьПометки(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура ВажностьСнятьВсе() + Важность.ЗаполнитьПометки(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура СтатусТранзакцииУстановитьВсе() + СтатусТранзакции.ЗаполнитьПометки(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура СтатусТранзакцииСнятьВсе() + СтатусТранзакции.ЗаполнитьПометки(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура ИсполнениеВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + СтандартнаяОбработка = Ложь; + Если Элемент = Элементы.Пользователи Тогда + РедактируемыйСписок = Пользователи; + ОтбираемыеПараметры = "Пользователь"; + ИначеЕсли Элемент = Элементы.События Тогда + РедактируемыйСписок = События; + ОтбираемыеПараметры = "Событие"; + ИначеЕсли Элемент = Элементы.Компьютеры Тогда + РедактируемыйСписок = Компьютеры; + ОтбираемыеПараметры = "Компьютер"; + ИначеЕсли Элемент = Элементы.Приложения Тогда + РедактируемыйСписок = Приложения; + ОтбираемыеПараметры = "ИмяПриложения"; + ИначеЕсли Элемент = Элементы.Метаданные Тогда + РедактируемыйСписок = Метаданные; + ОтбираемыеПараметры = "Метаданные"; + ИначеЕсли Элемент = Элементы.РабочиеСерверы Тогда + РедактируемыйСписок = РабочиеСерверы; + ОтбираемыеПараметры = "РабочийСервер"; + ИначеЕсли Элемент = Элементы.ОсновныеIPПорты Тогда + РедактируемыйСписок = ОсновныеIPПорты; + ОтбираемыеПараметры = "ОсновнойIPПорт"; + ИначеЕсли Элемент = Элементы.ВспомогательныеIPПорты Тогда + РедактируемыйСписок = ВспомогательныеIPПорты; + ОтбираемыеПараметры = "ВспомогательныйIPПорт"; + Иначе + СтандартнаяОбработка = Истина; + Возврат; + КонецЕсли; + + // Открытие редактора свойства + ФормаРедактора = ПолучитьФорму("Обработка.ЖурналРегистрации.Форма.РедакторСоставаСвойства"); + ФормаРедактора.УстановитьПараметрыРедактора(РедактируемыйСписок, ОтбираемыеПараметры); + ПараметрыЗавершения = Новый Структура( + "Элемент, ФормаРедактора", + Элемент, ФормаРедактора); + ФормаРедактора.ОписаниеОповещенияОЗакрытии = + Новый ОписаниеОповещения("ИсполнениеВыбораЗавершение", ЭтотОбъект, ПараметрыЗавершения); + ФормаРедактора.Открыть(); + +КонецПроцедуры + +&НаКлиенте +Процедура ИсполнениеВыбораЗавершение(КодВозврата, ПараметрыЗавершения) Экспорт + Элемент = ПараметрыЗавершения.Элемент; + Если КодВозврата = КодВозвратаДиалога.ОК Тогда + ОтредактированныйСписок = Новый СписокЗначений; + ПараметрыЗавершения.ФормаРедактора.ПолучитьОтредактированныйСписок(ОтредактированныйСписок); + РедактируемыйСписок = ОтредактированныйСписок; + Если Элемент = Элементы.Пользователи Тогда + Пользователи = РедактируемыйСписок; + ИначеЕсли Элемент = Элементы.События Тогда + События = РедактируемыйСписок; + ИначеЕсли Элемент = Элементы.Компьютеры Тогда + Компьютеры = РедактируемыйСписок; + ИначеЕсли Элемент = Элементы.Приложения Тогда + Приложения = РедактируемыйСписок; + ИначеЕсли Элемент = Элементы.Метаданные Тогда + Метаданные = РедактируемыйСписок; + ИначеЕсли Элемент = Элементы.РабочиеСерверы Тогда + РабочиеСерверы = РедактируемыйСписок; + ИначеЕсли Элемент = Элементы.ОсновныеIPПорты Тогда + ОсновныеIPПорты = РедактируемыйСписок; + ИначеЕсли Элемент = Элементы.ВспомогательныеIPПорты Тогда + ВспомогательныеIPПорты = РедактируемыйСписок; + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ОК(Команда) + Закрыть(ОтборЖурналаРегистрации); +КонецПроцедуры + +&НаКлиенте +Процедура Отмена(Команда) + Закрыть(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\240\320\265\320\264\320\260\320\272\321\202\320\276\321\200\320\241\320\276\321\201\321\202\320\260\320\262\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\240\320\265\320\264\320\260\320\272\321\202\320\276\321\200\320\241\320\276\321\201\321\202\320\260\320\262\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260/Form.form" new file mode 100644 index 000000000..0db7fae89 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\240\320\265\320\264\320\260\320\272\321\202\320\276\321\200\320\241\320\276\321\201\321\202\320\260\320\262\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260/Form.form" @@ -0,0 +1,708 @@ + + + + <key>ru</key> + <value>Выбор значений для отбора</value> + + + Список + 1 + true + true + + true + + + Список + + false + None + + Группа + 6 + + Пометка + 7 + true + true + + true + + + + Список.Пометка + + + + OnChange + ПометкаПриИзменении + + + ПометкаExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + + ПометкаКонтекстноеМеню + 8 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + Представление + 4 + true + true + + true + + + + Список.Представление + + + + ПредставлениеExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + true + Enter + true + Left + + true + true + + + true + true + + true + + + ГруппаExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + InCell + true + + + + СписокКоманднаяПанель + 3 + + КруппаКнопокОтметки + 32 + + УстановитьВсе + 9 + true + true + + true + + false + + УстановитьВсеExtendedTooltip + 14 + true + true + + true + + Label + true + true + + Left + + + Form.Command.УстановитьВсе + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + СнятьВсе + 10 + true + true + + true + + false + + СнятьВсеExtendedTooltip + 15 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СнятьВсе + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Круппа кнопок отметки</value> + + + ru + Круппа кнопок отметки + + + КруппаКнопокОтметкиРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + + Compact + + + true + true + + true + + Right + + + true + true + + true + + СписокСтрокаПоиска + 23 + + СписокСтрокаПоискаРасширеннаяПодсказка + 25 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 24 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 26 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 28 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 27 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 29 + + СписокУправлениеПоискомРасширеннаяПодсказка + 31 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 30 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + Tree + true + true + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + Auto + Auto + ExpandAllLevels + true + true + + Style.BorderColor + + None + None + None + + + КнопкиФормы + 11 + + OK + 12 + true + true + + true + + false + + OKExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.OK + Auto + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Отмена + 13 + true + true + + true + + false + + ОтменаExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Cancel + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Кнопки формы</value> + + + ru + Кнопки формы + + + КнопкиФормыExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + LockWholeInterface + true + Vertical + true + true + true + UseIfNecessary + true + true + + Объект + 1 + + DataProcessorObject.ЖурналРегистрации + + + true + + + true + +
true
+
+ + Список + + <key>ru</key> + <value>Список</value> + + 2 + + ValueTree + + + true + + + true + + + Пометка + + <key>ru</key> + <value>Пометка</value> + + 1 + + Boolean + + + true + + + true + + + + Значение + + <key>ru</key> + <value>Значение</value> + + 2 + + String + + + + true + + + true + + + + Представление + + <key>ru</key> + <value>Представление</value> + + 3 + + String + + + + true + + + true + + + + + УстановитьВсе + + <key>ru</key> + <value>Установить все флажки</value> + + 1 + + ru + Установить все флажки + + + true + + + StdPicture.CheckAll + + + + УстановитьВсеФлажки + + + DontUse + + + СнятьВсе + + <key>ru</key> + <value>Снять все флажки</value> + + 2 + + ru + Снять все флажки + + + true + + + StdPicture.UncheckAll + + + + СнятьВсеФлажки + + + DontUse + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\240\320\265\320\264\320\260\320\272\321\202\320\276\321\200\320\241\320\276\321\201\321\202\320\260\320\262\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\240\320\265\320\264\320\260\320\272\321\202\320\276\321\200\320\241\320\276\321\201\321\202\320\260\320\262\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260/Module.bsl" new file mode 100644 index 000000000..49468d165 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\240\320\265\320\264\320\260\320\272\321\202\320\276\321\200\320\241\320\276\321\201\321\202\320\260\320\262\320\260\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260/Module.bsl" @@ -0,0 +1,271 @@ + +///////////////////////////////////////////////////////////////////////////////////////// +// Экспортируемые процедуры + +&НаКлиенте +Процедура УстановитьПараметрыРедактора(РедактируемыйСписок, ОтбираемыеПараметры) Экспорт + СтруктураПараметровОтбора = ПолучитьЗначенияОтбораЖурналаРегистрацииПоКолонке(ОтбираемыеПараметры); + ЗначенияОтбора = СтруктураПараметровОтбора[ОтбираемыеПараметры]; + + Если ТипЗнч(ЗначенияОтбора) = Тип("Массив") Тогда + ЭлементыСписка = Список.ПолучитьЭлементы(); + Для каждого ЭлементМассива Из ЗначенияОтбора Цикл + НовыйЭлемент = ЭлементыСписка.Добавить(); + НовыйЭлемент.Пометка = Ложь; + НовыйЭлемент.Значение = ЭлементМассива; + НовыйЭлемент.Представление = ЭлементМассива; + КонецЦикла; + ИначеЕсли ТипЗнч(ЗначенияОтбора) = Тип("Соответствие") Тогда + Если ОтбираемыеПараметры = "Событие" ИЛИ ОтбираемыеПараметры = "Event" ИЛИ + ОтбираемыеПараметры = "Метаданные" ИЛИ ОтбираемыеПараметры = "Metadata" Тогда + // Грузим как дерево + Для каждого ЭлементСоответствия Из ЗначенияОтбора Цикл + НовыйЭлемент = ПолучитьВетвьДерева(ЭлементСоответствия.Значение); + НовыйЭлемент.Пометка = Ложь; + НовыйЭлемент.Значение = ЭлементСоответствия.Ключ; + КонецЦикла; + Иначе + // Грузим плоским списком + ЭлементыСписка = Список.ПолучитьЭлементы(); + Для каждого ЭлементСоответствия Из ЗначенияОтбора Цикл + НовыйЭлемент = ЭлементыСписка.Добавить(); + НовыйЭлемент.Пометка = Ложь; + НовыйЭлемент.Значение = ЭлементСоответствия.Ключ; + Если (ОтбираемыеПараметры = "Пользователь" ИЛИ ОтбираемыеПараметры = "User") Тогда + // Для пользователей ключем слоужит имя + НовыйЭлемент.Значение = ЭлементСоответствия.Значение; + НовыйЭлемент.Представление = ЭлементСоответствия.Значение; + Если НовыйЭлемент.Значение = "" Тогда + // Случай для пользователя по умолчанию + НовыйЭлемент.Значение = ""; + НовыйЭлемент.Представление = НСтр("ru = '<Пользователь по умолчанию>'", "ru"); + КонецЕсли; + Иначе + НовыйЭлемент.Представление = ЭлементСоответствия.Значение; + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЕсли; + + // Помечаем элементы дерева, если им есть соотвествие в РедактируемыйСписок + ОтметитьВстречающиесяЭлементы(Список.ПолучитьЭлементы(), РедактируемыйСписок); + + // проверяем список на наличие подчиненных элементов, если их нет, + // переводим ЭУ в режим Списка + ЭтоДерево = Ложь; + Для каждого ЭлементДерева Из Список.ПолучитьЭлементы() Цикл + Если ЭлементДерева.ПолучитьЭлементы().Количество() > 0 Тогда + ЭтоДерево = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + Если НЕ ЭтоДерево Тогда + Элементы.Список.Отображение = ОтображениеТаблицы.Список; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьОтредактированныйСписок(РедактируемыйСписок) Экспорт + РедактируемыйСписок.Очистить(); + ЕстьНеотмеченные = Ложь; + ПолучитьСписокПоддерева(РедактируемыйСписок, Список.ПолучитьЭлементы(), ЕстьНеотмеченные); + + Если НЕ ЕстьНеотмеченные И РедактируемыйСписок.Количество() <> 1 Тогда + РедактируемыйСписок.Очистить(); // отмечены все, т.е. отбирать ничего не надо + КонецЕсли; +КонецПроцедуры + +///////////////////////////////////////////////////////////////////////////////////////// +// Вспомогательные процедуры +&НаКлиенте +Функция ПолучитьВетвьДерева(Представление) + СтрокиПути = РазложитьСтрокуПоТочкам(Представление); + Если СтрокиПути.Количество() = 1 Тогда + ЭлементыДерева = Список.ПолучитьЭлементы(); + ИмяВетки = СтрокиПути[0]; + Иначе + // Собираем путь к ветке родителя из фрагментов пути + ПредставлениеПутиРодителя = ""; + Для Сч = 0 По СтрокиПути.Количество() - 2 Цикл + Если НЕ ПустаяСтрока(ПредставлениеПутиРодителя) Тогда + ПредставлениеПутиРодителя = ПредставлениеПутиРодителя + "."; + КонецЕсли; + ПредставлениеПутиРодителя = ПредставлениеПутиРодителя + СтрокиПути[Сч]; + КонецЦикла; + ЭлементыДерева = ПолучитьВетвьДерева(ПредставлениеПутиРодителя).ПолучитьЭлементы(); + ИмяВетки = СтрокиПути[СтрокиПути.Количество() - 1]; + КонецЕсли; + + Для каждого ЭлементДерева Из ЭлементыДерева Цикл + Если ЭлементДерева.Представление = ИмяВетки Тогда + Возврат ЭлементДерева; + КонецЕсли; + КонецЦикла; + // Не нашли, придется создавать + ЭлементДерева = ЭлементыДерева.Добавить(); + ЭлементДерева.Представление = ИмяВетки; + ЭлементДерева.Пометка = Ложь; + Возврат ЭлементДерева; +КонецФункции + +// Функция раскладывает строку в массив строк, используя точку как разделитель +&НаКлиенте +Функция РазложитьСтрокуПоТочкам(Знач Представление) + Фрагменты = Новый Массив; + Пока Истина Цикл + Представление = СокрЛП(Представление); + ПозицияТочки = Найти(Представление, "."); + Если ПозицияТочки > 0 Тогда + Фрагмент = СокрЛП(Лев(Представление, ПозицияТочки - 1)); + Фрагменты.Добавить(Фрагмент); + Представление = Сред(Представление, ПозицияТочки + 1); + Иначе + Фрагменты.Добавить(СокрЛП(Представление)); + Прервать; + КонецЕсли; + КонецЦикла; + Возврат Фрагменты; +КонецФункции + +&НаСервере +Функция ПолучитьЗначенияОтбораЖурналаРегистрацииПоКолонке(ОтбираемыеПараметры) + Возврат ПолучитьЗначенияОтбораЖурналаРегистрации(ОтбираемыеПараметры); +КонецФункции + +&НаКлиенте +Процедура ПолучитьСписокПоддерева(РедактируемыйСписок, ЭлементыДерева, ЕстьНеотмеченные) + Для каждого ЭлементДерева Из ЭлементыДерева Цикл + Если ЭлементДерева.ПолучитьЭлементы().Количество() <> 0 Тогда + ПолучитьСписокПоддерева(РедактируемыйСписок, ЭлементДерева.ПолучитьЭлементы(), ЕстьНеотмеченные); + Иначе + Если ЭлементДерева.Пометка Тогда + НовыйЭлементСписка = РедактируемыйСписок.Добавить(); + НовыйЭлементСписка.Значение = ЭлементДерева.Значение; + НовыйЭлементСписка.Представление = СобратьПредставление(ЭлементДерева); + Иначе + ЕстьНеотмеченные = Истина; + КонецЕсли; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура ОтметитьВстречающиесяЭлементы(ЭлементыДерева, РедактируемыйСписок) + Если РедактируемыйСписок.Количество() = 0 Тогда + // Пустой список фактически означает "Все" + УстановитьВсеФлажки(); + Возврат; + КонецЕсли; + + Для каждого ЭлементДерева Из ЭлементыДерева Цикл + Если ЭлементДерева.ПолучитьЭлементы().Количество() <> 0 Тогда + ОтметитьВстречающиесяЭлементы(ЭлементДерева.ПолучитьЭлементы(), РедактируемыйСписок); + Иначе + СобранноеПредставление = СобратьПредставление(ЭлементДерева); + Для каждого ЭлементСписка Из РедактируемыйСписок Цикл + Если СобранноеПредставление = ЭлементСписка.Представление Тогда + ОтметитьЭлементДерева(ЭлементДерева, Истина); + Прервать; + КонецЕсли; + КонецЦикла; + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура ОтметитьЭлементДерева(ЭлементДерева, Пометка, ПроверятьСостояниеРодителя = Истина) + ЭлементДерева.Пометка = Пометка; + // Отметить все подчиненные элементы дерева + Для каждого ПодчиненныйЭлементДерева Из ЭлементДерева.ПолучитьЭлементы() Цикл + ОтметитьЭлементДерева(ПодчиненныйЭлементДерева, Пометка, Ложь); + КонецЦикла; + // Проверить, не должно ли измениться состояние родителя + Если ПроверятьСостояниеРодителя Тогда + ПроверитьСостояниеПометкиВетви(ЭлементДерева.ПолучитьРодителя()); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьСостояниеПометкиВетви(Ветвь) + Если Ветвь = Неопределено Тогда + Возврат; + КонецЕсли; + ПодчиненныеВетви = Ветвь.ПолучитьЭлементы(); + Если ПодчиненныеВетви.Количество() = 0 Тогда + Возврат; + КонецЕсли; + + ЕстьИстина = Ложь; + ЕстьЛожь = Ложь; + Для каждого ПодчиненнаяВетвь Из ПодчиненныеВетви Цикл + Если ПодчиненнаяВетвь.Пометка Тогда + ЕстьИстина = Истина; + Если ЕстьЛожь Тогда + Прервать; + КонецЕсли; + Иначе + ЕстьЛожь = Истина; + Если ЕстьИстина Тогда + Прервать; + КонецЕсли; + КонецЕсли; + КонецЦикла; + + Если ЕстьИстина Тогда + Если ЕстьЛожь Тогда + // есть и помеченные и непомеченные, у себя при необходимости ставим непомечено и проверяем родителя + Если Ветвь.Пометка Тогда + Ветвь.Пометка = Ложь; + ПроверитьСостояниеПометкиВетви(Ветвь.ПолучитьРодителя()); + КонецЕсли; + Иначе + // Все подчиненные помечены + Если НЕ Ветвь.Пометка Тогда + Ветвь.Пометка = Истина; + ПроверитьСостояниеПометкиВетви(Ветвь.ПолучитьРодителя()); + КонецЕсли; + КонецЕсли; + Иначе + // все подчиненные непомечены + Если Ветвь.Пометка Тогда + Ветвь.Пометка = Ложь; + ПроверитьСостояниеПометкиВетви(Ветвь.ПолучитьРодителя()); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Функция СобратьПредставление(ЭлементДерева) + Если ЭлементДерева = Неопределено Тогда + Возврат ""; + КонецЕсли; + Если ЭлементДерева.ПолучитьРодителя() = Неопределено Тогда + Возврат ЭлементДерева.Представление; + КонецЕсли; + Возврат СобратьПредставление(ЭлементДерева.ПолучитьРодителя()) + "." + ЭлементДерева.Представление; +КонецФункции + +&НаКлиенте +Процедура УстановкаПометок(Значение) + Для каждого ЭлементДерева Из Список.ПолучитьЭлементы() Цикл + ОтметитьЭлементДерева(ЭлементДерева, Значение, Ложь); + КонецЦикла; +КонецПроцедуры + +///////////////////////////////////////////////////////////////////////////////////////// +// Обработчики событий +&НаКлиенте +Процедура УстановитьВсеФлажки() + УстановкаПометок(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура СнятьВсеФлажки() + УстановкаПометок(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура ПометкаПриИзменении(Элемент) + ОтметитьЭлементДерева(Элементы.Список.ТекущиеДанные, Элементы.Список.ТекущиеДанные.Пометка); +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Form.form" new file mode 100644 index 000000000..4f6bd6657 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\320\261\321\213\321\202\320\270\321\217/Form.form" @@ -0,0 +1,1676 @@ + + + + <key>ru</key> + <value>Событие</value> + + + ГруппаОсновные + 1 + + ГруппаДатаКомпьютер + 7 + + ДатаВремя + 9 + true + true + + true + + + + ДатаВремя + + + + ДатаВремяExtendedTooltip + 46 + true + true + + true + + Label + true + true + + Left + + + + ДатаВремя_КонтекстноеМеню + 10 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + false + true + true + true + + Style.BorderColor + + + + + Компьютер + 11 + true + true + + true + + + + Компьютер + + + + КомпьютерExtendedTooltip + 47 + true + true + + true + + Label + true + true + + Left + + + + Компьютер_КонтекстноеМеню + 12 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа дата компьютер</value> + + + ru + Группа дата компьютер + + + ГруппаДатаКомпьютерExtendedTooltip + 45 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ГруппаПользовательПриложение + 8 + + Пользователь + 15 + true + true + + true + + + + Пользователь + + + + ПользовательExtendedTooltip + 49 + true + true + + true + + Label + true + true + + Left + + + + Пользователь_КонтекстноеМеню + 16 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Приложение + 17 + true + true + + true + + + + Приложение + + + + ПриложениеExtendedTooltip + 50 + true + true + + true + + Label + true + true + + Left + + + + Приложение_КонтекстноеМеню + 18 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа пользователь приложение</value> + + + ru + Группа пользователь приложение + + + ГруппаПользовательПриложениеExtendedTooltip + 48 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Группа основные</value> + + + ru + Группа основные + + + ГруппаОсновныеExtendedTooltip + 44 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ГруппаСобытие + 2 + + Событие + 13 + true + true + + true + + + + Событие + + + + СобытиеExtendedTooltip + 52 + true + true + + true + + Label + true + true + + Left + + + + Событие_КонтекстноеМеню + 14 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Комментарий + 19 + true + true + + true + + + + Комментарий + + + Top + + КомментарийExtendedTooltip + 53 + true + true + + true + + Label + true + true + + Left + + + + Комментарий_КонтекстноеМеню + 20 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + 3 + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа событие</value> + + + ru + Группа событие + + + ГруппаСобытиеExtendedTooltip + 51 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + ГруппаДанные + 4 + + Метаданные + 21 + true + true + + true + + + + Метаданные + + + + МетаданныеExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + + Метаданные_КонтекстноеМеню + 22 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Данные + 23 + true + true + + true + + + + Данные + + + + ДанныеExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + + Данные_КонтекстноеМеню + 24 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ПредставлениеДанных + 25 + true + true + + true + + + + ПредставлениеДанных + + + Top + + ПредставлениеДанныхExtendedTooltip + 57 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеДанных_КонтекстноеМеню + 26 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + 3 + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа данные</value> + + + ru + Группа данные + + + ГруппаДанныеExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + ГруппаТранзакция + 5 + + ИдентификаторТранзакции + 27 + true + true + + true + + + + ИдентификаторТранзакции + + + + ИдентификаторТранзакцииExtendedTooltip + 59 + true + true + + true + + Label + true + true + + Left + + + + ИдентификаторТранзакции_КонтекстноеМеню + 28 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + СтатусЗавершенияТранзакции + 29 + true + true + + true + + + + СтатусЗавершенияТранзакции + + + + СтатусЗавершенияТранзакцииExtendedTooltip + 60 + true + true + + true + + Label + true + true + + Left + + + + СтатусЗавершенияТранзакции_КонтекстноеМеню + 30 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа транзакция</value> + + + ru + Группа транзакция + + + ГруппаТранзакцияExtendedTooltip + 58 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + ГруппаСоединение + 6 + + ГруппаСеанс + 31 + + Сеанс + 33 + true + true + + true + + + + Сеанс + + + + СеансExtendedTooltip + 63 + true + true + + true + + Label + true + true + + Left + + + + Сеанс_КонтекстноеМеню + 34 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа сеанс</value> + + + ru + Группа сеанс + + + ГруппаСеансExtendedTooltip + 62 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ГруппаСервер + 32 + + РабочийСервер + 35 + true + true + + true + + + + РабочийСервер + + + + РабочийСерверExtendedTooltip + 65 + true + true + + true + + Label + true + true + + Left + + + + РабочийСервер_КонтекстноеМеню + 36 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ГруппаПорт + 37 + + ОсновнойIPПорт + 38 + true + true + + true + + + + ОсновнойIPПорт + + + + ОсновнойIPПортExtendedTooltip + 67 + true + true + + true + + Label + true + true + + Left + + + + ОсновнойIPПорт_КонтекстноеМеню + 39 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + 10 + true + true + true + true + true + + Style.BorderColor + + + + + ВспомогательныйIPПорт + 40 + true + true + + true + + + + ВспомогательныйIPПорт + + + + ВспомогательныйIPПортExtendedTooltip + 68 + true + true + + true + + Label + true + true + + Left + + + + ВспомогательныйIPПорт_КонтекстноеМеню + 41 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + 10 + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа порт</value> + + + ru + Группа порт + + + ГруппаПортExtendedTooltip + 66 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Группа сервер</value> + + + ru + Группа сервер + + + ГруппаСерверExtendedTooltip + 64 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Группа соединение</value> + + + ru + Группа соединение + + + ГруппаСоединениеExtendedTooltip + 61 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + WeakSeparation + true + true + LeftNarrowest + Auto + DontUse + + + + ГруппаКнопкиФормы + 3 + + ГруппаКнопок + 42 + + Закрыть + 43 + true + true + + true + + false + + ЗакрытьExtendedTooltip + 71 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Close + PictureAndText + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Группа кнопок</value> + + + ru + Группа кнопок + + + ГруппаКнопокExtendedTooltip + 70 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + true + true + + true + + + <key>ru</key> + <value>Группа кнопки формы</value> + + + ru + Группа кнопки формы + + + ГруппаКнопкиФормыExtendedTooltip + 69 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + None + + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + Abort + Cancel + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + LockOwnerWindow + DefaultButton + true + Vertical + true + true + true + true + + Объект + 1 + + DataProcessorObject.ЖурналРегистрации + + + true + + + true + +
true
+
+ + ДатаВремя + + <key>ru</key> + <value>Дата, время</value> + + 2 + + Date + + + + true + + + true + + + + Компьютер + + <key>ru</key> + <value>Компьютер</value> + + 3 + + String + + + + true + + + true + + + + Событие + + <key>ru</key> + <value>Событие</value> + + 4 + + String + + + + true + + + true + + + + Комментарий + + <key>ru</key> + <value>Комментарий</value> + + 5 + + String + + + + true + + + true + + + + Метаданные + + <key>ru</key> + <value>Метаданные</value> + + 6 + + String + + + + true + + + true + + + + Данные + + <key>ru</key> + <value>Данные</value> + + 7 + + String + + + + true + + + true + + + + ПредставлениеДанных + + <key>ru</key> + <value>Представление данных</value> + + 8 + + String + + + + true + + + true + + + + ИдентификаторТранзакции + + <key>ru</key> + <value>Идентификатор транзакции</value> + + 9 + + String + + + + true + + + true + + + + СтатусЗавершенияТранзакции + + <key>ru</key> + <value>Статус завершения транзакции</value> + + 10 + + String + + + + true + + + true + + + + Сеанс + + <key>ru</key> + <value>Сеанс</value> + + 11 + + String + + + + true + + + true + + + + РабочийСервер + + <key>ru</key> + <value>Рабочий сервер</value> + + 12 + + String + + + + true + + + true + + + + ОсновнойIPПорт + + <key>ru</key> + <value>Основной IP порт</value> + + 13 + + String + + + + true + + + true + + + + ВспомогательныйIPПорт + + <key>ru</key> + <value>Вспомогательный IP порт</value> + + 14 + + String + + + + true + + + true + + + + Пользователь + + <key>ru</key> + <value>Пользователь</value> + + 15 + + String + + + + true + + + true + + + + Приложение + + <key>ru</key> + <value>Приложение</value> + + 16 + + String + + + + true + + + true + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Help/ru.html" new file mode 100644 index 000000000..49b8ce9be --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/Help/ru.html" @@ -0,0 +1 @@ +Обработка реализует доступ к журналу регистрации событий. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/ObjectModule.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/ObjectModule.bsl" new file mode 100644 index 000000000..c9798c7b7 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/ObjectModule.bsl" @@ -0,0 +1,43 @@ +// Функция позволяет пучить значение перечисления статуса транзакции +// по его имени +// +// Параметры : +// Имя - имя значения перечисления +// +// Возврат : +// значение перечисления или Неопределено, если имя неверное +Функция СтатусТранзакцииЗаписиЖурналаРегистрацииЗначениеПоИмени(Имя) Экспорт + ЗначениеПеречисления = Неопределено; + Если Имя = "Зафиксирована" Тогда + ЗначениеПеречисления = СтатусТранзакцииЗаписиЖурналаРегистрации.Зафиксирована; + ИначеЕсли Имя = "НеЗавершена" Тогда + ЗначениеПеречисления = СтатусТранзакцииЗаписиЖурналаРегистрации.НеЗавершена; + ИначеЕсли Имя = "НетТранзакции" Тогда + ЗначениеПеречисления = СтатусТранзакцииЗаписиЖурналаРегистрации.НетТранзакции; + ИначеЕсли Имя = "Отменена" Тогда + ЗначениеПеречисления = СтатусТранзакцииЗаписиЖурналаРегистрации.Отменена; + КонецЕсли; + Возврат ЗначениеПеречисления; +КонецФункции + +// Функция позволяет пучить значение перечисления уровня сообщения +// по его имени +// +// Параметры : +// Имя - имя значения перечисления +// +// Возврат : +// значение перечисления или Неопределено, если имя неверное +Функция УровеньЖурналаРегистрацииЗначениеПоИмени(Имя) Экспорт + ЗначениеПеречисления = Неопределено; + Если Имя = "Информация" Тогда + ЗначениеПеречисления = УровеньЖурналаРегистрации.Информация; + ИначеЕсли Имя = "Ошибка" Тогда + ЗначениеПеречисления = УровеньЖурналаРегистрации.Ошибка; + ИначеЕсли Имя = "Предупреждение" Тогда + ЗначениеПеречисления = УровеньЖурналаРегистрации.Предупреждение; + ИначеЕсли Имя = "Примечание" Тогда + ЗначениеПеречисления = УровеньЖурналаРегистрации.Примечание; + КонецЕсли; + Возврат ЗначениеПеречисления; +КонецФункции diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270.mdo" new file mode 100644 index 000000000..c29ccb87e --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270/\320\226\321\203\321\200\320\275\320\260\320\273\320\240\320\265\320\263\320\270\321\201\321\202\321\200\320\260\321\206\320\270\320\270.mdo" @@ -0,0 +1,61 @@ + + + + + + + ЖурналРегистрации + + ru + Журнал регистрации + + + true + DataProcessor.ЖурналРегистрации.Form.ЖурналРегистрации + true + + + ru + + + + ЖурналРегистрации + + ru + Журнал регистрации + + + PersonalComputer + MobileDevice + + + ОтборЖурналаРегистрации + + ru + Отбор журнала регистрации + + + PersonalComputer + MobileDevice + + + РедакторСоставаСвойства + + ru + Редактор состава свойства + + + PersonalComputer + MobileDevice + + + ФормаСобытия + + ru + Форма события + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..7c1fa4dde --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,243 @@ + + + + ПутьКРабочемуКаталогу + 1 + true + true + + true + + + + ПутьКРабочемуКаталогу + + + Top + + ПутьКРабочемуКаталогуExtendedTooltip + 7 + true + true + + true + + Label + true + true + + Left + + + + ПутьКРабочемуКаталогуКонтекстноеМеню + 2 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + StartChoice + ПутьКРабочемуКаталогуНачалоВыбора + + true + true + true + true + true + true + + + + КраткийЗаголовок + 4 + true + true + + true + + + + КраткийЗаголовок + + + Top + + КраткийЗаголовокExtendedTooltip + 8 + true + true + + true + + Label + true + true + + Left + + + + КраткийЗаголовокКонтекстноеМеню + 5 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + + ФормаКоманднаяПанель + -1 + + Сохранить + 3 + true + true + + true + + false + + СохранитьExtendedTooltip + 6 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Сохранить + Auto + true + true + true + UserCmds + + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + DataProcessorObject.НастройкиПользователя + + + true + + + true + +
true
+
+ + ПутьКРабочемуКаталогу + + <key>ru</key> + <value>Каталог хранения файлов на компьютере пользователя</value> + + 2 + + String + + + + true + + + true + + + + КраткийЗаголовок + + <key>ru</key> + <value>Краткий заголовок приложения</value> + + 3 + + String + + + + true + + + true + + + + Сохранить + + <key>ru</key> + <value>Сохранить и закрыть</value> + + 1 + + ru + Сохранить + + + true + + + + Сохранить + + + DontUse + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..009cf5909 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,65 @@ + +////////////////////////////////////////////////////////////////////// +// Обработчики команд + +&НаКлиенте +Процедура Сохранить() + + РаботаСХранилищемОбщихНастроек.СохранитьРабочийКаталог(ПутьКРабочемуКаталогу); + РаботаСХранилищемОбщихНастроек.СохранитьТекстКраткогоЗаголовкаПриложения(КраткийЗаголовок); + Если КлиентскоеПриложение.ПолучитьКраткийЗаголовок() <> КраткийЗаголовок Тогда + + КлиентскоеПриложение.УстановитьКраткийЗаголовок(КраткийЗаголовок); + + КонецЕсли; + + Закрыть(Истина); + +КонецПроцедуры + +////////////////////////////////////////////////////////////////////// +// Обработчики событий формы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ПутьКРабочемуКаталогу = РаботаСХранилищемОбщихНастроек.ПолучитьРабочийКаталог(); + КраткийЗаголовок = РаботаСХранилищемОбщихНастроек.ПолучитьТекстКраткогоЗаголовкаПриложения(); + +КонецПроцедуры + +////////////////////////////////////////////////////////////////////// +// Обработчики событий элементов управления + +&НаКлиенте +Процедура ПутьКРабочемуКаталогуНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + + ОпПослеПодключенияРасширения = Новый ОписаниеОповещения("ПослеПодключенияРасширения", ЭтотОбъект); + НачатьПодключениеРасширенияРаботыСФайлами(ОпПослеПодключенияРасширения); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеПодключенияРасширения(Подключено, ДопПараметры) Экспорт + Если НЕ Подключено Тогда + + ПоказатьПредупреждение( , + НСтр("ru ='Данная возможность недоступна, так как не подключено расширение работы с файлами.'", "ru")); + + КонецЕсли; + + ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога); + ДиалогОткрытияФайла.Заголовок = НСтр("ru ='Выбор каталога временного хранения файлов'", "ru"); + ОпПослеВыбораКаталога = Новый ОписаниеОповещения("ПослеВыбораКаталога", ЭтотОбъект); + ДиалогОткрытияФайла.Показать(ОпПослеВыбораКаталога); + +КонецПроцедуры + +&НаКлиенте +Процедура ПослеВыбораКаталога(ВыбранныеФайлы, ДопПараметры) Экспорт + Если НЕ ВыбранныеФайлы=Неопределено Тогда + ПутьКРабочемуКаталогу = ВыбранныеФайлы[0]; + КонецЕсли; +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Help/ru.html" new file mode 100644 index 000000000..4addbb7fc --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/Help/ru.html" @@ -0,0 +1 @@ +Обработка реализует управление настройками пользователя. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217.mdo" new file mode 100644 index 000000000..ca3aae69d --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\217.mdo" @@ -0,0 +1,31 @@ + + + + + + + НастройкиПользователя + + ru + Настройки пользователя + + + true + DataProcessor.НастройкиПользователя.Form.Форма + true + + + ru + + + + Форма + + ru + Форма + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..093609fbe --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,1194 @@ + + + + Шапка + 29 + + ГруппаДат + 30 + + ДатаНачала + 12 + true + true + + true + + + + ДатаНачала + + + + ДатаНачалаExtendedTooltip + 39 + true + true + + true + + Label + true + true + + Left + + + + ДатаНачалаКонтекстноеМеню + 13 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + Style.BorderColor + + + + + ДатаОкончания + 14 + true + true + + true + + + + ДатаОкончания + + + + ДатаОкончанияExtendedTooltip + 40 + true + true + + true + + Label + true + true + + Left + + + + ДатаОкончанияКонтекстноеМеню + 15 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа дат</value> + + + ru + Группа дат + + + ГруппаДатРасширеннаяПодсказка + 38 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + Проводить + 27 + true + true + + true + + + + Объект.Проводить + + + Left + + ПроводитьExtendedTooltip + 42 + true + true + + true + + Label + true + true + + Left + + + + ПроводитьКонтекстноеМеню + 28 + true + true + + true + + true + + RadioButtonField + Enter + true + Left + true + + Tumbler + true + + + ru + Проведенные + + + Проведенные + + + + + ru + Непроведенные + + + НеПроведенные + + + + + ru + Все + + + Все + + + + + true + true + + true + + + <key>ru</key> + <value>Шапка</value> + + + ru + Шапка + + + ШапкаExtendedTooltip + 37 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + Списки + 24 + + СписокДокументов + 3 + + <key>ru</key> + <value>Все документы</value> + + true + true + + true + + + Объект.СписокДокументов + + false + Top + + Представление + 8 + true + true + + true + + + + Объект.СписокДокументов.Presentation + + + + ПредставлениеExtendedTooltip + 49 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеКонтекстноеМеню + 9 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + СписокДокументовКоманднаяПанель + 5 + + Добавить + 26 + true + true + + true + + false + + ДобавитьExtendedTooltip + 47 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Добавить + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Left + + + Selection + СписокДокументовВыбор + + + true + true + + true + + СписокДокументовСтрокаПоиска + 50 + + СписокДокументовСтрокаПоискаРасширеннаяПодсказка + 52 + true + true + + true + + Label + true + true + + Left + + + + СписокДокументовСтрокаПоискаКонтекстноеМеню + 51 + true + true + + true + + true + + СписокДокументовСтрокаПоиска + + true + + + + true + true + + true + + СписокДокументовСостояниеПросмотра + 53 + + СписокДокументовСостояниеПросмотраРасширеннаяПодсказка + 55 + true + true + + true + + Label + true + true + + Left + + + + СписокДокументовСостояниеПросмотраКонтекстноеМеню + 54 + true + true + + true + + true + + ViewStatusAddition + СписокДокументовСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокДокументовУправлениеПоиском + 56 + + СписокДокументовУправлениеПоискомРасширеннаяПодсказка + 58 + true + true + + true + + Label + true + true + + Left + + + + СписокДокументовУправлениеПоискомКонтекстноеМеню + 57 + true + true + + true + + true + + SearchControlAddition + СписокДокументовУправлениеПоиском + + true + + + + СписокДокументовExtendedTooltip + 48 + true + true + + true + + Label + true + true + + Left + + + + СписокДокументовКонтекстноеМеню + 4 + true + true + + true + + true + + true + 30 + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + + + ВыбранныеДокументы + 17 + + <key>ru</key> + <value>Выбранные документы</value> + + true + true + + true + + + Объект.ВыбранныеДокументы + + false + Top + + Представление1 + 22 + true + true + + true + + + + Объект.ВыбранныеДокументы.Presentation + + + + Представление1ExtendedTooltip + 46 + true + true + + true + + Label + true + true + + Left + + + + Представление1КонтекстноеМеню + 23 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + ВыбранныеДокументыКоманднаяПанель + 19 + + Исключить + 25 + true + true + + true + + false + + ИсключитьExtendedTooltip + 44 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Исключить + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Left + + + Selection + ВыбранныеДокументыВыбор + + + true + true + + true + + ВыбранныеДокументыСтрокаПоиска + 59 + + ВыбранныеДокументыСтрокаПоискаРасширеннаяПодсказка + 61 + true + true + + true + + Label + true + true + + Left + + + + ВыбранныеДокументыСтрокаПоискаКонтекстноеМеню + 60 + true + true + + true + + true + + ВыбранныеДокументыСтрокаПоиска + + true + + + + true + true + + true + + ВыбранныеДокументыСостояниеПросмотра + 62 + + ВыбранныеДокументыСостояниеПросмотраРасширеннаяПодсказка + 64 + true + true + + true + + Label + true + true + + Left + + + + ВыбранныеДокументыСостояниеПросмотраКонтекстноеМеню + 63 + true + true + + true + + true + + ViewStatusAddition + ВыбранныеДокументыСостояниеПросмотра + + true + Left + + + + true + true + + true + + ВыбранныеДокументыУправлениеПоиском + 65 + + ВыбранныеДокументыУправлениеПоискомРасширеннаяПодсказка + 67 + true + true + + true + + Label + true + true + + Left + + + + ВыбранныеДокументыУправлениеПоискомКонтекстноеМеню + 66 + true + true + + true + + true + + SearchControlAddition + ВыбранныеДокументыУправлениеПоиском + + true + + + + ВыбранныеДокументыExtendedTooltip + 45 + true + true + + true + + Label + true + true + + Left + + + + ВыбранныеДокументыКонтекстноеМеню + 18 + true + true + + true + + true + + true + 30 + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + + true + true + + true + + + <key>ru</key> + <value>Списки</value> + + + ru + Списки + + + СпискиExtendedTooltip + 43 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + WeakSeparation + true + true + Auto + DontUse + + + + ФормаКоманднаяПанель + -1 + + Провести + 16 + true + true + + true + + false + + ПровестиExtendedTooltip + 34 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Провести + Auto + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + СохранитьПараметры + 32 + true + true + + true + + false + + СохранитьПараметрыExtendedTooltip + 35 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.SaveValues + Auto + false + true + true + UserCmds + + + ВосстановитьПараметры + 33 + true + true + + true + + false + + ВосстановитьПараметрыExtendedTooltip + 36 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.RestoreValues + Auto + false + true + true + UserCmds + + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + Use + UseList + true + true + Vertical + true + true + true + true + true + + Объект + + <key>ru</key> + <value>Объект</value> + + 1 + + DataProcessorObject.ПроведениеДокументов + + + true + + + true + + + Объект.ВыбранныеДокументы + + + Объект.Проводить + +
true
+
+ + ДатаНачала + + <key>ru</key> + <value>Дата начала</value> + + 2 + + Date + + Date + + + + true + + + true + + + ДатаНачала + + + + ДатаОкончания + + <key>ru</key> + <value>Дата окончания</value> + + 3 + + Date + + Date + + + + true + + + true + + + ДатаОкончания + + + + ДатаВосстановленияПоследовательностей + + <key>ru</key> + <value>По дату</value> + + 4 + + Date + + Date + + + + true + + + true + + + + ВосстановлениеПоследовательностейДатойНеОграничивать + + <key>ru</key> + <value>Не ограничивать</value> + + 5 + + Boolean + + + true + + + true + + + + Провести + + <key>ru</key> + <value>Провести</value> + + 1 + + ru + Провести + + + true + + + StdPicture.Post + + + + ПровестиВыполнить + + + TextPicture + Auto + + + Исключить + + <key>ru</key> + <value>Исключить из выбранных</value> + + 2 + + ru + Исключить + + + true + + + StdPicture.MoveLeft + + + + ИсключитьВыполнить + + + TextPicture + + + Добавить + + <key>ru</key> + <value>Добавить в выбранные</value> + + 3 + + ru + Добавить + + + true + + + StdPicture.MoveRight + + + + ДобавитьВыполнить + + + TextPicture + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..58c8b9f6c --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,110 @@ + +//Проведение документов +&НаКлиенте +Процедура ПровестиВыполнить() + + Если Объект.ВыбранныеДокументы.Количество() = 0 Тогда + ПоказатьПредупреждение( , + НСтр("ru = 'Не выбраны документы!'", "ru")); + Возврат; + КонецЕсли; + + Если НЕ ЗначениеЗаполнено(ДатаНачала) ИЛИ НЕ ЗначениеЗаполнено(ДатаОкончания) Тогда + ПоказатьПредупреждение( , + НСтр("ru = 'Неверный интервал!'", "ru")); + Возврат; + КонецЕсли; + + Если ДатаНачала > ДатаОкончания Тогда + ПоказатьПредупреждение( , + НСтр("ru = 'Неверный интервал!'", "ru")); + Возврат; + КонецЕсли; + + //Проведение документов в цикле по дням выбранного интервала + КоличествоПроведенных = 0; + ДатаПроведения = ДатаНачала; + Пока ДатаПроведения <= ДатаОкончания Цикл + + ОбработкаПрерыванияПользователя(); + Состояние(НСтр("ru = 'Выполняется проведение за '", "ru") + + Формат(ДатаПроведения, "ДЛФ=DD") + + Символы.ПС + + НСтр("ru = 'Проведено '", "ru") + + КоличествоПроведенных); + + //Вызов проведения на сервере за один день + ТекущееКоличествоПроведенных = 0; + ПровестиНаСервере(ДатаПроведения, ТекущееКоличествоПроведенных); + КоличествоПроведенных = КоличествоПроведенных + ТекущееКоличествоПроведенных; + + ДатаПроведения = ДатаПроведения + 24 * 60 * 60; + + КонецЦикла; + + Состояние(НСтр("ru = 'Проведение документов завершено'", "ru") + + Символы.ПС + + НСтр("ru = 'Проведено '", "ru") + + КоличествоПроведенных); +КонецПроцедуры + +//Проведение документов за один день +&НаСервере +Процедура ПровестиНаСервере(ДатаПроведения, ТекущееКоличествоПроведенных) + Обработка = РеквизитФормыВЗначение("Объект"); + Обработка.Провести(ДатаПроведения, КонецДня(ДатаПроведения), ТекущееКоличествоПроведенных); +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + ДатаНачала = НачалоДня(ТекущаяДата()); + ДатаОкончания = НачалоДня(ТекущаяДата()); + Проводить = "Проведенные"; + + //Подготовка списка видов документов + Обработка = РеквизитФормыВЗначение("Объект"); + Обработка.ЗаполнитьСписок(); + ЗначениеВРеквизитФормы(Обработка, "Объект"); +КонецПроцедуры + +//Исключание документов из списка выбранных +&НаКлиенте +Процедура Исключить() + Для каждого ИдентификаторЭлемента Из Элементы.ВыбранныеДокументы.ВыделенныеСтроки Цикл + Объект.ВыбранныеДокументы.Удалить(Объект.ВыбранныеДокументы.НайтиПоИдентификатору(ИдентификаторЭлемента)); + КонецЦикла; +КонецПроцедуры + +//Добавление документов в список выбранных +&НаКлиенте +Процедура Добавить() + Для каждого ИдентификаторЭлемента Из Элементы.СписокДокументов.ВыделенныеСтроки Цикл + Элемент = Объект.СписокДокументов.НайтиПоИдентификатору(ИдентификаторЭлемента); + Если Объект.ВыбранныеДокументы.НайтиПоЗначению(Элемент.Значение) <> Неопределено Тогда + Продолжить; + КонецЕсли; + Объект.ВыбранныеДокументы.Добавить(Элемент.Значение, Элемент.Представление); + КонецЦикла; + Объект.ВыбранныеДокументы.СортироватьПоПредставлению(); +КонецПроцедуры + +&НаКлиенте +Процедура ВыбранныеДокументыВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + Исключить(); +КонецПроцедуры + +&НаКлиенте +Процедура СписокДокументовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + Добавить(); +КонецПроцедуры + +&НаКлиенте +Процедура ИсключитьВыполнить() + Исключить(); +КонецПроцедуры + +&НаКлиенте +Процедура ДобавитьВыполнить() + Добавить(); +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Help/ru.html" new file mode 100644 index 000000000..5f73eddeb --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Help/ru.html" @@ -0,0 +1,2 @@ + +

Обработка реализует групповое проведение документов.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" new file mode 100644 index 000000000..e100a905d --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ObjectModule.bsl" @@ -0,0 +1,41 @@ +//Заполнение списка видов документов +Процедура ЗаполнитьСписок() Экспорт + // Создание списка документов + Для каждого МетаданныеДокумент Из Метаданные.Документы Цикл + + Если МетаданныеДокумент.Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда + СписокДокументов.Добавить(МетаданныеДокумент.Имя, МетаданныеДокумент.Представление()); + КонецЕсли; + + КонецЦикла; + СписокДокументов.СортироватьПоПредставлению(); + + Проводить = "Проведенные"; + +КонецПроцедуры + +//Проведение документов из имеющегося списка +Процедура Провести(ДатаНачала, ДатаОкончания, ТекущееКоличествоПроведенных) Экспорт + + Для каждого ДокументСписка Из ВыбранныеДокументы Цикл + + Выборка = Документы[ДокументСписка.Значение].Выбрать(ДатаНачала, ДатаОкончания); + + Пока Выборка.Следующий() Цикл + + Если Проводить = "Проведенные" И НЕ Выборка.Проведен Тогда + Продолжить; + КонецЕсли; + + Если Проводить = "НеПроведенные" И Выборка.Проведен Тогда + Продолжить; + КонецЕсли; + + Объект = Выборка.ПолучитьОбъект(); + Объект.Записать(РежимЗаписиДокумента.Проведение); + ТекущееКоличествоПроведенных = ТекущееКоличествоПроведенных + 1; + КонецЦикла; + + КонецЦикла; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..d76392f04 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262.mdo" @@ -0,0 +1,74 @@ + + + + + + + ПроведениеДокументов + + ru + Проведение документов + + + true + DataProcessor.ПроведениеДокументов.Form.Форма + true + + + ru + + + + СписокДокументов + + ru + Список документов + + + + ValueList + + + + + + + ВыбранныеДокументы + + ru + Выбранные документы + + + + ValueList + + + + + + + Проводить + + ru + Проводить + + + + String + + + + + + + + Форма + + ru + Форма + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Commands/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\237\320\276\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/CommandModule.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Commands/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\237\320\276\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/CommandModule.bsl" new file mode 100644 index 000000000..b05ccd02a --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Commands/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214\320\237\320\276\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270/CommandModule.bsl" @@ -0,0 +1,6 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ПараметрыФормы = Новый Структура("", ); + ОткрытьФорму("Обработка.Путеводитель.Форма", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\217/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\217/Form.form" new file mode 100644 index 000000000..24e82b96a --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\217/Form.form" @@ -0,0 +1,231 @@ + + + + ДекорацияЕслиНеАдминистратор + 4 + + <key>ru</key> + <value>Некоторая функциональность путеводителя недоступна при работе под ролями, отличными от роли Администратор</value> + + true + true + + true + + + ДекорацияЕслиНеАдминистраторРасширеннаяПодсказка + 6 + true + true + + true + + Label + true + true + + Left + + + + ДекорацияЕслиНеАдминистраторКонтекстноеМеню + 5 + true + true + + true + + true + + Label + true + true + + Style.NormalTextFont + true + false + false + false + + + Left + + + + ПолеHTML + 1 + true + true + + true + + + + ПолеHTML + + + None + + ПолеHTMLExtendedTooltip + 3 + true + true + + true + + Label + true + true + + Left + + + + ПолеHTMLКонтекстноеМеню + 2 + true + true + + true + + true + + HTMLDocumentField + Enter + true + Left + true + + + DocumentComplete + ПолеHTMLДокументСформирован + + + OnClick + ПолеHTMLПриНажатии + + 50 + true + 1 + true + true + true + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + 90 + 30 + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + DataProcessorObject.Путеводитель + + + true + + + true + +
true
+
+ + ПолеHTML + + <key>ru</key> + <value>Поле HTML</value> + + 2 + + String + + + + true + + + true + + + + РазделыКонфигурации + + <key>ru</key> + <value>Разделы конфигурации</value> + + 3 + + ValueTable + + + true + + + true + + + Название + + <key>ru</key> + <value>Название</value> + + 1 + + String + + + + true + + + true + + + + Описание + + <key>ru</key> + <value>Описание</value> + + 2 + + String + + + + true + + + true + + + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\217/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\217/Module.bsl" new file mode 100644 index 000000000..613a6b1d0 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Forms/\320\244\320\276\321\200\320\274\320\260\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\217/Module.bsl" @@ -0,0 +1,224 @@ + +&НаКлиенте +Перем ВременнаяСсылка; + +&НаСервере +Функция СформироватьHTMLПутеводителя(Раздел) + + Перем КорневойЭлемент; + + Если НЕ Раздел = "" Тогда + + ДокументРаздела = Обработки.Путеводитель.ПолучитьМакет(Раздел).ПолучитьДокументHTML(); + КорневойЭлемент = ДокументРаздела.Тело; + + Иначе; + + КорневойЭлемент = Обработки.Путеводитель.ПолучитьМакет("ГлавнаяСтраница").ПолучитьДокументHTML(); + МенюРазделов = КорневойЭлемент.ПолучитьЭлементПоИдентификатору("ГлавноеМеню"); +#Если МобильноеПриложениеСервер Тогда + // На мобильном устройстве жалко места под поковые планки + ПраваяПанель = КорневойЭлемент.ПолучитьЭлементПоИдентификатору("Правая"); + ЛеваяПанель = КорневойЭлемент.ПолучитьЭлементПоИдентификатору("Левая"); + Центр = КорневойЭлемент.ПолучитьЭлементПоИдентификатору("Центр"); + ПраваяПанель.Ширина = "0"; + ЛеваяПанель.Ширина = "0"; + Центр.Ширина = "100%"; +#КонецЕсли + + Для Сч = 0 По РазделыКонфигурации.Количество() - 1 Цикл + + ДанныеРаздела = РазделыКонфигурации.Получить(Сч); + СтрТ = КорневойЭлемент.СоздатьЭлемент("tr"); + СтрТ.УстановитьАтрибут("style", "padding: 3px"); + КолТ = КорневойЭлемент.СоздатьЭлемент("td"); + СтрТ.ДобавитьДочерний(КолТ); + МенюРазделов.ДобавитьДочерний(СтрТ); + Ссылка = КорневойЭлемент.СоздатьЭлемент("a"); + Ссылка.УстановитьАтрибут("style", "color: #000000; text-decoration: none;"); + Ссылка.Гиперссылка = "#" + Сч; + Ссылка.Идентификатор = ДанныеРаздела.Название; + КолТ.ДобавитьДочерний(Ссылка); + Текст = КорневойЭлемент.СоздатьТекстовыйУзел(ДанныеРаздела.Описание); + Ссылка.ДобавитьДочерний(Текст); + + КонецЦикла; + + КонецЕсли; + + ЗапиcьHTML = Новый ЗаписьHTML; + ЗапиcьHTML.УстановитьСтроку(); + ЗаписьDOM = Новый ЗаписьDOM; + ЗаписьDOM.Записать(КорневойЭлемент, ЗапиcьHTML); + + Возврат ЗапиcьHTML.Закрыть(); + +КонецФункции + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Для Сч = 1 По Метаданные.Обработки.Путеводитель.Макеты.Количество() - 1 Цикл + + МетД = Метаданные.Обработки.Путеводитель.Макеты.Получить(Сч); + Стр = РазделыКонфигурации.Добавить(); + Стр.Название = МетД.Имя; + Стр.Описание = МетД.Синоним; + + КонецЦикла; + + ПолеHTML = СформироватьHTMLПутеводителя(""); + + ТекущийПользователь = ПользователиИнформационнойБазы.ТекущийПользователь(); + Если ТекущийПользователь.Роли.Содержит(Метаданные.Роли.Администратор) Тогда + Элементы.ДекорацияЕслиНеАдминистратор.Видимость = Ложь; + Иначе + Элементы.ДекорацияЕслиНеАдминистратор.Видимость = Истина; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Функция ПолучитьИндексРаздела(Раздел) + + Для Сч = 0 По РазделыКонфигурации.Количество() - 1 Цикл + + ДанныеРаздела = РазделыКонфигурации.Получить(Сч); + + Если ДанныеРаздела.Название = Раздел Тогда + + Возврат Сч; + + КонецЕсли; + + КонецЦикла; + + Возврат -1; + +КонецФункции + +&НаКлиенте +Процедура ПоказатьРаздел(Документ, Раздел) + + СодержимоеРаздела = СформироватьHTMLПутеводителя(Раздел); + ЭлементHTML = Документ.getElementById("ПолеИнформации"); + ЭлементHTML.innerHTML = СодержимоеРаздела; + Якорь = Документ.getElementById(Раздел); + // В зависимости от типа браузера надо обращаться к разным свойствам + Если НЕ ВременнаяСсылка = Неопределено Тогда + Если Якорь.parentElement = Неопределено Тогда + ВременнаяСсылка.parentNode.style.backGroundColor = "#FFFFFF"; + Иначе + ВременнаяСсылка.parentElement.style.backGroundColor = "#FFFFFF"; + КонецЕсли; + КонецЕсли; + ВременнаяСсылка = Якорь; + Если Якорь.parentElement = Неопределено Тогда + Якорь.parentNode.style.backGroundColor = "#FFFFD5"; + Иначе + Якорь.parentElement.style.backGroundColor = "#FFFFD5"; + КонецЕсли; + + Индекс = ПолучитьИндексРаздела(Раздел); + + СтрелкаЛев = Документ.getElementById("СтрелкаЛев"); + СтрелкаЛев.href = "#" + Строка(Индекс - 1); + СтрелкаЛев.style.display = ""; + Если Индекс - 1 < 0 Тогда + СтрелкаЛев.style.display = "none"; + КонецЕсли; + + СтрелкаПрав = Документ.getElementById("СтрелкаПрав"); + СтрелкаПрав.href = "#" + Строка(Индекс + 1); + СтрелкаПрав.style.display = ""; + Если Индекс + 1 > РазделыКонфигурации.Количество() -1 Тогда + СтрелкаПрав.style.display = "none"; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПолеHTMLПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + ТекущийДокумент = ДанныеСобытия.Document; + +#Если МобильныйКлиент Тогда + + Позиция = Найти(ДанныеСобытия.Href, "ОткрытьФорму="); + + Если Позиция > 0 Тогда + ОткрытьФорму(Сред(ДанныеСобытия.Href, Позиция + 13)); + КонецЕсли; + + Позиция = Найти(ДанныеСобытия.Href, "ОткрытьСправку="); + + Если Позиция > 0 Тогда + ОткрытьСправку(Сред(ДанныеСобытия.Href, Позиция + 15)); + КонецЕсли; + + Позиция = Найти(ДанныеСобытия.Href, "ОткрытьСсылку="); + + Если Позиция > 0 Тогда + ПерейтиПоНавигационнойСсылке(Сред(ДанныеСобытия.Href, Позиция + 14)); + КонецЕсли; + + Позиция = Найти(ДанныеСобытия.Href, "#"); + Если Позиция > 0 Тогда + Индекс = Число(Сред(ДанныеСобытия.Href, Позиция + 1)); + ПоказатьРаздел(ТекущийДокумент, РазделыКонфигурации[Индекс].Название); + КонецЕсли; + +#Иначе + + Если НЕ ДанныеСобытия.Anchor = Неопределено Тогда + + Если ДанныеСобытия.Anchor.protocol = "v8:" Тогда + + Позиция = Найти(ДанныеСобытия.Href, "ОткрытьФорму="); + + Если Позиция > 0 Тогда + ОткрытьФорму(Сред(ДанныеСобытия.Href, Позиция + 13)); + КонецЕсли; + + Позиция = Найти(ДанныеСобытия.Href, "ОткрытьСправку="); + + Если Позиция > 0 Тогда + ОткрытьСправку(Сред(ДанныеСобытия.Href, Позиция + 15)); + КонецЕсли; + + Позиция = Найти(ДанныеСобытия.Href, "ОткрытьСсылку="); + + Если Позиция > 0 Тогда + ПерейтиПоНавигационнойСсылке(Сред(ДанныеСобытия.Href, Позиция + 14)); + КонецЕсли; + + ИначеЕсли ДанныеСобытия.Anchor.id = "СтрелкаЛев" Тогда + + Позиция = Найти(ДанныеСобытия.Href, "#"); + Индекс = Число(Сред(ДанныеСобытия.Href, Позиция + 1)); + ПоказатьРаздел(ТекущийДокумент, РазделыКонфигурации[Индекс].Название); + + ИначеЕсли ДанныеСобытия.Anchor.id = "СтрелкаПрав" Тогда + + Позиция = Найти(ДанныеСобытия.Anchor.href, "#"); + Индекс = Число(Сред(ДанныеСобытия.Anchor.href, Позиция + 1)); + ПоказатьРаздел(ТекущийДокумент, + РазделыКонфигурации.Получить(Индекс).Название); + + Иначе; + + ПоказатьРаздел(ТекущийДокумент, ДанныеСобытия.Anchor.id); + + КонецЕсли; + КонецЕсли; + +#КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ПолеHTMLДокументСформирован(Элемент) + ВременнаяСсылка = Неопределено; + ПоказатьРаздел(Элемент.Документ, РазделыКонфигурации[0].Название); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\220\320\263\321\200\320\265\320\263\320\260\321\202\321\213/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\220\320\263\321\200\320\265\320\263\320\260\321\202\321\213/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\220\320\263\321\200\320\265\320\263\320\260\321\202\321\213/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\220\320\263\321\200\320\265\320\263\320\260\321\202\321\213/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\220\320\263\321\200\320\265\320\263\320\260\321\202\321\213/ru.html" new file mode 100644 index 000000000..98a0c5667 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\220\320\263\321\200\320\265\320\263\320\260\321\202\321\213/ru.html" @@ -0,0 +1,5 @@ + +

Агрегаты регистра накопления

+

Использование агрегатов регистра накопления демонстрируется на примере регистра Продажи.

+

В конфигурации к регистру Продажи добавлены агрегаты.  Также добавлены регламентные задания ОбновлениеАгрегатовПродаж, ПерестроениеАгрегатовПродаж  с соответствующими расписаниями. Для управления агрегатами и регламентными заданиями добавлена обработка
УправлениеАгрегатамиПродаж (для работы регламентных заданий необходимо использование клиент-серверной версии).

+

Форма обработки управления агрегатами продаж позволяет включать режим агрегатов в регистре Продажи. При включении перестраивается использование агрегатов и выполняется заполнение агрегатов. В режиме агрегатов можно включать  регламентные задания обновления агрегатов и перестраивания использования агрегатов.
Возможно явное обновление, перестроение и построение оптимальных агрегатов. Форма отображает результаты перестроения использования и определения оптимальных агрегатов. Отображается предполагаемый размер агрегатов и эффект от применения агрегатов. Как результат определения оптимальных агрегатов - на форме отображается оптимальны ли агрегаты регистра в конфигурации (могут ли они обеспечить оптимальный список агрегатов) .

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\221\321\213\321\201\321\202\321\200\321\213\320\271\320\222\321\213\320\261\320\276\321\200\320\230\320\222\320\262\320\276\320\264\320\237\320\276\320\241\321\202\321\200\320\276\320\272\320\265/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\221\321\213\321\201\321\202\321\200\321\213\320\271\320\222\321\213\320\261\320\276\321\200\320\230\320\222\320\262\320\276\320\264\320\237\320\276\320\241\321\202\321\200\320\276\320\272\320\265/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\221\321\213\321\201\321\202\321\200\321\213\320\271\320\222\321\213\320\261\320\276\321\200\320\230\320\222\320\262\320\276\320\264\320\237\320\276\320\241\321\202\321\200\320\276\320\272\320\265/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\221\321\213\321\201\321\202\321\200\321\213\320\271\320\222\321\213\320\261\320\276\321\200\320\230\320\222\320\262\320\276\320\264\320\237\320\276\320\241\321\202\321\200\320\276\320\272\320\265/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\221\321\213\321\201\321\202\321\200\321\213\320\271\320\222\321\213\320\261\320\276\321\200\320\230\320\222\320\262\320\276\320\264\320\237\320\276\320\241\321\202\321\200\320\276\320\272\320\265/ru.html" new file mode 100644 index 000000000..90a07d73a --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\221\321\213\321\201\321\202\321\200\321\213\320\271\320\222\321\213\320\261\320\276\321\200\320\230\320\222\320\262\320\276\320\264\320\237\320\276\320\241\321\202\321\200\320\276\320\272\320\265/ru.html" @@ -0,0 +1,5 @@ + +

Быстрый выбор и ввод по строке

+

Методика изменения стандартной обработки быстрого выбора и ввода по строке демонстрируется на  примере справочника складов. Алгоритм реализован в модуле менеджера справочника.
Для ввода по строке добавляется отбор, исключающий элементы, для которых установлен реквизит НеИспользовать.
Для быстрого выбора в список включаются все элементы, но элементам, у которых установлен реквизит НеИспользовать, назначается предупреждение, которое будет выводиться при выборе.

+

Ввод по строке с поиском введенной строки в любом месте демонстрируется в справочниках Товары и Контрагенты.

+

 

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/ru.html" new file mode 100644 index 000000000..46d55c880 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\222\320\275\320\265\321\210\320\275\320\270\320\265\320\232\320\276\320\274\320\277\320\276\320\275\320\265\320\275\321\202\321\213/ru.html" @@ -0,0 +1,4 @@ + +

Внешние компоненты

+

В форме документа ПриходТовара демонстрируется методика работы с событиями внешних компонент на клиенте. Установка внешней компоненты выполняется общей командной УстановитьСканерШтрихкодов.

+

В справочнике  Товары на примере печати штрихкодов демонстрируется работа с внешними компонентами на сервере.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/_files/01_23.png" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/_files/01_23.png" new file mode 100644 index 000000000..03e43fd89 Binary files /dev/null and "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/_files/01_23.png" differ diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/_files/02_2.png" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/_files/02_2.png" new file mode 100644 index 000000000..ad606b411 Binary files /dev/null and "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/_files/02_2.png" differ diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/ru.html" new file mode 100644 index 000000000..227bb7a78 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\223\320\273\320\260\320\262\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/ru.html" @@ -0,0 +1,11 @@ + + + +
  +

Демонстрационное приложение

+ + +
  РАЗДЕЛЫ + +
  ИНФОРМАЦИЯ   Далее     





+
 
\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\265\320\274\320\276\320\275\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\265\320\274\320\276\320\275\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\265\320\274\320\276\320\275\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\265\320\274\320\276\320\275\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\265\320\274\320\276\320\275\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217/ru.html" new file mode 100644 index 000000000..c18ba68d0 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\265\320\274\320\276\320\275\321\201\321\202\321\200\320\260\321\206\320\270\320\276\320\275\320\275\320\260\321\217\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217/ru.html" @@ -0,0 +1,3 @@ + +

Демонстрационная конфигурация

+

Данная конфигурация не является законченным прикладным решением, ее нельзя использовать в качестве реально работающей системы. Вся функциональность, с прикладной точки зрения, представлена в сильно упрощенном виде и предназначена только для демонстрации возможностей. Подробнее.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\320\270\321\201\320\276\320\272/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\320\270\321\201\320\276\320\272/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\320\270\321\201\320\276\320\272/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\320\270\321\201\320\276\320\272/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\320\270\321\201\320\276\320\272/ru.html" new file mode 100644 index 000000000..4c8507885 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\224\320\270\320\275\320\260\320\274\320\270\321\207\320\265\321\201\320\272\320\270\320\271\320\241\320\277\320\270\321\201\320\276\320\272/ru.html" @@ -0,0 +1,7 @@ + +

Динамический список

+

В форме ФормаСпискаСОстатками справочника Товары демонстрируется возможность работы со сложным запросом в динамическом списке и возможности условного оформления. В списке отображаются только товары, по которым есть остатки на складах. Если остаток меньше нуля, то строка отображается красным цветом. Синим цветом выделяются услуги. Эта форма используется для выбора товара в документе РасходТовара. Она задана как форма выбора у поля Товар. В модуле формы полученный параметр (Склад) устанавливается как параметр запроса. Передача параметра осуществляется  за счет установки в метаданных для реквизита Товар свойства СвязиПараметровВыбора.

+

В форме списка документа ПриходТовара демонстрируется возможность группировки данных в динамическом списке. Документы сгруппированы по реквизиту Поставщик.

+

В форме списка журнала ФинансовыеДокументы демонстрируется возможность быстрого ввода отбора списка пользователем.

+

В форме ТекущиеКурсыВалют регистра КурсыВалют, отображаемой не рабочем столе, демонстрируется возможность работы динамического списка  с виртуальной таблицей.

+

Для форм списков документов ПриходТовара и РасходТовара, в свойствах динамического списка в форме задано несколько элементов отбора с отключенным использованием. Это позволяет пользователю сразу вводить отбор при настройке списка, не добавляя его из списка полей.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\235\320\260\321\207\320\260\320\273\321\214\320\275\321\213\320\274\320\270\320\224\320\260\320\275\320\275\321\213\320\274\320\270/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\235\320\260\321\207\320\260\320\273\321\214\320\275\321\213\320\274\320\270\320\224\320\260\320\275\320\275\321\213\320\274\320\270/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\235\320\260\321\207\320\260\320\273\321\214\320\275\321\213\320\274\320\270\320\224\320\260\320\275\320\275\321\213\320\274\320\270/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\235\320\260\321\207\320\260\320\273\321\214\320\275\321\213\320\274\320\270\320\224\320\260\320\275\320\275\321\213\320\274\320\270/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\235\320\260\321\207\320\260\320\273\321\214\320\275\321\213\320\274\320\270\320\224\320\260\320\275\320\275\321\213\320\274\320\270/ru.html" new file mode 100644 index 000000000..10088f907 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\235\320\260\321\207\320\260\320\273\321\214\320\275\321\213\320\274\320\270\320\224\320\260\320\275\320\275\321\213\320\274\320\270/ru.html" @@ -0,0 +1,5 @@ + +

Заполнение начальными данными

+

В документах демонстрируется заполнение реквизитов начальными данными.
У реквизитов Поставщик, Покупатель установлено свойство ЗаполнятьИзДанныхЗаполнения. Это обеспечивает заполнение реквизитов при вводе документов из списка, если в списке установлен отбор по этим реквизитам.

+

Для реквизита Вид справочника Товары в метаданных установлено свойство ЗначениеЗаполнения (вид товара - Товар).

+

В форме объекта справочника Контрагенты, в команде НовыйРасчетныйСчет, демонстрируется программное заполнение данных открываемой формы с помощью параметра формы ЗначенияЗаполнения. Обработка заполнения реализована в модуле объекта РасчетныеСчетаКонтрагентов.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217/ru.html" new file mode 100644 index 000000000..620dfce12 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217/ru.html" @@ -0,0 +1,6 @@ + +

Интерфейс приложения

+

Если у пользователя запущено несколько информационных баз, то бывает сложно определить, к какой информационной базе относится то или иное окно. Для того, чтобы упростить определение принадлежности окна к базе, можно задавать краткий заголовок окна. Заголовок может формироваться автоматически или задаваться вручную. Если краткий заголовок задан, то заголовки всех окон, относящихся к одной информационной базе, будут начинаться с этого заголовка. Например, если задан заголовок "DEMO", то заголовок основного окна будет выглядеть так: DEMO. Демонстрационное приложение (1С:Предприятие).

+

В данной конфигурации реализован ручной способ задания краткого заголовка, который, тем не менее, полностью демонстрирует данную возможность.

+

Для задания краткого заголовка следует открыть форму настроек пользователя и там изменить поле "Краткий заголовок приложения".

Взаимодействие с панелью задач ОС
В данной конфигурации, в качестве примера, в область предпросмотра окна приложения (появляется при наведении мыши на иконку на панели задач) в операционной системе Windows 7 и старше, добавляется кнопка проверки новых писем и кнопка открытия формы списка заказов.

+

При проверке новых писем, используя кнопку в области предпросмотра окна приложения, при наличии новых писем, на иконке в панели задач будет отображено их количество, а так же воспроизведется анимация мигания иконки. 

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\275\321\213\320\265\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\275\321\213\320\265\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\275\321\213\320\265\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\275\321\213\320\265\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\275\321\213\320\265\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" new file mode 100644 index 000000000..15404b608 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201\320\275\321\213\320\265\320\241\320\262\320\276\320\271\321\201\321\202\320\262\320\260\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" @@ -0,0 +1,8 @@ + +

Интерфейсные свойства метаданных

+

У справочников, в которых предполагается небольшое количество элементов, в метаданных установлено свойство БыстрыйВыбор. Это обеспечивает выбор из выпадающего списка в полях ввода там, где этот режим не отменен явно для реквизита или поля формы.

+

Для реквизита ДополнительнаяИнформация справочника Контрагенты в метаданных задано значение свойства МногострочныйРежим. Используя эту информацию, форма элемента справочника автоматически отображает поле ввода этого реквизита в виде многострочного поля.

+

На примере реквизита РасчетныйСчетПоставщика, документа Оплата, демонстрируется установка в конфигурации связи между реквизитами. В свойстве CвязиПараметровВыбора указано, что при выборе расчетного счета, необходимо отбирать счета по полю Владелец, используя для отбора значение реквизита Поставщик.

+

На примере реквизита Товар табличной части Товары документа ПриходТовара демонстрируется задание в метаданных конкретного значения параметра выбора. Задается параметр выбора "Отбор. Вид" для отбора элементов справочника с видом Товар. Таким образом, из выбора исключаются услуги.

+

Для реквизита Товар табличной части документа РасходТовара в свойстве CвязиПараметровВыбора задана связь параметра ОстаткиПоСкладу с реквизитом Склад. Этот параметр используется в форме ФормаСпискаСОстатками справочника Товары для показа справочника товаров по конкретному складу. Для связи установлено значение свойства РежимИзмененияСвязанногоЗначения - НеИзменять, так как не нужно очищать реквизит Товар при изменении склада.

+

Для ресурса Значение регистра сведений Характеристики в метаданных задано свойство СвязьПоТипу, определяющее выбор значения из тех типов, которые указаны в виде характеристики, выбранной в измерении ВидХарактеристики.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205/ru.html" new file mode 100644 index 000000000..9091eafc7 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\230\321\201\321\202\320\276\321\200\320\270\321\217\320\224\320\260\320\275\320\275\321\213\321\205/ru.html" @@ -0,0 +1,5 @@ + +

История данных

+

История данных демонстрируется на всех справочниках,  документах,  регистрах сведений.

+

 Для соответствующих объектов метаданных, установлено свойство «История данных» в значение «Использовать», что позволяет системе автоматически при записи данных помещать изменения данных в очередь формирования версий данных.

+

Добавлено РегламентноеЗадание ОбновлениеИсторииДанных, которое с периодичность один раз в минуту, формирует версии данных по изменениям данных в очереди.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\274\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\265/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\274\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\265/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\274\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\265/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\274\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\265/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\274\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\265/ru.html" new file mode 100644 index 000000000..ccd653d52 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\270\320\222\320\242\320\260\320\261\320\273\320\270\321\207\320\275\320\276\320\274\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\265/ru.html" @@ -0,0 +1,4 @@ + +

Отображение картинок в ячейках табличного документа

+

Возможности отображения картинок в ячейках табличного документа демонстрируется на примере формирования прайс-листа для справочника Товары.

+

Для спраочника Товары реализована команда ПечатьПрайсЛиста. В обработчике команды вызывается серверная функция, которая выполняет формирование выборки данных по товарам с помощью запроса. Затем на основании данных выборки происходит заполнение результирующего табличного документа при помощи макета МакетПрайсЛиста. Табличный документ возвращается функцией в клиентское приложение и открывается.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/ru.html" new file mode 100644 index 000000000..ef720a0aa --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\320\275\321\213\320\271\320\230\320\275\321\202\320\265\321\200\321\204\320\265\320\271\321\201/ru.html" @@ -0,0 +1,3 @@ + +

Командный интерфейс 

+

Для формирования командного интерфейса в конфигурации создан ряд подсистем.
Объекты конфигурации отнесены к подсистемам в соответствии со своим прикладным смыслом.
Для большинства подсистем внесены изменения во фрагменты командного интерфейса. Изменен порядок следования команд и установлены признаки видимости для команд, видимость которых не устанавливается системой по умолчанию, но которые могут часто использоваться.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" new file mode 100644 index 000000000..c2a3ea643 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\320\276\320\274\320\260\320\275\320\264\321\213\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" @@ -0,0 +1,5 @@ + +

Команды объектов метаданных

+

Создание команд, открывающих формы в основном окне, демонстрируется на примере команды для общей формы ОбщиеНастройки. Для этой общей формы отключено стандартное включение в командный интерфейс и создана команда, которая открывает общую форму в основном окне приложения.

+

У отчета ОстаткиТоваровНаСкладах создана команда ОстаткиПоСкладу. Для нее определен тип параметра СправочникСсылка.Склады и задана группа по умолчанию. Команда ОстаткиПоСкладу добавлена в командную панель документа РасходТовара с привязкой к полю формы Склад. Также данная команда автоматически добавляется в форме списка и в форме элемента справочника Склады.
В модуле команды значение параметра передается в открываемую форму отчета, в значении параметра "Отбор". Форма отчета анализирует данный параметр и автоматически добавляет в отбор отчета значения из данной структуры. Кроме отбора в форму отчета передается параметр "КлючНазначенияИспользования", позволяющий отчету, открываемому по данной команде, иметь собственные пользовательские настройки. Таким образом, пользователь будет иметь возможность модифицировать открываемый отчет, и его настройки будут использоваться при следующем открытии отчета с помощью данной команды. Также в форму отчета передается параметр "СформироватьПриОткрытии", при помощи которого указывается, что отчет должен быть сразу сформирован, т.е. пользователю не придется при открытии отчета формировать его при помощи команды Сформировать.

+

Система предоставляет стандартные команды с параметрами, которые можно использовать в формах. Например, критерий отбора ДокументыКонтрагента предоставляет команду для открытия списка документов. Она доступна в командном интерфейсе формы контрагента, так как параметр команды соответствует по типу, ссылке основного реквизита этой формы. Команда по умолчанию не видима, но в конфигурации она включена в режиме редактирования командного интерфейса формы. Некоторые команды, например, открытия подчиненных справочников, по умолчанию видимы. В форме контрагента такой командой является команда открытия списка расчетных счетов контрагента.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\321\217/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\321\217/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\321\217/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\321\217/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\321\217/ru.html" new file mode 100644 index 000000000..ba7f5a7a1 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\232\321\200\320\270\320\277\321\202\320\276\320\263\321\200\320\260\321\204\320\270\321\217/ru.html" @@ -0,0 +1,5 @@ + +

Криптография

+

Работа с криптографией демонстрируется в конфигурации в справочнике ХранимыеФайлы

+

В форме элемента в подменю "Криптография" расположены команды для выполнения основных операций, связанных с подписью и шифрованием.

+

Для работы криптографии в веб-клиенте требуется выполнить установку расширения работы с криптографией в разделе "Предприятие".

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/ru.html" new file mode 100644 index 000000000..2733067e3 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\265\321\205\320\260\320\275\320\270\320\267\320\274\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/ru.html" @@ -0,0 +1,6 @@ + +

Механизм характеристик

+

В конфигурации указано использование характеристик для справочников Товары и Контрагенты.

+

Виды характеристик хранятся в плане видов характеристик ВидыХарактеристик. При этом принадлежность характеристик объекту метаданных указывается в поле Назначение.

+

В демонстрационной базе характеристики выводятся в отчетах ОтчетПоВзаиморасчетам, ОстаткиТоваровНаСкладах (в варианте "Остатки товаров с характеристиками").

+

Кроме того, характеристики выводятся в динамическом списке, в форме выбора товара с остатками. Форму выбора товара с остатками можно открыть при добавлении товара в табличную часть документа Продажи.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\320\265/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\320\265/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\320\265/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\320\265/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\320\265/ru.html" new file mode 100644 index 000000000..32876271e --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\265\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\320\265/ru.html" @@ -0,0 +1,72 @@ + +

Мобильное приложение

+

Для демонстрации  возможностей мобильной платформы 1С:Предприятия реализована конфигурация 1С:Демо.

+

 

+

Конфигурация предназначена для организации автономного рабочего места менеджера по продажам, работающего на выездах к клиентам.  Подразумевается, что информационная база с данной конфигурацией взаимодействует с демонстрационной информационной базой, с помощью механизмов обмена данными.

+

 

+

Возможности, предоставляемые менеджеру:

+

 - ввод новых заказов покупателя;

+

 - просмотр информации по ранее введенным заказам;

+

 - ввод новых контрагентов;

+

 - получение отчета по остаткам товаров на складах;

+

 - просмотр информации по товарам и складам, без возможности внесения изменений в эти справочники;

+

 - отправка электронных писем контрагентам.

+

 

+

Просматривать информацию по ранее введенным заказам можно разными способами:

+

 - стандартным списком документов,  с помощью условного оформления выделяются различные состояния заказов;

+

 - с помощью обработки "Анализ заказов" можно просмотреть заказы, по конкретному виду цен.

+

 

+

Отчет по остаткам товаров на складах формируется удаленно, в основной информационной базе. Обработка "Остатки товаров", с его помощью, позволяет получить остатки по конкретному товару, группе товаров,  либо по всем товарам; на конкретном складе, либо на всех складах. Получение отчета возможно либо моментально, либо в процессе синхронизации данных.

+

 

+

Отчет "Анализ заказов" демонстрирует формирование отчета с использованием системы компоновки данных.

+

 

+

+

Справочник контрагентов демонстрирует специфические возможности мобильной платформы:

+

- телефонный звонок;

+

- отправка смс;

+

- определение географических координат текущего местоположения;

+

- получение адреса по географическим координатам;

+

- отображение географических координат на карте;

+

- использование геозон;

+

- специальные возможности редактирования полей, в том числе программное начало редактирования.

+

 

+

Справочник хранимых файлов демонстрирует возможности:

+

- создание и просмотр файлов мультимедиа (фото, видео, аудио);

+

- подпись и шифрование;

+

- загрузка и сохранение файлов с использованием специфических возможностей работы с файлами на устройстве.

+

 

+

Документ заказ демонстрирует возможности оформления командных панелей.

+

 

+

В демонстрационной конфигурации реализована возможность синхронизации данных с мобильным приложением. В частности реализованы:

+

 - план обмена "Мобильные устройства";

+

 - web-сервис  "MAExchange", для транспортировки пакетов обмена и сформированных отчетов;

+

 - регистр сведений "Мобильные отчеты", для хранения сформированного отчета;

+

 - синхронизация осуществляется в фоновом режиме;

+

 - перед началом синхронизации проверяется тип интернет соединения на мобильном устройстве;

+

 - при обработке принятых данных подсчитывается количество новых заказов, оно сообщается пользователю по окончании синхронизации.

+

 

+

В демонстрационной конфигурации реализована возможность отправки push-уведомлений на мобильное устройство. Push-уведомления отправляются мобильным пользователям системы

+

 - при добавлении нового товара в справочник "Товары";

+

 - при изменении статуса заказа.

+

При получении уведомления мобильным приложением воспроизводится звуковое оповещение.

+

 

+

Реализована возможность воспроизведения текстового сообщения голосом. Воспроизводятся оповещения:

+

- текст push-уведомлений

+

- сообщение о результате синхронизации.

+

Для включения этой возможности предусмотрены настройки.

+

 

+

Реализована возможность отправки электронных писем контрагентам в форматированном виде.

+

 

+

Кроме конфигурации, в поставку входит набор картинок (resources.zip), которые могут быть использованы при подготовке демо приложения для мобильных операционных систем.

+

 

+

Перед началом использования.

+

1. Для демонстрационной базы нужно опубликовать web-сервис  "MAExchange".

+

2. Мобильное приложение должно быть установлено на мобильное устройство.

+

3. Мобильная информационная база  должна быть настроена для связи с демонстрационной базой. В форме настроек должны быть указаны

+

 - адрес опубликованного сервиса;

+

 - имя пользователя, от имени которого будет вызываться сервис

+

 - необходимость запроса пароля.

+

4. Для настройки отправки push-уведомлений нужно воспользоваться формой "Настройка отправки push-уведомлений". Заполнить с ее помощью константы, которые будут использованы. Конкретный набор констант зависит от сервисов доуставки уведомлений, которые будут задействованы.

+

5. Для получения начального состояния должна быть проведена синхронизация данных.

+

Настройка параметров и синхронизация данных будут предложены пользователю программой при запуске.

+

 

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/ru.html" new file mode 100644 index 000000000..c488dfdef --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\271\320\232\320\273\320\270\320\265\320\275\321\202/ru.html" @@ -0,0 +1,24 @@ + +

Мобильный клиент

+

При использовании демонстрационного приложения через мобильный клиент, пользователь получает доступ ко всей функциональности, доступной ему другими способами. И, дополнительно, предоставляется возможность использования возможностей мобильного устройства.

+

На примере формы подбора товаров (команда “Подбор” в документах Приход товара и Расход товара) демонстрируется возможность разработки форм, предназначенных, специально для мобильного клиента.

+

 

+

Справочник Контрагенты демонстрирует специфические возможности мобильного клиента:

+

- телефонный звонок;

+

- отправка смс;

+

- определение географических координат текущего местоположения;

+

- получение адреса по географическим координатам;

+

- отображение географических координат на карте;

+

- использование геозон;

+

- специальные возможности редактирования полей, в том числе программное начало редактирования.

+

 

+

Справочник Хранимые файлы демонстрирует возможности:

+

- создание и просмотр файлов мультимедиа (фото, видео, аудио);

+

- подпись и шифрование;

+

- загрузка и сохранение файлов с использованием специфических возможностей работы с файлами на устройстве.

+

 

+

Реализован прием push-уведомлений:

+

 - при добавлении нового товара в справочник Товары;

+

 - при изменении статуса заказа.

+

При получении уведомления мобильным приложением воспроизводится звуковое оповещение.

+

Реализована возможность воспроизведения текстового сообщения голосом.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\235\320\260\321\207\320\260\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\235\320\260\321\207\320\260\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\235\320\260\321\207\320\260\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\235\320\260\321\207\320\260\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\235\320\260\321\207\320\260\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/ru.html" new file mode 100644 index 000000000..cdff0d07a --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\235\320\260\321\207\320\260\320\273\321\214\320\275\320\260\321\217\320\241\321\202\321\200\320\260\320\275\320\270\321\206\320\260/ru.html" @@ -0,0 +1,3 @@ + +

Начальная страница

+

На начальной странице расположены списки приходных и расходных накладных. Кроме того, на начальной странице расположены формы, отображающие текущие остатки взаиморасчетов и курсы валют. Для всех форм начальной страницы настроена их видимость по ролям.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\222\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\222\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\222\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\222\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\222\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" new file mode 100644 index 000000000..76845b474 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\320\265\320\241\321\202\320\260\320\275\320\264\320\260\321\200\321\202\320\275\321\213\321\205\320\240\320\265\320\272\320\262\320\270\320\267\320\270\321\202\320\276\320\262\320\222\320\234\320\265\321\202\320\260\320\264\320\260\320\275\320\275\321\213\321\205/ru.html" @@ -0,0 +1,5 @@ + +

Описание стандартных реквизитов в метаданных

+

Для справочника Товары для стандартного реквизита Родитель задан синоним "Группа", так как этот термин больше понятен пользователям при обозначении группы, в которую входит товар. Во всех формах и отчетах вместо надписи "Родитель" автоматически отображается надпись "Группа".

+

Аналогично синоним для стандартного реквизита Родитель задан и для справочника Контрагенты.

+

Синонимы  также заданы для стандартных реквизитов Владелец в некоторых подчиненных справочниках.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\321\202\321\207\320\265\321\202\321\213/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\321\202\321\207\320\265\321\202\321\213/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\321\202\321\207\320\265\321\202\321\213/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\321\202\321\207\320\265\321\202\321\213/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\321\202\321\207\320\265\321\202\321\213/ru.html" new file mode 100644 index 000000000..0abcecb91 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\236\321\202\321\207\320\265\321\202\321\213/ru.html" @@ -0,0 +1,8 @@ + +

Отчеты

+

Работа с отчетами демонстрируется несколькими отчетами, включенными в конфигурацию. Во всех отчетах определена схема компоновки данных, которая содержит полное описание отчета.

+

В отчетах демонстрируется работа с пользовательскими настройками отчетов и вариантами отчетов. Настройки, которые предполагается редактировать пользователем, отмечены как пользовательские.

+

В отчете ДинамикаПродаж определено четыре стандартных варианта. В варианте "Диаграмма по периодам" демонстрируется настройка оформления серий диаграммы и использование линии тренда. В варианте "Диаграмма по периодам в сравнении с желаемым уровнем" демонстрируется настройка информационных линий и интервалов.

+

В отчете ОстаткиТоваровНаСкладах демонстрируется использование команды для вызова отчета из других форм с определенным отбором.

+

В отчете ДокументыОплата демонстрируется использование связи параметров выбора, описанных в конфигурации - при вводе отбора для поля "Расчетный счет поставщика" в форме выбора автоматически устанавливается отбор по полю "Владелец". Кроме того, при смене в отборе значения поля "Поставщик", значение отбора в поле "Расчетный счет поставщика" будет автоматически очищено для того, чтобы не отбирать значения по счетам другого поставщика.

+

В отчете ВзаимосвязьПродажТоваров демонстрируется анализ взаимосвязей продаж по товарам с помощью точечной диаграммы и линий тренда.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ru.html" new file mode 100644 index 000000000..67efb5316 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\265\321\207\320\260\321\202\321\214\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ru.html" @@ -0,0 +1,5 @@ + +

Печать документа

+

У документа РасходТовара реализована параметризованная команда ПечатьРасходнойНакладной. Она автоматически включается в форму документа и в форму списка. Для команды установлен множественный режим использования параметра. В форме списка при вызове команды в ее параметр будут передаваться ссылки, соответствующие выделенным строкам. В обработчике команды вызывается серверная функция, которая выполняет формирование печатных форм. Табличный документ возвращается функцией в клиентское приложение и открывается.

+

Табличный документ в режиме ввода демонстрируется на примере печати заявки на доставку при продаже товара. Там же демонстрируется возможность расположения содержимого табличного документа по центру экрана\страницы.

+

В форме печати заявки на доставку демонстрируется работа с пакетом документов - имеется возможность распечатать сразу форму доставки и расходной накладной.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/ru.html" new file mode 100644 index 000000000..46c2e70e7 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\273\320\260\320\275\320\270\321\200\320\276\320\262\321\211\320\270\320\272/ru.html" @@ -0,0 +1,3 @@ + +

Планировщик

+

Планировщик демонстрируется в конфигурации в справочнике Встречи.
Команда Календарь позволяет планировать распорядок встреч сотрудника

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\276\320\264\320\261\320\276\321\200/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\276\320\264\320\261\320\276\321\200/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\276\320\264\320\261\320\276\321\200/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\276\320\264\320\261\320\276\321\200/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\276\320\264\320\261\320\276\321\200/ru.html" new file mode 100644 index 000000000..e97d71ebc --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\320\276\320\264\320\261\320\276\321\200/ru.html" @@ -0,0 +1,5 @@ + +

Подбор

+

Методика организации подбора демонстрируется в форме документа РасходТовара. Для подбора используется форма ФормаПодбора. Она вызывается модально в обработчике команды формы документа.

+

Для передачи содержимого табличной части в форму подбора и обратно используется временное хранилище с указанием идентификатора формы.

+

В форме подбора организовано перетаскивание товаров из общего списка в список подобранных товаров, для этого используется механизм платформы - перетаскивание.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/ru.html" new file mode 100644 index 000000000..46201bc00 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\260\320\262\320\260\320\224\320\276\321\201\321\202\321\203\320\277\320\260/ru.html" @@ -0,0 +1,4 @@ + +

Права доступа

+

В конфигурации создана роль Продавец. Ей назначены только права, необходимые для ввода и проведения документа РасходТовара, а также для просмотра справочников. Доступ ко всем недоступным объектам автоматически исключается системой из командного интерфейса.
Для реквизита ОбоснованиеОтгрузки документа РасходТовара установлено только право на просмотр, поэтому в форме этот реквизит недоступен для редактирования.

+

В метаданных для документов, по которым используется проведение, установлены свойства ПривилегированныйРежимПриПроведении и ПривилегированныйРежимПриОтменеПроведения. Это позволяет выполнять чтение и запись регистров в процессе проведения, хотя сами регистры пользователю недоступны.
Также в конфигурации реализованы роли Менеджера по закупкам и Менеджера по продажам.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ru.html" new file mode 100644 index 000000000..d1357898b --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\320\264\320\265\320\275\320\270\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262/ru.html" @@ -0,0 +1,6 @@ + +

Проведение документов

+

Используется новая методика проведения документов.

+

В метаданных для документов, по которым используется проведение, для свойства ЗаписьДвиженийПриПроведении установлено значение ЗаписыватьВыбранные, а для свойства УдалениеДвижений - значение УдалятьАвтоматическиПриОтменеПроведения.

+

В модулях документов, соответственно, выполняется установка свойства Записывать для наборов записей регистров, по которым документ может делать движения. Это обеспечивает запись после проведения выбранных наборов записей независимо от того, заполнены они или нет.

+

В документе РасходТовара демонстрируется методика контроля остатков. При оперативном проведении набору записей регистра ТоварныеЗапасы устанавливается режим БлокироватьДляИзменения. Это обеспечивает блокировку регистра при записи, исключающую параллельную запись другими транзакциями. Блокировка необходима для контроля остатков. Контроль остатков выполняется после записи движений. Запись движений документа выполняется в обработчике проведения  вызовом метода Записать коллекции движений. Это позволяет выполнить необходимые  действия в обработчике после записи движений регистров. В данном случае, выполняется запрос для контроля остатков.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/ru.html" new file mode 100644 index 000000000..2aeb86862 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\227\320\260\320\277\320\276\320\273\320\275\320\265\320\275\320\270\321\217/ru.html" @@ -0,0 +1,5 @@ + +

Проверка заполнения

+

Для многих реквизитов в конфигурации установлено свойство ПроверкаЗаполнения. На основании этого свойства при вводе данных выполняется проверка, и пользователю выдаются ошибки, если данные не заполнены.

+

Например, в документе РасходТовара у реквизитов и табличной части установлено свойство ПроверкаЗаполнения (значение ВыдаватьОшибку). Это позволяет системе автоматически проверять заполнение данных реквизитов и заполнение табличной части. Проверка вызывается расширением формы перед выполнением проведения документа.
В модуле документа, в обработчике ОбработкаПроверкиЗаполнения, переопределяется стандартное сообщение проверки для реквизита Покупатель.

+

Кроме того, переопределение проверки заполнения демонстрируется в модуле объекта справочника Контрагенты.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\275\320\276\320\265\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\244\320\276\321\200\320\274\321\213/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\275\320\276\320\265\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\244\320\276\321\200\320\274\321\213/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\275\320\276\320\265\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\244\320\276\321\200\320\274\321\213/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\275\320\276\320\265\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\244\320\276\321\200\320\274\321\213/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\275\320\276\320\265\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\244\320\276\321\200\320\274\321\213/ru.html" new file mode 100644 index 000000000..57f1573ab --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\263\321\200\320\260\320\274\320\274\320\275\320\276\320\265\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\265\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\244\320\276\321\200\320\274\321\213/ru.html" @@ -0,0 +1,3 @@ + +

Программное изменение описания формы

+

Методика программного изменения описания формы демонстрируется  в  форме элемента справочника Товары.
В модуле формы создаются реквизиты формы и элементы формы для редактирования характеристик, хранящихся в регистре сведений. Пользователю предоставляется возможность как редактирования существующих характеристик, так и добавления новых.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\273\321\214\320\275\321\213\320\265\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\273\321\214\320\275\321\213\320\265\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\273\321\214\320\275\321\213\320\265\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\273\321\214\320\275\321\213\320\265\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\273\321\214\320\275\321\213\320\265\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/ru.html" new file mode 100644 index 000000000..94539aad0 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\237\321\200\320\276\320\270\320\267\320\262\320\276\320\273\321\214\320\275\321\213\320\265\320\237\321\200\320\265\320\264\321\201\321\202\320\260\320\262\320\273\320\265\320\275\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/ru.html" @@ -0,0 +1,4 @@ + +

Произвольные представления объектов

+

Работа с произвольными представлениями демонстрируется в конфигурации в документе РасходТовара. В модуле менеджера документа определены обработчики получения представления.

+

Результат работы обработчиков можно увидеть в отчете по взаиморасчетам: для расходных документов в отчете будет выводиться дата документа без времени.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\260\320\274\320\270/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\260\320\274\320\270/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\260\320\274\320\270/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\260\320\274\320\270/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\260\320\274\320\270/ru.html" new file mode 100644 index 000000000..f4671b9f2 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\244\320\260\320\271\320\273\320\260\320\274\320\270\320\230\320\232\320\260\321\200\321\202\320\270\320\275\320\272\320\260\320\274\320\270/ru.html" @@ -0,0 +1,6 @@ + +

Работа с файлами и картинками

+

В конфигурации реализован справочник ХранимыеФайлы. В нем хранятся файлы в виде хранилища значений. В форме элемента реализовано помещение в базу данных файла с диска и, наоборот, помещение файла из базы данных на диск. Методика работы с файлами ориентирована на работу как в тонком клиенте, так и в веб-клиенте. Это определяет ее основные особенности. Манипуляции с файлами выполняются через временное хранилище. Получение файла из базы данных может выполняться и без временного хранилища, с использованием адреса.

+

Форма элемента справочника демонстрирует обычные (не расширенные) возможности работы с файлами.
С помощью метода ПоместитьФайл выполняется запрос у пользователя имени файла и помещение выбранного пользователем файла во временное хранилище на сервере. Метод выдает адрес временного хранилища. Затем на сервере вызывается процедура модуля ПоместитьФайлОбъекта. Она преобразует данные формы в объект типа СправочникОбъект, извлекает файл из временного хранилища методом ПолучитьИзВременногоХранилища, помещает его в реквизит справочника, записывает элемент в базу данных и выполняет обратное преобразование в данные формы.
Для сохранения файла на диск с помощью метода ПолучитьНавигационнуюСсылку, выполняется получение адреса файла в информационной базе. Далее, методом ПолучитьФайл вызывается запрос у пользователя места расположения и имени файла, считывание файла из базы и, собственно, запись файла на диск.

+

Команды формы списка справочника "Открыть файлы" и "Загрузить файлы" демонстрируют возможности, которые предоставляет расширение работы с файлами.
Команда "Загрузить файлы" демонстрирует метод ПоместитьФайлы, который позволяет загрузить несколько файлов с клиента на сервер. На сервере файлы размещаются во временном хранилище.
Команда "Открыть файлы" демонстрирует метод ПолучитьФайлы, который позволяет загрузить несколько файлов с сервера  на клиент, метод ЗапуститьПриложение, который запускает на клиенте приложение, ассоциированное с типом полученного файла, и метод ЗапроситьРазрешениеПользователя, который позволяет уменьшить количество, задаваемых пользователю, вопросов о разрешении взаимодействия с файловой системой клиента. Для работы с файлами на клиенте определяется каталог хранения файлов. Он может быть задан с помощью обработки "Настройки пользователя", либо будет запрошен при первом использовании.

+

В справочнике Товары в реквизите ФайлКартинки хранится ссылка на элемент справочника, предоставляющий изображение товара. В форме справочника располагается поле, отображающее картинку. Выполняется получение адреса в информационной базе методом ПолучитьНавигационнуюСсылку. Полученный адрес устанавливается реквизиту формы, с которым связано поле картинки. Соответственно, в поле отображается картинка, получаемая системой по этому адресу.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/ru.html" new file mode 100644 index 000000000..26f0c4049 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\270\321\201\321\202\320\265\320\274\320\260\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/ru.html" @@ -0,0 +1,17 @@ + +

Система взаимодействия

+

Для знакомства с системой взаимодействия необходимо вначале выполнить подключение информационной базы.

+

Работа с системой взаимодействия демонстрируется в конфигурации в обработке УправлениеСистемойВзаимодействия и в регламентном задании ПомощникНеотработанныеЗаказы.

+

В обработке УправлениеСистемойВзаимодействия демонстрируется подключение и отключение информационной базы от системы взаимодействия.

+

При подключении ИБ к системе взаимодействия:

+
  • Создается пользователь Помощник с ролью Помощник +
  • Для пользователей информационной базы с ролями Администратор, МенеджерПоЗакупкам, МенеджерПоПродажам и Продавец создаются пользователи в системе взаимодействия +
  • Создается обсуждение с заголовком «Неотработанные заказы» и ключом «НеотработанныеЗаказы» +
    • В участники этого обсуждения добавляются пользователи с ролями Администратор и МенеджерПоПродажам и пользователь Помощник
  • В обсуждение записывается приветственное сообщение, содержащее ссылку на настройку +
  • Регламентному заданию ПомощникНеотработанныеЗаказы назначается пользователь Помощник и включается его использование +
  • Подключается обработчик действия сообщения

+

При отключении ИБ от системы взаимодействия у регламентного задания ПомощникНеотработанныеЗаказы устанавливается Использование=Ложь

+

Регламентное задание демонстрирует возможность вывода информации для пользователя при помощи сообщений системы взаимодействия.
Метод регламентного задания ПомощникНеотработанныеЗаказы:

+
  • Выбирает заказы, незакрытые более заданного количества дней (по умолчанию 30) +
  • Если такие заказы есть, то в обсуждение с ключом НеотработанныеЗаказы записывается сообщение со списком заказов (в виде гиперссылки). Сообщение также содержит ссылку для вызова формы настройки помощника.

+

При начале работы системы, если информационная база подключена к системе взаимодействия, подключается обработчик действия сообщения. Обработчик при нажатии на ссылку Настройка в сообщении вызывает общую форму НастройкаПомощникаНеотработанныхЗаказов.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\230\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\230\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\230\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\230\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\230\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/ru.html" new file mode 100644 index 000000000..d596bb4e0 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\241\320\276\320\276\320\261\321\211\320\265\320\275\320\270\321\217\320\230\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265/ru.html" @@ -0,0 +1,4 @@ + +

Сообщения и состояние

+

В модуле документа РасходТовара при проведении выполняется проверка наличия товаров на складе. При нехватке товаров формируется сообщение. При этом, в сообщение включается информация, позволяющая системе в форме документа показать пользователю то место, где необходимо исправить вводимые данные. Для этого в сообщении задается имя поля, которое нужно активизировать, и вызывается метод УстановитьДанные, который включает в сообщение информацию о пути к данным объекта в форме.

+

На примере обработки ПроведениеДокументов демонстрируется организация отображения состояния и проверки прерывания пользователем длительных операций.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\242\320\270\320\277\320\276\320\262\321\213\320\265\320\237\321\200\320\270\320\265\320\274\321\213\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\320\272\320\270/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\242\320\270\320\277\320\276\320\262\321\213\320\265\320\237\321\200\320\270\320\265\320\274\321\213\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\320\272\320\270/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\242\320\270\320\277\320\276\320\262\321\213\320\265\320\237\321\200\320\270\320\265\320\274\321\213\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\320\272\320\270/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\242\320\270\320\277\320\276\320\262\321\213\320\265\320\237\321\200\320\270\320\265\320\274\321\213\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\320\272\320\270/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\242\320\270\320\277\320\276\320\262\321\213\320\265\320\237\321\200\320\270\320\265\320\274\321\213\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\320\272\320\270/ru.html" new file mode 100644 index 000000000..fc3f3766e --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\242\320\270\320\277\320\276\320\262\321\213\320\265\320\237\321\200\320\270\320\265\320\274\321\213\320\240\320\260\320\267\321\200\320\260\320\261\320\276\321\202\320\272\320\270/ru.html" @@ -0,0 +1,26 @@ + +

Типовые приемы разработки

+

Открытие стандартной формы:
Форма поиска

+

Преобразование данных формы в прикладной объект:
Документ.РасходТовара.ФормаДокумента - Процедура ПересчитатьНаСервере.

+

Открытие формы модально:
Документ.РасходТовара.ФормаДокумента - Процедура КомандаПодбор.

+

Передача параметра в форму:
Отчет.ОстаткиТоваровНаСкладах.ФормаОтчета

+

Работа с файлами:
Справочник.ХранимыеФайлы.ФормаЭлемента

+

Работа с криптографией:
Справочник.ХранимыеФайлы.ФормаЭлемента

+

Работа с картинками:
Справочник.Товары.ФормаЭлемента

+

Управление отбором списка:
ЖурналДокументов.ФинансовыеДокументы.ФормаСписка

+

Открытие формы с активизацией строки:
РегистрНакопления.Взаиморасчеты.ФормаСписка

+

Открытие формы с заполнением данных:
Справочник.Контрагенты.Форма.ФормаЭлемента
Справочник.РасчетныеСчетаКонтрагентов  - модуль объекта

+

Работа с таблицей значений:
РегистрНакопления.Взаиморасчеты.ТекущиеВзаиморасчеты

+

Табличный документ в режиме ввода:
Документ.РасходТовара.Форма.ОформлениеДоставки

+

Работа с внешними событиями:
Документ.ПриходТовара.Форма.ФормаДокумента

+

Заполнение:
Справочник.РасчетныеСчетаКонтрагентов - модуль объекта

+

Проверка заполнения:
Справочник.Контрагенты - модуль объекта
Документ.РасходТовара - модуль объекта

+

Сообщения:
Документ.РасходТовара - модуль объекта

+

Использование режима "Записывать выбранные" при проведении:
Документ.РасходТовара - модуль объекта

+

Параметризованная команда с множественным параметром:
Документ.РасходТовара.Команда.ПечатьРасходнойНакладной

+

Использование связей параметров выбора для реализации специфической функциональности выбора:
Реквизит Товар табличной части документа РасходТовара - свойство СвязиПараметровВыбора.
Форма ФормаСпискаСОстатками справочника Товары.

+

Заполнение данных колонок таблиц, созданных в форме (дополнительных колонок данных для отображаемых в форме табличных частей объектов):
Документ.РасходТовара.ФормаДокумента.

+

Программное изменение описания формы:
Справочник.Товары.ФормаЭлемента.

+

Создание нового элемента справочника при вводе документа:
Документ.РасходТовара.ФормаДокумента.

+

Произвольный состав кнопок в функции "Вопрос()":
Обработка.УправлениеНастройкамиФорм.Форма - обработчики команд "Скопировать()" и "Удалить()".

+

Действия при закрытии формы:
Справочник.ИсходящиеПисьма.ФормаЭлемента - обработчик события формы "ПередЗакрытием".

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260/ru.html" new file mode 100644 index 000000000..1325a5986 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260/ru.html" @@ -0,0 +1,14 @@ + +

Форма

+

Формы документов ПриходТовара и РасходТовара демонстрируют работу с различными элементами формы: поле, группа, группа страниц, таблица и т.д. В этих формах демонстрируется работа встроенного языка в форме. Например, пересчет суммы при изменении цены и количества или получении цены при изменении товара. Пересчет суммы  при изменении  количества выполняется без обращения к серверу. На примере получения цены при изменении товара, демонстрируется обращение к серверной функции без контекста формы. Также демонстрируется включение в форму итогов по колонкам и отображение на закладке количества строк в табличной части.

+

Использование поля переключателей демонстрируется в форме элемента справочника Товары, на примере выбора вида товара. Значения перечисления заданы в свойстве СписокВыбора.

+

Различные варианты использования групп продемонстрированы в формах объектов справочников Товары и Контрагенты, а также в форме объекта документа РасходТовара. В форме справочника Контрагенты представлены группы вида Свертываемая и Всплывающая.

+

В форме списка регистра накопления Взаиморасчеты демонстрируется возможность открытия формы с активизацией определенной строки в списке.

+

В форме документа ПриходТовара демонстрируется отображение в табличной части реквизита ссылочного значения. В табличной части Товары отображается артикул.

+

В форме документа РасходТовара на примере команды Пересчитать демонстрируется преобразование данных формы в прикладной объект и обратно.

+

В форме документа РасходТовара демонстрируется использование условного оформления формы и включение в данные, связанные с таблицей, дополнительных колонок. Для данных формы, отображающих таблицу Товары, добавлена колонка СуммаИзменена, в которой в различных обработчиках проставляется признак - отличается ли сумма строки документа от произведения количества и цены. В условном оформлении формы установлено выделение поля Сумма для таких строк цветом текста и жирным шрифтом.

+

В форме документа РасходТовара демонстрируется создание нового элемента справочника при вводе документа.

+

В форме редактирования товара демонстрируется переключение доступности элементов в зависимости от текущих значений данных.

+

Включение команд в контекстное меню демонстрируется на примере формы списка документов РасходТовара. Для таблицы в контекстное меню добавлена команда печати.

+

В форме справочника ИсходящиеПисьма демонстрируются возможности модели завершения работы приложения. В частности, выводятся соответствующие предупреждения при закрытии формы или при завершении работы приложения.

+

В формах документов РасходТовара и Заказ демонстрируется использование кнопок командной панели с видом "Гиперссылка командной панели".

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\275\321\213\320\271\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\275\321\213\320\271\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\275\321\213\320\271\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\275\321\213\320\271\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\275\321\213\320\271\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202/ru.html" new file mode 100644 index 000000000..a385e159f --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\320\276\321\200\320\274\320\260\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\275\321\213\320\271\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202/ru.html" @@ -0,0 +1,4 @@ + +

Форматированный документ

+

В конфигураторе на примере простого почтового клиента продемонстрированы возможности форматированного документа. Форма для работы с почтой расположена на рабочем столе. В форме нового письма пользователь может воспользоваться различными оформительскими возможностями форматированного документа.

+

 

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\321\213\320\265\320\236\320\277\321\206\320\270\320\270/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\321\213\320\265\320\236\320\277\321\206\320\270\320\270/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\321\213\320\265\320\236\320\277\321\206\320\270\320\270/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\321\213\320\265\320\236\320\277\321\206\320\270\320\270/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\321\213\320\265\320\236\320\277\321\206\320\270\320\270/ru.html" new file mode 100644 index 000000000..ae6d2aba6 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\244\321\203\320\275\320\272\321\206\320\270\320\276\320\275\320\260\320\273\321\214\320\275\321\213\320\265\320\236\320\277\321\206\320\270\320\270/ru.html" @@ -0,0 +1,8 @@ + +

Функциональные опции

+

В конфигурации реализовано несколько функциональных опций.

+

Функциональные опции УчетПоСкладам и РаботаСТорговымОборудованием действуют на всю систему. Они связаны с соответствующими константами, в которых хранятся значения этих функциональных опций. Для различных объектов конфигурации функциональные опции выбраны в свойстве ФункциональныеОпции. Например, для справочника Склады, реквизитов документов Склад и т.д.

+

Функциональная опция ВалютныйУчет задается отдельно для каждой организации. Ее значения хранятся в реквизите справочника Организации. В конфигурации заведен параметр функциональных опций Организация, который связан со справочником Организации. Состав функциональной опции включает  реквизиты ВалютныйУчет различных объектов, а также справочник Валюты и регистр сведений КурсыВалют. В формах документов, в которых выбирается валюта, заданная пользователем организация устанавливается в качестве значения параметра функциональных опций Организация. Это позволяет определить текущее значение функциональной опции для открытой формы. Справочник Валюты и регистр сведений КурсыВалют, а также колонки Валюта списков документов отображаются, если есть хотя бы одна организация, для которой включен валютный учет.

+

После изменения констант, а также организации для применения новых значений функциональных опций, вызывается метод ОбновитьИнтерфейс.

+

В обработчиках документов ОбработкаПроверкиЗаполнения отключается проверка заполнения валюты для организаций, по которым не ведется валютный учет.

+

 

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Template.htmldoc" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Template.htmldoc" new file mode 100644 index 000000000..1621f1d23 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Template.htmldoc" @@ -0,0 +1,4 @@ + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/ru.html" new file mode 100644 index 000000000..1fafecfbf --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/Templates/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/ru.html" @@ -0,0 +1,3 @@ + +

Хранилище настроек пользователей

+

Для хранения вариантов отчета в конфигурации создано хранилище настроек ХранилищеВариантовОтчетов, которое сохраняет настройки в справочнике. Данное хранилище используется для хранения вариантов всех отчетов конфигурации. Созданные варианты отчетов могут быть выбраны всеми пользователями. Редактирование вариантов доступно администратору.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214.mdo" new file mode 100644 index 000000000..ee5619f97 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214/\320\237\321\203\321\202\320\265\320\262\320\276\320\264\320\270\321\202\320\265\320\273\321\214.mdo" @@ -0,0 +1,361 @@ + + + + + + + Путеводитель + + ru + Путеводитель по конфигурации + + + true + DataProcessor.Путеводитель.Form.ФормаПутеводителя + + ФормаПутеводителя + + ru + Форма путеводителя + + + PersonalComputer + MobileDevice + + + ГлавнаяСтраница + + ru + Макет + + + HTMLDocument + + + ДемонстрационнаяКонфигурация + + ru + Демонстрационная конфигурация + + + HTMLDocument + + + КомандныйИнтерфейс + + ru + Командный интерфейс + + + HTMLDocument + + + Форма + + ru + Форма + + + HTMLDocument + + + ДинамическийСписок + + ru + Динамический список + + + HTMLDocument + + + ИнтерфейсныеСвойстваМетаданных + + ru + Интерфейсные свойства метаданных + + + HTMLDocument + + + ОписаниеСтандартныхРеквизитовВМетаданных + + ru + Описание стандартных реквизитов в метаданных + + + HTMLDocument + + + Отчеты + + ru + Отчеты + + + HTMLDocument + + + Агрегаты + + ru + Агрегаты + + + HTMLDocument + + + КомандыОбъектовМетаданных + + ru + Команды объектов метаданных + + + HTMLDocument + + + ПроверкаЗаполнения + + ru + Проверка заполнения + + + HTMLDocument + + + ЗаполнениеНачальнымиДанными + + ru + Заполнение начальными данными + + + HTMLDocument + + + СообщенияИСостояние + + ru + Сообщения и состояние + + + HTMLDocument + + + ПечатьДокумента + + ru + Печать документа + + + HTMLDocument + + + КартинкиВТабличномДокументе + + ru + Отображение картинок в ячейках табличного документа + + + HTMLDocument + + + БыстрыйВыборИВводПоСтроке + + ru + Быстрый выбор и ввод по строке + + + HTMLDocument + + + Подбор + + ru + Подбор + + + HTMLDocument + + + ПрограммноеИзменениеОписанияФормы + + ru + Программное изменение описания формы + + + HTMLDocument + + + ФункциональныеОпции + + ru + Функциональные опции + + + HTMLDocument + + + РаботаСФайламиИКартинками + + ru + Работа с файлами и картинками + + + HTMLDocument + + + ПраваДоступа + + ru + Права доступа + + + HTMLDocument + + + НачальнаяСтраница + + ru + Начальная страница + + + HTMLDocument + + + ИнтерфейсПриложения + + ru + Интерфейс приложения + + + HTMLDocument + + + ХранилищеНастроекПользователей + + ru + Хранилище настроек пользователей + + + HTMLDocument + + + ПроведениеДокументов + + ru + Проведение документов + + + HTMLDocument + + + ВнешниеКомпоненты + + ru + Внешние компоненты + + + HTMLDocument + + + МеханизмХарактеристик + + ru + Механизм характеристик + + + HTMLDocument + + + ФорматированныйДокумент + + ru + Форматированный документ + + + HTMLDocument + + + Криптография + + ru + Криптография + + + HTMLDocument + + + ПроизвольныеПредставленияОбъектов + + ru + Произвольные представления объектов + + + HTMLDocument + + + МобильноеПриложение + + ru + Мобильное приложение + + + HTMLDocument + + + ИсторияДанных + + ru + История данных + + + HTMLDocument + + + Планировщик + + ru + Планировщик + + + HTMLDocument + + + СистемаВзаимодействия + + ru + Система взаимодействия + + + HTMLDocument + + + МобильныйКлиент + + ru + Мобильный клиент + + + HTMLDocument + + + ТиповыеПриемыРазработки + + ru + Типовые приемы разработки + + + HTMLDocument + + + ПутеводительПоКонфигурации + + ru + Путеводитель по конфигурации + + + CommandGroup.Информация + + Auto + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Form.form" new file mode 100644 index 000000000..e2d088705 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Form.form" @@ -0,0 +1,1334 @@ + + + + <key>ru</key> + <value>Активные пользователи</value> + + + ОсновнаяКоманднаяПанель + 1 + + ЖурналРегистрации + 16 + true + true + + true + + false + + ЖурналРегистрацииРасширеннаяПодсказка + 29 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ЖурналРегистрации + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + РаботаПользователя + 17 + true + true + + true + + false + + РаботаПользователяРасширеннаяПодсказка + 30 + true + true + + true + + Label + true + true + + Left + + + Form.Command.РаботаПользователя + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Обновить + 18 + true + true + + true + + false + + ОбновитьРасширеннаяПодсказка + 31 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Обновить + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ГруппаСортировки + 54 + + СортировкаПоВозрастанию1 + 26 + true + true + + true + + false + + СортировкаПоВозрастанию1РасширеннаяПодсказка + 32 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СортировкаПоВозрастанию + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + СортировкаПоУбыванию1 + 27 + true + true + + true + + false + + СортировкаПоУбыванию1РасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СортировкаПоУбыванию + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Группа сортировки</value> + + + ru + Группа сортировки + + + ГруппаСортировкиРасширеннаяПодсказка + 55 + true + true + + true + + Label + true + true + + Left + + + + Compact + + + true + true + + true + + + ОсновнаяКоманднаяПанельРасширеннаяПодсказка + 28 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + Form + + + + СписокПользователей + 2 + true + true + + true + + + СписокПользователей + + false + None + Add + Change + Copy + EndEdit + MoveDown + MoveUp + SortListAsc + SortListDesc + + Пользователь + 4 + true + true + + true + + + + СписокПользователей.ИмяПользователя + + + + ПользовательРасширеннаяПодсказка + 48 + true + true + + true + + Label + true + true + + Left + + + + ПользовательКонтекстноеМеню + 5 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Приложение + 8 + true + true + + true + + + + СписокПользователей.Приложение + + + + ПриложениеРасширеннаяПодсказка + 49 + true + true + + true + + Label + true + true + + Left + + + + ПриложениеКонтекстноеМеню + 9 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + НачалоРаботы + 10 + true + true + + true + + + + СписокПользователей.НачалоРаботы + + + + НачалоРаботыРасширеннаяПодсказка + 50 + true + true + + true + + Label + true + true + + Left + + + + НачалоРаботыКонтекстноеМеню + 11 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Компьютер + 12 + true + true + + true + + + + СписокПользователей.Компьютер + + + + КомпьютерРасширеннаяПодсказка + 51 + true + true + + true + + Label + true + true + + Left + + + + КомпьютерКонтекстноеМеню + 13 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Сеанс + 14 + true + true + + true + + + + СписокПользователей.Сеанс + + + + СеансРасширеннаяПодсказка + 52 + true + true + + true + + Label + true + true + + Left + + + + СеансКонтекстноеМеню + 15 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + None + + СписокПользователейКоманднаяПанель + 23 + true + true + + true + + Left + true + + + true + true + + true + + СписокПользователейСтрокаПоиска + 39 + + СписокПользователейСтрокаПоискаРасширеннаяПодсказка + 41 + true + true + + true + + Label + true + true + + Left + + + + СписокПользователейСтрокаПоискаКонтекстноеМеню + 40 + true + true + + true + + true + + СписокПользователейСтрокаПоиска + + true + + + + true + true + + true + + СписокПользователейСостояниеПросмотра + 42 + + СписокПользователейСостояниеПросмотраРасширеннаяПодсказка + 44 + true + true + + true + + Label + true + true + + Left + + + + СписокПользователейСостояниеПросмотраКонтекстноеМеню + 43 + true + true + + true + + true + + ViewStatusAddition + СписокПользователейСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокПользователейУправлениеПоиском + 45 + + СписокПользователейУправлениеПоискомРасширеннаяПодсказка + 47 + true + true + + true + + Label + true + true + + Left + + + + СписокПользователейУправлениеПоискомКонтекстноеМеню + 46 + true + true + + true + + true + + SearchControlAddition + СписокПользователейУправлениеПоиском + + true + + + + СписокПользователейРасширеннаяПодсказка + 38 + true + true + + true + + Label + true + true + + Left + + + + СписокПользователейКонтекстноеМеню + 3 + + РаботаПользователя1 + 20 + true + true + + true + + false + + РаботаПользователя1РасширеннаяПодсказка + 34 + true + true + + true + + Label + true + true + + Left + + + Form.Command.РаботаПользователя + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Обновить1 + 21 + true + true + + true + + false + + Обновить1РасширеннаяПодсказка + 35 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Обновить + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + СортировкаПоВозрастанию + 24 + true + true + + true + + false + + СортировкаПоВозрастаниюРасширеннаяПодсказка + 36 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СортировкаПоВозрастанию + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + СортировкаПоУбыванию + 25 + true + true + + true + + false + + СортировкаПоУбываниюРасширеннаяПодсказка + 37 + true + true + + true + + Label + true + true + + Left + + + Form.Command.СортировкаПоУбыванию + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + true + + true + true + 80 + true + true + 4 + true +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + + СписокПользователей.НомерРисункаПользователя + + + CommonPicture.КоллекцияВидыАктивныхПользователей + + + Style.BorderColor + + None + None + None + +
+ + КоличествоАктивныхПользователей + 6 + true + true + + true + + + + КоличествоАктивныхПользователей + + + + КоличествоАктивныхПользователейРасширеннаяПодсказка + 53 + true + true + + true + + Label + true + true + + Left + + + + КоличествоАктивныхПользователейКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Left + Enter + true + Left + true + Left + + true + true + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + Abort + Cancel + Ignore + No + OK + Retry + Yes + true + Vertical + true + true + true + UseIfNecessary + true + true + + Объект + 1 + + DataProcessorObject.СписокАктивныхПользователей + + + true + + + true + +
true
+
+ + СписокПользователей + + <key>ru</key> + <value>Список пользователей</value> + + 2 + + ValueTable + + + true + + + true + + + НомерРисункаПользователя + + <key>ru</key> + <value>Номер рисунка пользователя</value> + + 1 + + Number + + 1 + + + + true + + + true + + + + Пользователь + + <key>ru</key> + <value>Пользователь</value> + + 2 + + String + + + + true + + + true + + + + Приложение + + <key>ru</key> + <value>Приложение</value> + + 3 + + String + + + + true + + + true + + + + НачалоРаботы + + <key>ru</key> + <value>Начало работы</value> + + 4 + + Date + + + + true + + + true + + + + Компьютер + + <key>ru</key> + <value>Компьютер</value> + + 5 + + String + + + + true + + + true + + + + Сеанс + + <key>ru</key> + <value>Сеанс</value> + + 6 + + Number + + 7 + true + + + + true + + + true + + + + ИмяПользователя + + <key>ru</key> + <value>Имя пользователя</value> + + 7 + + String + + + + true + + + true + + + + + КоличествоАктивныхПользователей + + <key>ru</key> + <value>Количество</value> + + 3 + + Number + + 10 + + + + true + + + true + + + + ИмяКолонкиСортировки + + <key>ru</key> + <value>Имя колонки сортировки</value> + + 4 + + String + + + + true + + + true + + + + НаправлениеСортировки + + <key>ru</key> + <value>Направление сортировки</value> + + 5 + + String + + 5 + + + + true + + + true + + + + ЖурналРегистрации + + <key>ru</key> + <value>Журнал регистрации</value> + + 1 + + ru + Открыть журнал регистрации событий + + + true + + + StdPicture.EventLog + + + + ОткрытьЖурналРегистрации + + + + + РаботаПользователя + + <key>ru</key> + <value>Работа пользователя</value> + + 2 + + ru + Работа пользователя + + + true + + + StdPicture.EventLogByUser + + + + ОткрытьЖурналРегистрацииПоПользователю + + + + + Обновить + + <key>ru</key> + <value>Обновить</value> + + 3 + + ru + Обновить + + + true + + Ctrl+Shift+R + + StdPicture.Refresh + + + + ОбновитьВыполнить + + + DontUse + + + СортировкаПоВозрастанию + + <key>ru</key> + <value>Сортировка по возрастанию</value> + + 5 + + ru + Сортировка по возрастанию + + + true + + + StdPicture.SortListAsc + + + + СортироватьПоВозрастанию + + + DontUse + + + СортировкаПоУбыванию + + <key>ru</key> + <value>Сортировка по убыванию</value> + + 6 + + ru + Сортировка по убыванию + + + true + + + StdPicture.SortListDesc + + + + СортироватьПоУбыванию + + + DontUse + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Module.bsl" new file mode 100644 index 000000000..bcaa00ee6 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Module.bsl" @@ -0,0 +1,106 @@ + +// процедура заполняет список активных пользователей, устанавливает текущую строку +&НаКлиенте +Процедура ЗаполнитьСписок() + // Для восстановления позиции запомним текущий сеанс + ТекущийСеанс = Неопределено; + ТекущиеДанные = Элементы.СписокПользователей.ТекущиеДанные; + Если ТекущиеДанные <> Неопределено Тогда + ТекущийСеанс = ТекущиеДанные.Сеанс; + КонецЕсли; + + ЗаполнитьСписокПользователей(); + + // Восстанавливаем текущую строку по запомненному сеансу + Если ТекущийСеанс <> Неопределено Тогда + СтруктураПоиска = Новый Структура; + СтруктураПоиска.Вставить("Сеанс", ТекущийСеанс); + НайденныеСеансы = СписокПользователей.НайтиСтроки(СтруктураПоиска); + Если НайденныеСеансы.Количество() = 1 Тогда + Элементы.СписокПользователей.ТекущаяСтрока = НайденныеСеансы[0].ПолучитьИдентификатор(); + Элементы.СписокПользователей.ВыделенныеСтроки.Очистить(); + Элементы.СписокПользователей.ВыделенныеСтроки.Добавить(Элементы.СписокПользователей.ТекущаяСтрока); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьЖурналРегистрации() + ЖурналРегистрации = ОткрытьФорму("Обработка.ЖурналРегистрации.Форма"); +КонецПроцедуры + +&НаКлиенте +Процедура ОткрытьЖурналРегистрацииПоПользователю() + ТекущиеДанные = Элементы.СписокПользователей.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + ИмяПользователя = ТекущиеДанные.ИмяПользователя; + + ОткрытьФорму("Обработка.ЖурналРегистрации.Форма", Новый Структура("Пользователь", ИмяПользователя)); +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьВыполнить() + ЗаполнитьСписок(); +КонецПроцедуры + +&НаКлиенте +Процедура СортировкаПоКолонке(Направление) + Колонка = Элементы.СписокПользователей.ТекущийЭлемент; + Если Колонка = Неопределено Тогда + Возврат; + КонецЕсли; + + ИмяКолонкиСортировки = Колонка.Имя; + НаправлениеСортировки = Направление; + + ЗаполнитьСписок(); +КонецПроцедуры + +&НаКлиенте +Процедура СортироватьПоВозрастанию() + СортировкаПоКолонке("Возр"); +КонецПроцедуры + +&НаКлиенте +Процедура СортироватьПоУбыванию() + СортировкаПоКолонке("Убыв"); +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + // Вставить содержимое обработчика. + ИмяКолонкиСортировки = "НачалоРаботы"; + НаправлениеСортировки = "Возр"; + ЗаполнитьСписокПользователей(); +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьСписокПользователей() + ТЗСписокПользователей = РеквизитФормыВЗначение("СписокПользователей"); + ТЗСписокПользователей.Очистить(); + + СеансыИБ = ПолучитьСеансыИнформационнойБазы(); + Если СеансыИБ <> Неопределено Тогда + Для каждого СеансИБ Из СеансыИБ Цикл + СтрПользователя = ТЗСписокПользователей.Добавить(); + Если ТипЗнч(СеансИБ.Пользователь) = Тип("ПользовательИнформационнойБазы") Тогда + СтрПользователя.Пользователь = СеансИБ.Пользователь.Имя; + СтрПользователя.ИмяПользователя = СеансИБ.Пользователь.Имя; + КонецЕсли; + СтрПользователя.Приложение = ПредставлениеПриложения(СеансИБ.ИмяПриложения); + СтрПользователя.НачалоРаботы = СеансИБ.НачалоСеанса; + СтрПользователя.Компьютер = СеансИБ.ИмяКомпьютера; + СтрПользователя.Сеанс = СеансИБ.НомерСеанса; + Если СеансИБ.НомерСеанса = НомерСеансаИнформационнойБазы() Тогда + СтрПользователя.НомерРисункаПользователя = 0; + Иначе + СтрПользователя.НомерРисункаПользователя = 1; + КонецЕсли; + КонецЦикла; + КонецЕсли; + КоличествоАктивныхПользователей = СеансыИБ.Количество(); + ТЗСписокПользователей.Сортировать(ИмяКолонкиСортировки + " " + НаправлениеСортировки); + ЗначениеВРеквизитФормы(ТЗСписокПользователей, "СписокПользователей"); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Help/ru.html" new file mode 100644 index 000000000..e81c3c3b4 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/Help/ru.html" @@ -0,0 +1 @@ +Обработка является аналогом системной формы просмотра списка активных пользователей. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.mdo" new file mode 100644 index 000000000..6a5a73699 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271/\320\241\320\277\320\270\321\201\320\276\320\272\320\220\320\272\321\202\320\270\320\262\320\275\321\213\321\205\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\265\320\271.mdo" @@ -0,0 +1,31 @@ + + + + + + + СписокАктивныхПользователей + + ru + Активные пользователи + + + true + DataProcessor.СписокАктивныхПользователей.Form.ФормаСпискаАктивныхПользователей + true + + + ru + + + + ФормаСпискаАктивныхПользователей + + ru + Форма списка активных пользователей + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..afefe8201 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,1600 @@ + + + + <key>ru</key> + <value>Удаление помеченных объектов</value> + + + СтраницыФормы + 1 + + ВыборРежимаУдаления + 6 + + РежимУдаления + 15 + + <key>ru</key> + <value>Выбор режима удаления помеченных объектов</value> + + true + true + + true + + + + РежимУдаления + + + None + + OnChange + РежимУдаленияПриИзменении + + + РежимУдаленияExtendedTooltip + 48 + true + true + + true + + Label + true + true + + Left + + + + РежимУдаления_КонтекстноеМеню + 16 + true + true + + true + + true + + RadioButtonField + Enter + true + Left + true + + 1 + + + ru + Полное удаление +Удаление всех помеченных объектов + + + Полный + + + + + ru + Выборочное удаление +Позволяет предварительно выбрать объекты для удаления из списка помеченных + + + Выборочный + + + + + true + true + + true + + + <key>ru</key> + <value>Выбор режима удаления</value> + + + ru + Выбор режима удаления + + + ВыборРежимаУдаленияExtendedTooltip + 47 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + РезультатыУдаления + 34 + + СтрокаРезультатов + 35 + + <key>ru</key> + <value>Результат удаления</value> + + true + true + + true + + + + СтрокаРезультатов + + + Top + + СтрокаРезультатовExtendedTooltip + 50 + true + true + + true + + Label + true + true + + Left + + + + СтрокаРезультатов_КонтекстноеМеню + 36 + true + true + + true + + true + + LabelField + true + Enter + true + Left + true + + 4 + true + + + true + true + + true + + + <key>ru</key> + <value>Результаты удаления</value> + + + ru + Результаты удаления + + + РезультатыУдаленияExtendedTooltip + 49 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + ПричиныНеудаления + 39 + + ДеревоНеудаленныхОбъектов + 40 + + <key>ru</key> + <value>Не удаленные объекты</value> + + true + true + + true + + + ДеревоНеудаленныхОбъектов + + false + Top + Add + Change + Copy + CopyToClipboard + EndEdit + HierarchicalList + List + MoveDown + MoveUp + OutputList + SelectAll + SortListAsc + SortListDesc + Tree + + Представление1 + 43 + true + true + + true + + + + ДеревоНеудаленныхОбъектов.Представление + + + + Представление1ExtendedTooltip + 53 + true + true + + true + + Label + true + true + + Left + + + + Представление1_КонтекстноеМеню + 44 + true + true + + true + + true + + InputField + true + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + None + + ДеревоНеудаленныхОбъектов_КоманднаяПанель + 42 + true + true + + true + + Left + true + + + Selection + ДеревоНеудаленныхОбъектовВыбор + + + true + true + + true + + ДеревоНеудаленныхОбъектовСтрокаПоиска + 66 + + ДеревоНеудаленныхОбъектовСтрокаПоискаРасширеннаяПодсказка + 68 + true + true + + true + + Label + true + true + + Left + + + + ДеревоНеудаленныхОбъектовСтрокаПоискаКонтекстноеМеню + 67 + true + true + + true + + true + + ДеревоНеудаленныхОбъектовСтрокаПоиска + + true + + + + true + true + + true + + ДеревоНеудаленныхОбъектовСостояниеПросмотра + 69 + + ДеревоНеудаленныхОбъектовСостояниеПросмотраРасширеннаяПодсказка + 71 + true + true + + true + + Label + true + true + + Left + + + + ДеревоНеудаленныхОбъектовСостояниеПросмотраКонтекстноеМеню + 70 + true + true + + true + + true + + ViewStatusAddition + ДеревоНеудаленныхОбъектовСостояниеПросмотра + + true + Left + + + + true + true + + true + + ДеревоНеудаленныхОбъектовУправлениеПоиском + 72 + + ДеревоНеудаленныхОбъектовУправлениеПоискомРасширеннаяПодсказка + 74 + true + true + + true + + Label + true + true + + Left + + + + ДеревоНеудаленныхОбъектовУправлениеПоискомКонтекстноеМеню + 73 + true + true + + true + + true + + SearchControlAddition + ДеревоНеудаленныхОбъектовУправлениеПоиском + + true + + + + ДеревоНеудаленныхОбъектовExtendedTooltip + 52 + true + true + + true + + Label + true + true + + Left + + + + ДеревоНеудаленныхОбъектов_КонтекстноеМеню + 41 + true + true + + true + + true + + Tree + true + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + + ДеревоНеудаленныхОбъектов.НомерКартинки + + + CommonPicture.КоллекцияДляПомеченныхНаУдалениеОбъектов + + + Style.BorderColor + + None + None + None + + true + true + + true + + + <key>ru</key> + <value>Причины неудаления</value> + + + ru + Причины неудаления + + true + + ПричиныНеудаленияExtendedTooltip + 51 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + ПомеченныеНаУдаление + 25 + + СписокПомеченныхНаУдаление + 26 + + <key>ru</key> + <value>Список объектов, помеченных на удаление</value> + + true + true + + true + + + СписокПомеченныхНаУдаление + + false + Top + + СтрокаСпискаПомеченных + 29 + + Пометка + 30 + true + true + + true + + + + СписокПомеченныхНаУдаление.Пометка + + + + OnChange + ПометкаПриИзменении + + + ПометкаExtendedTooltip + 59 + true + true + + true + + Label + true + true + + Left + + + + Пометка_КонтекстноеМеню + 31 + true + true + + true + + true + + CheckBoxField + Enter + Left + + + + Представление + 32 + true + true + + true + + + + СписокПомеченныхНаУдаление.Представление + + + + ПредставлениеExtendedTooltip + 60 + true + true + + true + + Label + true + true + + Left + + + + Представление_КонтекстноеМеню + 33 + true + true + + true + + true + + InputField + true + Enter + Left + + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Строка списка помеченных</value> + + + ru + Строка списка помеченных + + + СтрокаСпискаПомеченныхExtendedTooltip + 58 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + InCell + true + + + + СписокПомеченныхНаУдаление_КоманднаяПанель + 28 + + ГруппаКнопокПометки + 84 + + КомандаСписокПомеченныхУстановитьВсе + 37 + true + true + + true + + false + + КомандаСписокПомеченныхУстановитьВсеExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаСписокПомеченныхУстановитьВсе + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + КомандаСписокПомеченныхСнятьВсе + 38 + true + true + + true + + false + + КомандаСписокПомеченныхСнятьВсеExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаСписокПомеченныхСнятьВсе + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Группа кнопок пометки</value> + + + ru + Группа кнопок пометки + + + ГруппаКнопокПометкиРасширеннаяПодсказка + 85 + true + true + + true + + Label + true + true + + Left + + + + Compact + + + true + true + + true + + Right + + + Selection + СписокПомеченныхНаУдалениеВыбор + + + true + true + + true + + СписокПомеченныхНаУдалениеСтрокаПоиска + 75 + + СписокПомеченныхНаУдалениеСтрокаПоискаРасширеннаяПодсказка + 77 + true + true + + true + + Label + true + true + + Left + + + + СписокПомеченныхНаУдалениеСтрокаПоискаКонтекстноеМеню + 76 + true + true + + true + + true + + СписокПомеченныхНаУдалениеСтрокаПоиска + + true + + + + true + true + + true + + СписокПомеченныхНаУдалениеСостояниеПросмотра + 78 + + СписокПомеченныхНаУдалениеСостояниеПросмотраРасширеннаяПодсказка + 80 + true + true + + true + + Label + true + true + + Left + + + + СписокПомеченныхНаУдалениеСостояниеПросмотраКонтекстноеМеню + 79 + true + true + + true + + true + + ViewStatusAddition + СписокПомеченныхНаУдалениеСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокПомеченныхНаУдалениеУправлениеПоиском + 81 + + СписокПомеченныхНаУдалениеУправлениеПоискомРасширеннаяПодсказка + 83 + true + true + + true + + Label + true + true + + Left + + + + СписокПомеченныхНаУдалениеУправлениеПоискомКонтекстноеМеню + 82 + true + true + + true + + true + + SearchControlAddition + СписокПомеченныхНаУдалениеУправлениеПоиском + + true + + + + СписокПомеченныхНаУдалениеExtendedTooltip + 57 + true + true + + true + + Label + true + true + + Left + + + + СписокПомеченныхНаУдаление_КонтекстноеМеню + 27 + true + true + + true + + true + + Tree + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + + true + true + + true + + + <key>ru</key> + <value>Помеченные на удаление</value> + + + ru + Помеченные на удаление + + + ПомеченныеНаУдалениеExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + <key>ru</key> + <value>Страницы формы</value> + + + ru + Страницы формы + + true + + СтраницыФормыExtendedTooltip + 46 + true + true + + true + + Label + true + true + + Left + + + Pages + + DontUse + + + + КомандыФормы + 2 + + КомандаУдалить + 45 + true + true + + true + + false + + КомандаУдалитьExtendedTooltip + 62 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаУдалить + PictureAndText + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + КомандаДалее + 3 + + <key>ru</key> + <value>Далее >></value> + + true + true + + true + + false + + КомандаДалееExtendedTooltip + 63 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаДалее + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Закрыть + 4 + true + true + + true + + false + + ЗакрытьExtendedTooltip + 64 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Close + PictureAndText + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Справка + 5 + true + true + + true + + false + + СправкаExtendedTooltip + 65 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + PictureAndText + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Команды формы</value> + + + ru + Команды формы + + true + + КомандыФормыExtendedTooltip + 61 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + None + + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + + + OnCreateAtServer + ПриСозданииНаСервере + + Abort + Cancel + Ignore + No + OK + RestoreValues + Retry + SaveValues + Yes + true + Vertical + true + true + true + + Объект + 1 + + DataProcessorObject.УдалениеПомеченныхОбъектов + + + true + + + true + +
true
+
+ + РежимУдаления + + <key>ru</key> + <value>Режим удаления</value> + + 2 + + String + + + + true + + + true + + + + СписокПомеченныхНаУдаление + + <key>ru</key> + <value>Список помеченных на удаление</value> + + 6 + + ValueTree + + + true + + + true + + + Пометка + + <key>ru</key> + <value>Пометка</value> + + 1 + + Boolean + + + true + + + true + + + + Значение + + <key>ru</key> + <value>Значение</value> + + 2 + + String + AnyRef + + 40 + + + + true + + + true + + + + Представление + + <key>ru</key> + <value>Представление</value> + + 3 + + String + + + + true + + + true + + + + + СтрокаРезультатов + + <key>ru</key> + <value>Строка результатов</value> + + 7 + + String + + + + true + + + true + + + + ДеревоНеудаленныхОбъектов + + <key>ru</key> + <value>Дерево неудаленных объектов</value> + + 8 + + ValueTree + + + true + + + true + + + НомерКартинки + + <key>ru</key> + <value>Номер картинки</value> + + 1 + + Number + + 1 + true + + + + true + + + true + + + + Значение + + <key>ru</key> + <value>Значение</value> + + 2 + + String + AnyRef + + 40 + + + + true + + + true + + + + Представление + + <key>ru</key> + <value>Представление</value> + + 3 + + String + + + + true + + + true + + + + + ПояснениеДляПолного + + <key>ru</key> + <value>Пояснение для полного</value> + + 3 + + String + + + + true + + + true + + + + ПояснениеДляВыборочного + + <key>ru</key> + <value>Пояснение для выборочного</value> + + 4 + + String + + + + true + + + true + + + + КомандаДалее + + <key>ru</key> + <value>Далее</value> + + 1 + + true + + + + ВыполнитьДалее + + + DontUse + + + КомандаСписокПомеченныхУстановитьВсе + + <key>ru</key> + <value>Команда список помеченных установить все</value> + + 2 + + ru + Установить все флажки + + + true + + + StdPicture.CheckAll + + + + КомандаСписокПомеченныхУстановитьВсе + + + DontUse + + + КомандаСписокПомеченныхСнятьВсе + + <key>ru</key> + <value>Команда список помеченных снять все</value> + + 3 + + ru + Убрать все флажки + + + true + + + StdPicture.UncheckAll + + + + КомандаСписокПомеченныхСнятьВсе + + + DontUse + + + КомандаУдалить + + <key>ru</key> + <value>Удалить</value> + + 4 + + ru + Команда удалить + + + true + + + StdPicture.DeleteListItemDirectly + + + + ВыполнитьУдаление + + + DontUse + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Help/ru.html" new file mode 100644 index 000000000..00e1b8cce --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Help/ru.html" @@ -0,0 +1,11 @@ + +

Удаление помеченных объектов

+

Обработка позволяет произвести удаление из информационной базы объектов, помеченных на удаление.

+

На первой странице имеется возможность выбрать между удалением всех помеченных на удаление объектов (режим "Полное удаление") и интерактивным выбором из всех объектов какого-то подмножества (режим "Выборочное удаление").

+

Режим полного удаления

+

Для полного удаления всех помеченных на удаление объектов следует выбрать режим "Полное удаление" и нажать кнопку "Удалить". Обработка осуществляет поиск всех объектов информационной базы, помеченных на удаление, и производит попытку их удаления. Удаление происходит с контролем ссылочной целостности, по окончании операции не все объекты могут оказаться удаленными, т.к. на часть из них могут оказаться ссылки в неудаляемых объектах.

+

После завершения операции удаления происходит переход на страницу, показывающую результаты удаления, т.е. сколько объектов было успешно удалено и удаление скольких объектов было запрещено контролем ссылочной целостности. Если успешно удалились все объекты, то единственным допустимым действием (помимо показа справки) остается закрытие. В противном случае имеется возможность перехода на страницу, где показаны ссылки в информационной базе на те объекты, которые удалить не удалось, сгруппированными в 3-хуровневом дереве по объекту метаданных и ссылке не удаленного объекта. Выбор в дереве объекта, содержащего ссылку на не удаленный объект вызывает открытие окна, показывающего его значение, например, для справочников будет открыта форма элемента или группы.

+

Режим выборочного удаления

+

Для выборочного удаления помеченных на удаление объектов следует выбрать режим "Выборочное удаление" и нажать кнопку "Далее >>". При этом будут найдены все помеченные на удаление объекты и открыта страница, на которой они будут представлены в виде 2-хуровневого дерева с пометками, сгруппироваными по объекту метаданных. В этом дереве пометками следует выбрать те объекты, которые следует удалить, после чего нажать кнопку "Удалить".

+

Далее работа выборочного удаления будет происходить так же, как и работа полного удаления за исключением того, что удалены будут не все помеченные на удаление объекты, а только те, которые были выбраны пользователем.

+

 

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..0fd9ed759 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Forms/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,284 @@ +/////////////////////////////////////////////////////////////// +// Обработки событий + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + РежимУдаления = "Полный"; + Элементы.КомандаДалее.Видимость = Ложь; +КонецПроцедуры + +&НаКлиенте +Процедура РежимУдаленияПриИзменении(Элемент) + Если РежимУдаления = "Полный" Тогда + Элементы.КомандаДалее.Видимость = Ложь; + Элементы.КомандаУдалить.Видимость = Истина; + Элементы.КомандаУдалить.КнопкаПоУмолчанию = Истина; + ИначеЕсли РежимУдаления = "Выборочный" Тогда + Элементы.КомандаДалее.Видимость = Истина; + Элементы.КомандаУдалить.Видимость = Ложь; + Элементы.КомандаДалее.КнопкаПоУмолчанию = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПометкаПриИзменении(Элемент) + ТекущиеДанные = Элементы.СписокПомеченныхНаУдаление.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + УстановитьПометкуВСписке(ТекущиеДанные, ТекущиеДанные.Пометка, Истина); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаСписокПомеченныхУстановитьВсе() + ЭлементыСписка = СписокПомеченныхНаУдаление.ПолучитьЭлементы(); + Для каждого Элемент Из ЭлементыСписка Цикл + УстановитьПометкуВСписке(Элемент, Истина, Истина); + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура КомандаСписокПомеченныхСнятьВсе() + ЭлементыСписка = СписокПомеченныхНаУдаление.ПолучитьЭлементы(); + Для каждого Элемент Из ЭлементыСписка Цикл + УстановитьПометкуВСписке(Элемент, Ложь, Истина); + КонецЦикла; +КонецПроцедуры + +&НаКлиенте +Процедура ДеревоНеудаленныхОбъектовВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + ТекущиеДанные = Элементы.ДеревоНеудаленныхОбъектов.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ТекущиеДанные.ПолучитьЭлементы().Количество() = 0 Тогда + // это строка отображает объект, из-за которого не удалось удалить помеченный и выбранный + СтандартнаяОбработка = Ложь; + ПоказатьЗначение( ,ТекущиеДанные.Значение); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура СписокПомеченныхНаУдалениеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + // Вставить содержимое обработчика. + ТекущиеДанные = Элементы.СписокПомеченныхНаУдаление.ТекущиеДанные; + Если ТекущиеДанные = Неопределено Тогда + Возврат; + КонецЕсли; + + Если ТекущиеДанные.ПолучитьЭлементы().Количество() = 0 Тогда + // это строка отображает помеченный на удаление объект + СтандартнаяОбработка = Ложь; + ПоказатьЗначение( ,ТекущиеДанные.Значение); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьДалее() + ТекущаяСтраница = Элементы.СтраницыФормы.ТекущаяСтраница; + Если ТекущаяСтраница = Элементы.ВыборРежимаУдаления Тогда + Состояние(НСтр("ru ='Выполняется поиск помеченных на удаление объектов'", "ru")); + ЗаполнениеДереваПомеченныхНаУдаление(); + Элементы.КомандаДалее.Видимость = Ложь; + Элементы.КомандаУдалить.Видимость = Истина; + Элементы.КомандаУдалить.КнопкаПоУмолчанию = Истина; + Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.ПомеченныеНаУдаление; + ИначеЕсли ТекущаяСтраница = Элементы.РезультатыУдаления Тогда + Элементы.КомандаДалее.Видимость = Ложь; + Элементы.КомандаУдалить.Видимость = Ложь; + Элементы.Закрыть.КнопкаПоУмолчанию = Истина; + Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.ПричиныНеудаления; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ВыполнитьУдаление() + Если РежимУдаления = "Полный" Тогда + Состояние(НСтр("ru ='Выполняется поиск и удаление помеченных объектов'", "ru")); + Иначе + Состояние(НСтр("ru ='Выполняется удаление выбранных объектов'", "ru")); + КонецЕсли; + + УдалениеВыбранныхНаСервере(); +КонецПроцедуры + +///////////////////////////////////////////////////////////////////////// +// Вспомогательные процедуры + +&НаСервере +Функция НайтиИлиДобавитьВетвьДерева(СтрокиДерева, Значение, Представление, Пометка) + // Попытка найти существующую ветвь в СтрокиДерева без вложенных + Ветвь = СтрокиДерева.Найти(Значение, "Значение", Ложь); + Если Ветвь = Неопределено Тогда + // Такой ветки нет, создадим новую + Ветвь = СтрокиДерева.Добавить(); + Ветвь.Значение = Значение; + Ветвь.Представление = Представление; + Ветвь.Пометка = Пометка; + КонецЕсли; + + Возврат Ветвь; +КонецФункции + +&НаСервере +Функция НайтиИлиДобавитьВетвьДереваСКартинкой(СтрокиДерева, Значение, Представление, НомерКартинки) + // Попытка найти существующую ветвь в СтрокиДерева без вложенных + Ветвь = СтрокиДерева.Найти(Значение, "Значение", Ложь); + Если Ветвь = Неопределено Тогда + // Такой ветки нет, создадим новую + Ветвь = СтрокиДерева.Добавить(); + Ветвь.Значение = Значение; + Ветвь.Представление = Представление; + Ветвь.НомерКартинки = НомерКартинки; + КонецЕсли; + + Возврат Ветвь; +КонецФункции + +&НаСервере +Процедура ЗаполнениеДереваПомеченныхНаУдаление() + // Заполнение дерева помеченных на удаление + ДеревоПомеченных = РеквизитФормыВЗначение("СписокПомеченныхНаУдаление"); + // обработка помеченных + МассивПомеченных = НайтиПомеченныеНаУдаление(); + Для каждого МассивПомеченныхЭлемент Из МассивПомеченных Цикл + ОбъектМетаданныхЗначение = МассивПомеченныхЭлемент.Метаданные().ПолноеИмя(); + ОбъектМетаданныхПредставление = МассивПомеченныхЭлемент.Метаданные().Представление(); + СтрокаОбъектаМетаданных = НайтиИлиДобавитьВетвьДерева(ДеревоПомеченных.Строки, ОбъектМетаданныхЗначение, ОбъектМетаданныхПредставление, Истина); + НайтиИлиДобавитьВетвьДерева(СтрокаОбъектаМетаданных.Строки, МассивПомеченныхЭлемент, Строка(МассивПомеченныхЭлемент) + " - " + ОбъектМетаданныхПредставление, Истина); + КонецЦикла; + ДеревоПомеченных.Строки.Сортировать("Значение", Истина); + Для каждого СтрокаОбъектаМетаданных Из ДеревоПомеченных.Строки Цикл + // создать представление для строк, отображающих ветвь объекта метаданных + СтрокаОбъектаМетаданных.Представление = СтрокаОбъектаМетаданных.Представление + " (" + СтрокаОбъектаМетаданных.Строки.Количество() + ")"; + КонецЦикла; + + ЗначениеВРеквизитФормы(ДеревоПомеченных, "СписокПомеченныхНаУдаление"); +КонецПроцедуры + +&НаСервере +Процедура УдалениеВыбранныхНаСервере() + Удаляемые = Новый Массив; + Если РежимУдаления = "Полный" Тогда + // При полном удалении получаем весь список помеченных на удаление + Удаляемые = НайтиПомеченныеНаУдаление(); + Иначе + // Заполняем массив ссылками на выбранные элементы, помеченные на удаление + КоллекцияСтрокМетаданных = СписокПомеченныхНаУдаление.ПолучитьЭлементы(); + Для каждого СтрокаОбъектаМетаданных Из КоллекцияСтрокМетаданных Цикл + КоллекцияСтрокСсылок = СтрокаОбъектаМетаданных.ПолучитьЭлементы(); + Для каждого СтрокаСсылки Из КоллекцияСтрокСсылок Цикл + Если СтрокаСсылки.Пометка Тогда + Удаляемые.Добавить(СтрокаСсылки.Значение); + КонецЕсли; + КонецЦикла; + КонецЦикла; + КонецЕсли; + + ИсходнаяСтраница = Элементы.СтраницыФормы.ТекущаяСтраница; + Элементы.СтраницыФормы.ТекущаяСтраница = Элементы.РезультатыУдаления; + + // Выполняем удаление + Найденные = Новый ТаблицаЗначений; + Попытка + МонопольныйДоступ = МонопольныйРежим(); + Если НЕ МонопольныйДоступ Тогда + УстановитьМонопольныйРежим(Истина); + КонецЕсли; + УдалитьОбъекты(Удаляемые, Истина, Найденные); + Если НЕ МонопольныйДоступ Тогда + УстановитьМонопольныйРежим(Ложь); + КонецЕсли; + Исключение + Элементы.СтраницыФормы.ТекущаяСтраница = ИсходнаяСтраница; + ВызватьИсключение; + КонецПопытки; + + // Создадим таблицу неудаленных объектов + ДеревоНеудаленныхОбъектов.ПолучитьЭлементы().Очистить(); + Дерево = РеквизитФормыВЗначение("ДеревоНеудаленныхОбъектов"); + Для каждого Найденный Из Найденные Цикл + Неудаленный = Найденный[0]; + Ссылающийся = Найденный[1]; + ОбъектМетаданныхСсылающегося = Найденный[2].Представление(); + ОбъектМетаданныхНеудаленногоЗначение = Неудаленный.Метаданные().ПолноеИмя(); + ОбъектМетаданныхНеудаленногоПредставление = Неудаленный.Метаданные().Представление(); + //ветвь метаданного + СтрокаОбъектаМетаданных = НайтиИлиДобавитьВетвьДереваСКартинкой(Дерево.Строки, ОбъектМетаданныхНеудаленногоЗначение, ОбъектМетаданныхНеудаленногоПредставление, 0); + //ветвь не удаленного объекта + СтрокаСсылкиНаНеудаленныйОбъектБД = НайтиИлиДобавитьВетвьДереваСКартинкой(СтрокаОбъектаМетаданных.Строки, Неудаленный, Строка(Неудаленный), 2); + //ветвь ссылки на не удаленный объект + НайтиИлиДобавитьВетвьДереваСКартинкой(СтрокаСсылкиНаНеудаленныйОбъектБД.Строки, Ссылающийся, Строка(Ссылающийся) + " - " + ОбъектМетаданныхСсылающегося, 1); + КонецЦикла; + Дерево.Строки.Сортировать("Значение", Истина); + ЗначениеВРеквизитФормы(Дерево, "ДеревоНеудаленныхОбъектов"); + + // Проверяем завершенность операции удаления + // Посчитаем количество неудаленных, для этого подситаем в дереве ветви + // второго уровны, где они и присутствуют + НеудаленныхОбъектов = 0; + Для каждого СтрокаОбъектаМетаданных Из Дерево.Строки Цикл + НеудаленныхОбъектов = НеудаленныхОбъектов + СтрокаОбъектаМетаданных.Строки.Количество(); + КонецЦикла; + + УдаленныхОбъектов = Удаляемые.Количество() - НеудаленныхОбъектов; + + СтрокаРезультатов = Строка(УдаленныхОбъектов) + + НСтр("ru =' объектов удалено!'", "ru"); + Если НеудаленныхОбъектов > 0 Тогда + СтрокаРезультатов = СтрокаРезультатов + Символы.ПС + Символы.ПС; + СтрокаРезультатов = СтрокаРезультатов + + НеудаленныхОбъектов + + НСтр("ru =' объектов удалить невозможно - в информационной базе'", "ru") + + Символы.ПС; + СтрокаРезультатов = СтрокаРезультатов + + НСтр("ru ='на них ссылаются другие объекты.'", "ru"); + КонецЕсли; + + Если ДеревоНеудаленныхОбъектов.ПолучитьЭлементы().Количество() = 0 Тогда + // если удалилось все, на этом завершаем, даем посмотреть на результат и оставляем разрешенным только Закрыть + Элементы.КомандаДалее.Видимость = Ложь; + Элементы.КомандаУдалить.Видимость = Ложь; + Элементы.Закрыть.КнопкаПоУмолчанию = Истина; + Иначе + // имеются неудаленные, разрешим переход на страницу причин неудаления + Элементы.КомандаДалее.Видимость = Истина; + Элементы.КомандаУдалить.Видимость = Ложь; + Элементы.КомандаДалее.КнопкаПоУмолчанию = Истина; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура УстановитьПометкуВСписке(Данные, Пометка, ПроверятьРодителя) + Данные.Пометка = Пометка; + + // Устанавливаем подчиненным + ЭлементыСтроки = Данные.ПолучитьЭлементы(); + Для каждого Элемент Из ЭлементыСтроки Цикл + УстановитьПометкуВСписке(Элемент, Пометка, Ложь); + КонецЦикла; + // Проверяем родителя + Родитель = Данные.ПолучитьРодителя(); + Если проверятьРодителя И Родитель <> Неопределено Тогда + ПометкаРодителя = Истина; + ЭлементыСтроки = Родитель.ПолучитьЭлементы(); + Для каждого Элемент Из ЭлементыСтроки Цикл + Если НЕ Элемент.Пометка Тогда + ПометкаРодителя = Ложь; + Прервать; + КонецЕсли; + КонецЦикла; + Если ПометкаРодителя <> Родитель.Пометка Тогда + Родитель.Пометка = ПометкаРодителя; + КонецЕсли; + КонецЕсли; +КонецПроцедуры + + + + + + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Help/ru.html" new file mode 100644 index 000000000..3ab8624d0 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/Help/ru.html" @@ -0,0 +1,2 @@ + +

Позволяет произвести удаление объектов, помеченных на удаление, с контролем ссылочной целостности.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..7c1f65500 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\274\320\265\321\207\320\265\320\275\320\275\321\213\321\205\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262.mdo" @@ -0,0 +1,37 @@ + + + + + + + УдалениеПомеченныхОбъектов + + ru + Удаление помеченных объектов + + Поиск и удаление объектов, помеченных на удаление + true + DataProcessor.УдалениеПомеченныхОбъектов.Form.ОсновнаяФорма + true + + + ru + + + + ОсновнаяФорма + + ru + Основная форма + + + true + + + ru + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..69a184ea5 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,724 @@ + + + + РежимАгрегатов + 1 + true + true + + true + + + + РежимАгрегатов + + + + OnChange + РежимАгрегатовПриИзменении + + + РежимАгрегатовExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + + РежимАгрегатовКонтекстноеМеню + 2 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ГруппаОбновления + 12 + + РегламентноеОбновление + 7 + true + true + + true + + + + РегламентноеОбновление + + + + OnChange + РегламентноеОбновлениеПриИзменении + + + РегламентноеОбновлениеExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + + РегламентноеОбновлениеКонтекстноеМеню + 8 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + Обновить + 19 + true + true + + true + + false + + ОбновитьExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.Обновить + Auto + 12 + true + true + UserCmds + + + Обновлено + 20 + true + true + + true + + + + Обновлено + + + None + + ОбновленоExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + + ОбновленоКонтекстноеМеню + 21 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа обновления</value> + + + ru + Группа обновления + + + ГруппаОбновленияExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ГруппаПерестроение + 11 + + РегламентноеПерестроение + 5 + true + true + + true + + + + РегламентноеПерестроение + + + + OnChange + РегламентноеПерестроениеПриИзменении + + + РегламентноеПерестроениеExtendedTooltip + 28 + true + true + + true + + Label + true + true + + Left + + + + РегламентноеПерестроениеКонтекстноеМеню + 6 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ПерестроитьИспользование + 18 + true + true + + true + + false + + ПерестроитьИспользованиеExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.Перестроить + Auto + 12 + true + true + UserCmds + + + Перестроение + 16 + true + true + + true + + + + Перестроение + + + None + + ПерестроениеExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + ПерестроениеКонтекстноеМеню + 17 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + 2 + true + false + + + true + true + + true + + + <key>ru</key> + <value>Группа перестроение</value> + + + ru + Группа перестроение + + + ГруппаПерестроениеExtendedTooltip + 27 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ГруппаОптимальность + 10 + + ОпределитьОптимальные + 15 + true + true + + true + + false + + ОпределитьОптимальныеExtendedTooltip + 32 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ОпределитьОптимальные + Auto + true + true + UserCmds + + + Оптимальность + 13 + true + true + + true + + + + Оптимальность + + + None + + ОптимальностьExtendedTooltip + 33 + true + true + + true + + Label + true + true + + Left + + + + ОптимальностьКонтекстноеМеню + 14 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + 2 + true + false + + + true + true + + true + + + <key>ru</key> + <value>Группа оптимальность</value> + + + ru + Группа оптимальность + + + ГруппаОптимальностьExtendedTooltip + 31 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + DataProcessorObject.УправлениеАгрегатамиПродаж + + + true + + + true + +
true
+
+ + РежимАгрегатов + + <key>ru</key> + <value>Режим агрегатов</value> + + 2 + + Boolean + + + true + + + true + + + + РегламентноеПерестроение + + <key>ru</key> + <value>Перестраивать автоматически</value> + + 4 + + Boolean + + + true + + + true + + + + РегламентноеОбновление + + <key>ru</key> + <value>Обновлять автоматически</value> + + 5 + + Boolean + + + true + + + true + + + + Оптимальность + + <key>ru</key> + <value>Оптимальность</value> + + 6 + + String + + + + true + + + true + + + + Перестроение + + <key>ru</key> + <value>Перестроение</value> + + 7 + + String + + + + true + + + true + + + + Обновлено + + <key>ru</key> + <value>Обновлено</value> + + 8 + + String + + + + true + + + true + + + + Обновить + + <key>ru</key> + <value>Обновить</value> + + 1 + + ru + Обновить + + + true + + + + ОбновитьНажатие + + + Auto + + + Перестроить + + <key>ru</key> + <value>Перестроить</value> + + 2 + + ru + Перестроить + + + true + + + + Перестроить + + + Auto + + + ОпределитьОптимальные + + <key>ru</key> + <value>Определить оптимальные</value> + + 3 + + ru + Определить оптимальные + + + true + + + + ОпределитьОптимальные + + + Auto + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..8405dbaf0 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,232 @@ +&НаСервере +Процедура ИспользоватьРегламентноеЗадание(Имя, Использовать) + Задание = РегламентныеЗадания.НайтиПредопределенное(Имя); + Задание.Использование = Использовать; + Задание.Записать(); +КонецПроцедуры + +// Обновляет состояние формы по Режиму агрегатов регистра +&НаСервере +Процедура ОбновитьФорму() + РежимАгрегатов = РегистрыНакопления.Продажи.ПолучитьРежимАгрегатов(); + + // Доступность элементов. + Элементы.ГруппаОбновления.Доступность = РежимАгрегатов; + Элементы.ГруппаПерестроение.Доступность = РежимАгрегатов; + + // Флажки регламентных заданий. + РегламентноеПерестроение = РегламентныеЗадания.НайтиПредопределенное("ПерестроениеАгрегатовПродаж").Использование; + РегламентноеОбновление = РегламентныеЗадания.НайтиПредопределенное("ОбновлениеАгрегатовПродаж").Использование; + + // Состояние перестроения. + Агрегаты = РегистрыНакопления.Продажи.ПолучитьАгрегаты(); + Перестроение = НСтр("ru ='Перестроены: '", "ru") + + Агрегаты.ДатаПостроения + + НСтр("ru ='. Эффект: '", "ru") + + Агрегаты.Эффект + + НСтр("ru ='. Размер: '", "ru") + + Агрегаты.Размер + + "."; +КонецПроцедуры + +&НаСервере +Процедура ИзменитьРежимАгрегатов() + // Переключает режим агрегатов. Приводит регистр в рабочее состояние. Переключает регламентные задания, если есть. + Если РежимАгрегатов Тогда + // Включение режима агрегатов. + РегистрыНакопления.Продажи.УстановитьРежимАгрегатов(Истина); + + // Перестроение использования агрегатов. + РегистрыНакопления.Продажи.ПерестроитьИспользованиеАгрегатов(); + + // Обновление агрегатов (непорционное). + РегистрыНакопления.Продажи.ОбновитьАгрегаты(Ложь); + Иначе + // Выключение режима агрегатов. + РегистрыНакопления.Продажи.УстановитьРежимАгрегатов(Ложь); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура РежимАгрегатовПриИзменении(Элемент) + ИзменитьРежимАгрегатов(); + ОбновитьФорму(); +КонецПроцедуры + +&НаСервере +Процедура ОбновитьАгрегаты() + // Непорционное обновление агрегатов. + РегистрыНакопления.Продажи.ОбновитьАгрегаты(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура ОбновитьНажатие(Команда) + Состояние(НСтр("ru ='Подождите!'", "ru") + + Символы.ВК + + НСтр("ru ='Идет обновление агрегатов...'", "ru")); + + ОбновитьАгрегаты(); + + Состояние(НСтр("ru ='Агрегаты обновлены.'", "ru")); +КонецПроцедуры + +&НаКлиенте +Процедура РегламентноеОбновлениеПриИзменении(Элемент) + ИспользоватьРегламентноеЗадание("ОбновлениеАгрегатовПродаж", РегламентноеОбновление); + ОбновитьФорму(); +КонецПроцедуры + +&НаСервере +Процедура ПерестроитьИспользованиеАгрегатов() + РегистрыНакопления.Продажи.ПерестроитьИспользованиеАгрегатов(); +КонецПроцедуры + +&НаКлиенте +Процедура Перестроить(Команда) + Состояние(НСтр("ru ='Подождите!'", "ru") + + Символы.ВК + + НСтр("ru ='Идет перестроение использования агрегатов...'", "ru")); + + ПерестроитьИспользованиеАгрегатов(); + + ОбновитьФорму(); + Состояние(НСтр("ru ='Перестроение использования агрегатов завершено...'", "ru")); +КонецПроцедуры + +&НаКлиенте +Процедура РегламентноеПерестроениеПриИзменении(Элемент) + ИспользоватьРегламентноеЗадание("ПерестроениеАгрегатовПродаж", РегламентноеПерестроение); + ОбновитьФорму(); +КонецПроцедуры + +&НаСервере +Функция ОпределитьОптимальныеАгрегаты() + + ОптимальныеАгрегаты = РегистрыНакопления.Продажи.ОпределитьОптимальныеАгрегаты(); + + // Состояние определения оптимальных агрегатов. + Если ОпределитьОптимальность(ОптимальныеАгрегаты.Агрегаты) Тогда + Оптимальность = НСтр("ru ='Оптимальные: '", "ru"); // Список агрегатов конфигурации может быть оптимальным. + Иначе + Оптимальность = НСтр("ru ='Неоптимальные: '", "ru"); // Список агрегатов конфигурации не может быть оптимальным. + КонецЕсли; + + Оптимальность = Оптимальность + ОптимальныеАгрегаты.ДатаПостроения + + НСтр("ru ='. Эффект: '", "ru") + + ОптимальныеАгрегаты.Эффект + + НСтр("ru ='. Размер: '", "ru") + + ОптимальныеАгрегаты.Размер + + "."; + + ИмяВременногоФайла = ПолучитьИмяВременногоФайла("XML"); + + ЗаписьXML = Новый ЗаписьXML(); + ЗаписьXML.ОткрытьФайл(ИмяВременногоФайла); + ЗаписьXML.ЗаписатьОбъявлениеXML(); + СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ОптимальныеАгрегаты); + ЗаписьXML.Закрыть(); + + Возврат ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяВременногоФайла), УникальныйИдентификатор); + +КонецФункции + +&НаКлиенте +Процедура ОпределитьОптимальные(Команда) + Состояние(НСтр("ru ='Подождите!'", "ru") + + Символы.ВК + + НСтр("ru ='Выполняется определение оптимальных агрегатов...'", "ru")); + + АдресВременногоХранилища = ОпределитьОптимальныеАгрегаты(); + + ПолучитьФайл(АдресВременногоХранилища, "ОптимальныеАгрегаты.xml"); + + Состояние(НСтр("ru ='Определение оптимальных агрегатов завершено.'", "ru")); +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + ОбновитьФорму(); +КонецПроцедуры + +// Определяет, может ли список агрегатов конфигурации быть оптимальным. +&НаСервере +Функция ОпределитьОптимальность(ОптимальныеАгрегаты) + АгрегатыКонфиг = Метаданные.РегистрыНакопления.Продажи.Агрегаты; + + // Индексы агрегатов конфигурации, которые соответствуют оптимальным агрегатам. + НайденныеАгрегаты = Новый Соответствие(); + + // Для каждого оптимального агрегата должен быть соответствующий агрегат конфигурации. + Для каждого ОптимальныйАгрегат из ОптимальныеАгрегаты Цикл + Найден = Ложь; + + // Поиск агрегата с точным совпадением периодичности и измерений. + // Агрегат не должен быть в НайденныеАгрегаты. + Для Конф = 0 по АгрегатыКонфиг.Количество() - 1 Цикл + Если ОптимальныйАгрегат.Периодичность = АгрегатыКонфиг[Конф].Периодичность И + НайденныеАгрегаты[Конф] = Неопределено И + СовпадаютИзмеренияАгрегатов(ОптимальныйАгрегат, АгрегатыКонфиг[Конф]) Тогда + + // Пометка агрегата как зарезервированного. + НайденныеАгрегаты.Вставить(Конф, Истина); + Найден = Истина; + Прервать; + КонецЕсли + КонецЦикла; + + Если Найден Тогда + Продолжить; + КонецЕсли; + + // Если не найден - поиск агрегата с Авто периодичностью и точным совпадением измерений. + // Агрегат не должен быть в НайденныеАгрегаты. + Для Конф = 0 по АгрегатыКонфиг.Количество() - 1 Цикл + Если АгрегатыКонфиг[Конф].Периодичность = ПериодичностьАгрегатаРегистраНакопления.Авто И + НайденныеАгрегаты[Конф] = Неопределено И + СовпадаютИзмеренияАгрегатов(ОптимальныйАгрегат, АгрегатыКонфиг[Конф]) Тогда + + // Пометка агрегата как зарезервированного. + НайденныеАгрегаты.Вставить(Конф, Истина); + Найден = Истина; + Прервать; + КонецЕсли + КонецЦикла; + + Если НЕ Найден Тогда + Возврат Ложь; + КонецЕсли; + + КонецЦикла; + + Возврат Истина; +КонецФункции + +// Проверяет, совпадают ли измерения у оптимального агрегата и агрегата из конфигурации. +&НаСервере +Функция СовпадаютИзмеренияАгрегатов(ОптимальныйАгрегат, АгрегатКонфиг) + + // Число измерений должно быть одинаковым. + Если ОптимальныйАгрегат.Измерения.Количество() <> АгрегатКонфиг.Измерения.Количество() Тогда + Возврат Ложь; + КонецЕсли; + + // Для каждого измерения оптимального агрегата должно существовать такое же в агрегате конфигурации. + Для каждого Агрегат из ОптимальныйАгрегат.Измерения Цикл + Найдено = Ложь; + + // Поиск измерения в агрегате конфигурации. + Для каждого Измерение из АгрегатКонфиг.Измерения Цикл + Если Агрегат = Измерение.Имя Тогда + Найдено = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + + Если НЕ Найдено Тогда + Возврат Ложь; + КонецЕсли; + КонецЦикла; + + Возврат Истина; +КонецФункции + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Help/ru.html" new file mode 100644 index 000000000..f73ec7cb4 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/Help/ru.html" @@ -0,0 +1,2 @@ + +

Позволяет работать с агрегатами регистра продаж.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266.mdo" new file mode 100644 index 000000000..7aa548511 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\260\320\274\320\270\320\237\321\200\320\276\320\264\320\260\320\266.mdo" @@ -0,0 +1,31 @@ + + + + + + + УправлениеАгрегатамиПродаж + + ru + Управление агрегатами продаж + + + true + DataProcessor.УправлениеАгрегатамиПродаж.Form.Форма + true + + + ru + + + + Форма + + ru + Форма + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..4b7e6f348 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,846 @@ + + + + Пользователь + 7 + true + true + + true + + + + Пользователь + + + + OnChange + ПользовательПриИзменении + + + ПользовательExtendedTooltip + 39 + true + true + + true + + Label + true + true + + Left + + + + ПользовательКонтекстноеМеню + 8 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + Style.BorderColor + + + + + ГруппаПоиск + 33 + + Поиск + 18 + true + true + + true + + + + Поиск + + + + OnChange + ПоискПриИзменении + + + ПоискExtendedTooltip + 41 + true + true + + true + + Label + true + true + + Left + + + + ПоискКонтекстноеМеню + 19 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + Style.BorderColor + + + + + Искать + 32 + true + true + + true + + false + + ИскатьExtendedTooltip + 42 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.Искать + Auto + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + ru + Группа поиск + + + ГруппаПоискExtendedTooltip + 40 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ОтфильтрованныеФормы + 27 + + <key>ru</key> + <value>Настройки форм</value> + + true + true + + true + + + ОтфильтрованныеФормы + + false + Top + + Значение + 34 + true + true + + true + + + + ОтфильтрованныеФормы.Value + + + + ЗначениеExtendedTooltip + 44 + true + true + + true + + Label + true + true + + Left + + + + ЗначениеКонтекстноеМеню + 35 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + None + + ОтфильтрованныеФормыКоманднаяПанель + 29 + true + true + + true + + Left + true + + + true + true + + true + + ОтфильтрованныеФормыСтрокаПоиска + 45 + + ОтфильтрованныеФормыСтрокаПоискаРасширеннаяПодсказка + 47 + true + true + + true + + Label + true + true + + Left + + + + ОтфильтрованныеФормыСтрокаПоискаКонтекстноеМеню + 46 + true + true + + true + + true + + ОтфильтрованныеФормыСтрокаПоиска + + true + + + + true + true + + true + + ОтфильтрованныеФормыСостояниеПросмотра + 48 + + ОтфильтрованныеФормыСостояниеПросмотраРасширеннаяПодсказка + 50 + true + true + + true + + Label + true + true + + Left + + + + ОтфильтрованныеФормыСостояниеПросмотраКонтекстноеМеню + 49 + true + true + + true + + true + + ViewStatusAddition + ОтфильтрованныеФормыСостояниеПросмотра + + true + Left + + + + true + true + + true + + ОтфильтрованныеФормыУправлениеПоиском + 51 + + ОтфильтрованныеФормыУправлениеПоискомРасширеннаяПодсказка + 53 + true + true + + true + + Label + true + true + + Left + + + + ОтфильтрованныеФормыУправлениеПоискомКонтекстноеМеню + 52 + true + true + + true + + true + + SearchControlAddition + ОтфильтрованныеФормыУправлениеПоиском + + true + + + + ОтфильтрованныеФормыExtendedTooltip + 43 + true + true + + true + + Label + true + true + + Left + + + + ОтфильтрованныеФормыКонтекстноеМеню + 28 + true + true + + true + + true + + true + true + true + true + true + true + MultiRow + 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + + ОтфильтрованныеФормы.Picture + + + Style.BorderColor + + None + None + None + + Bottom + + ФормаКоманднаяПанель + -1 + + Обновить + 24 + true + true + + true + + false + + ОбновитьExtendedTooltip + 36 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Обновить + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Скопировать + 26 + true + true + + true + + false + + СкопироватьExtendedTooltip + 37 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Скопировать + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Удалить + 25 + true + true + + true + + false + + УдалитьExtendedTooltip + 38 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Удалить + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + DefaultButton + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + DataProcessorObject.УправлениеНастройкамиФорм + + + true + + + true + +
true
+
+ + Формы + + <key>ru</key> + <value>Формы</value> + + 2 + + ValueList + + + true + + + true + + + + + + + Пользователь + + <key>ru</key> + <value>Пользователь</value> + + 3 + + String + + + + true + + + true + + + + Поиск + + <key>ru</key> + <value>Строка поиска</value> + + 4 + + String + + + + true + + + true + + + + ОтфильтрованныеФормы + + <key>ru</key> + <value>Отфильтрованные формы</value> + + 5 + + ValueList + + + true + + + true + + + + + + + ПредыдущийПоиск + + <key>ru</key> + <value>Предыдущий поиск</value> + + 6 + + String + + + + true + + + true + + + + ВызваноОбработчиковПослеИзменения + + <key>ru</key> + <value>Вызвано обработчиков после изменения</value> + + 7 + + String + + + + true + + + true + + + + ПоискВПоследнемОжидании + + <key>ru</key> + <value>Поиск в последнем ожидании</value> + + 8 + + String + + + + true + + + true + + + + ПримененныйПоиск + + <key>ru</key> + <value>Примененный поиск</value> + + 9 + + String + + + + true + + + true + + + + Обновить + + <key>ru</key> + <value>Обновить список</value> + + 1 + + ru + ОбновитьСписокНастроекФорм + + + true + + + StdPicture.Refresh + + + + ОбновитьВыполнить + + + DontUse + + + Скопировать + + <key>ru</key> + <value>Скопировать другому пользователю</value> + + 2 + + ru + Скопировать настройки другому пользователю + + + true + + + + СкопироватьВыполнить + + + DontUse + + + Удалить + + <key>ru</key> + <value>Удалить настройки</value> + + 3 + + ru + Удалить + + + true + + + + УдалитьВыполнить + + + DontUse + + + Искать + + <key>ru</key> + <value>Искать</value> + + 4 + + ru + Искать + + + true + + + + ИскатьВыполнить + + + DontUse + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..77b5a9d05 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,262 @@ +////////////////////////////////////////////////////////////////////// +// Вспомогательные процедуры и функции + +// Процедура заполняет список пользователей информационной базы +&НаСервере +Процедура ЗаполнитьСписокПользователей() + + СписокПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей(); + + Если СписокПользователей.Количество() > 0 Тогда + + Для каждого ТекПользователь Из СписокПользователей Цикл + + Элементы.Пользователь.СписокВыбора.Добавить(ТекПользователь.Имя); + + КонецЦикла; + + Иначе + + Элементы.Пользователь.Доступность = Ложь; + Элементы.Скопировать.Доступность = Ложь; + + КонецЕсли; + +КонецПроцедуры + +// Процедура обновляет список сохраненных настроек форм +&НаСервере +Процедура ОбновитьСписокФорм() + + Обработка = ДанныеФормыВЗначение(Объект, Тип("ОбработкаОбъект.УправлениеНастройкамиФорм")); + Формы.Очистить(); + Обработка.ПолучитьСписокСохраненныхНастроек(Пользователь, Формы); + +КонецПроцедуры + +// Функция получает выделенные настройки в массиве +// +// Возврат : +// Массив имен настроек форм +&НаСервере +Функция ПолучитьМассивВыделенныхНастроек() + + МассивНастроек = Новый Массив; + + ВыделенныеЭлементы = Элементы.ОтфильтрованныеФормы.ВыделенныеСтроки; + + Для каждого ВыделенныйЭлемент Из ВыделенныеЭлементы Цикл + + МассивНастроек.Добавить(Формы.НайтиПоЗначению(ОтфильтрованныеФормы.НайтиПоИдентификатору(ВыделенныйЭлемент).Значение).Значение); + + КонецЦикла; + + Возврат МассивНастроек; + +КонецФункции + +// Процедура копирует выделенные настройки указанному пользователю +// Параметры : +// ПользователиПриемник - имя пользователя, которому нужно скопировать настройки +&НаСервере +Процедура СкопироватьНаСервере(ПользователиПриемник) + + МассивНастроекДляКопирования = ПолучитьМассивВыделенныхНастроек(); + + Обработка = ДанныеФормыВЗначение(Объект, Тип("ОбработкаОбъект.УправлениеНастройкамиФорм")); + Обработка.СкопироватьНастройкиФорм(Пользователь, ПользователиПриемник, МассивНастроекДляКопирования); + +КонецПроцедуры + +// Процедура удаляет выделенные настройки +&НаСервере +Процедура УдалитьНаСервере() + + МассивНастроекДляУдаления = ПолучитьМассивВыделенныхНастроек(); + + Обработка = ДанныеФормыВЗначение(Объект, Тип("ОбработкаОбъект.УправлениеНастройкамиФорм")); + Обработка.УдалитьНастройкиФорм(Пользователь, МассивНастроекДляУдаления); + +КонецПроцедуры + +// Процедура применяет фильтр к списку настроек +&НаСервере +Процедура ПрименитьФильтр() + + ОтфильтрованныеФормы.Очистить(); + + Для каждого ЭлементФорма Из Формы Цикл + + Если Поиск = "" ИЛИ Найти(ВРег(ЭлементФорма.Представление), ВРег(Поиск)) <> 0 Тогда + + ОтфильтрованныеФормы.Добавить(ЭлементФорма.Значение, ЭлементФорма.Представление, ЭлементФорма.Пометка, ЭлементФорма.Картинка); + + КонецЕсли; + + КонецЦикла; + + ПримененныйПоиск = Поиск; + +КонецПроцедуры + +////////////////////////////////////////////////////////////////////// +// Обработчики команд + +// Обработчик команды Обновить +&НаКлиенте +Процедура ОбновитьВыполнить() + + ОбновитьСписокФорм(); + ПрименитьФильтр(); + +КонецПроцедуры + +// Обработчик команды Скопировать другому пользователю +&НаКлиенте +Процедура СкопироватьВыполнить() + + Если Элементы.ОтфильтрованныеФормы.ВыделенныеСтроки.Количество() = 0 Тогда + + ПоказатьПредупреждение( , + НСтр("ru = 'Для копирования нужно выбрать настройки, которые требуется скопировать.'", "ru")); + Возврат; + + КонецЕсли; + + СписокВыбораПользователей = Элементы.Пользователь.СписокВыбора.Скопировать(); + СписокВыбораПользователей.Удалить( + СписокВыбораПользователей.НайтиПоЗначению(Пользователь)); + + Оповещение = Новый ОписаниеОповещения( + "СкопироватьВыполнитьОтметитьЗавершение", + ЭтотОбъект, СписокВыбораПользователей); + СписокВыбораПользователей.ПоказатьОтметкуЭлементов(Оповещение, + НСтр("ru = 'Отметьте пользователей, которым нужно скопировать настройки.'", "ru")); +КонецПроцедуры + +&НаКлиенте +Процедура СкопироватьВыполнитьОтметитьЗавершение(Результат, СписокПользователей) Экспорт + + Если Результат <> Неопределено Тогда + + ПользователиПриемник = Новый Массив; + + Для каждого Элемент Из СписокПользователей Цикл + + Элементы.Пользователь.СписокВыбора.НайтиПоЗначению(Элемент.Значение).Пометка = Элемент.Пометка; + Если Элемент.Пометка Тогда + + ПользователиПриемник.Добавить(Элемент.Значение); + + КонецЕсли; + + КонецЦикла; + + Если ПользователиПриемник.Количество() = 0 Тогда + + ПоказатьПредупреждение( , + НСтр("ru = 'Для копирования нужно отметить пользователей, которым требуется скопировать настройки.'", "ru")); + Возврат; + + КонецЕсли; + + Действие = "ВыполнитьКопирование"; + СписокКнопок = Новый СписокЗначений; + СписокКнопок.Добавить(Действие, НСтр("ru = 'Выполнить копирование'", "ru")); + СписокКнопок.Добавить(КодВозвратаДиалога.Отмена); + Контекст = Новый Структура("Действие, ПользователиПриемник", Действие, ПользователиПриемник); + Оповещение = Новый ОписаниеОповещения( + "СкопироватьВыполнитьВопросЗавершение", + ЭтотОбъект, Контекст); + ПоказатьВопрос(Оповещение, + НСтр("ru = 'После копирования настроек пользователю форма у пользователя будет открываться с настройками, которые ему скопируются. При этом его собственные настройки будут потеряны.'", "ru"), + СписокКнопок, , Действие); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура СкопироватьВыполнитьВопросЗавершение(Результат, Контекст) Экспорт + Если Результат = Контекст.Действие Тогда + СкопироватьНаСервере(Контекст.ПользователиПриемник); + ПоказатьОповещениеПользователя(НСтр("ru = 'Настройки скопированы'", "ru")); + КонецЕсли; +КонецПроцедуры + +// Обработчик команды удаления +&НаКлиенте +Процедура УдалитьВыполнить() + + Если Элементы.ОтфильтрованныеФормы.ВыделенныеСтроки.Количество() = 0 Тогда + + ПоказатьПредупреждение( , + НСтр("ru = 'Для удаления нужно выбрать настройки, которые требуется удалить.'", "ru")); + Возврат; + + КонецЕсли; + + Действие = "ВыполнитьУдаление"; + СписокКнопок = Новый СписокЗначений; + СписокКнопок.Добавить(Действие, НСтр("ru = 'Выполнить удаление'", "ru")); + СписокКнопок.Добавить(КодВозвратаДиалога.Отмена); + Оповещение = Новый ОписаниеОповещения( + "УдалитьВыполнитьВопросЗавершение", ЭтотОбъект, Действие); + ПоказатьВопрос(Оповещение, + НСтр("ru = 'После удаления настроек форма будет открываться с настройками по умолчанию.'", "ru"), + СписокКнопок, , Действие); + +КонецПроцедуры + +&НаКлиенте +Процедура УдалитьВыполнитьВопросЗавершение(Результат, Действие) Экспорт + Если Результат = Действие Тогда + УдалитьНаСервере(); + ОбновитьСписокФорм(); + ПрименитьФильтр(); + + ПоказатьОповещениеПользователя(НСтр("ru = 'Настройки удалены'", "ru")); + КонецЕсли; +КонецПроцедуры + + +// Обработчик команды поиска +&НаКлиенте +Процедура ИскатьВыполнить() + + ПрименитьФильтр(); + +КонецПроцедуры + +////////////////////////////////////////////////////////////////////// +// Обработчики событий формы + +// Обработчик события создания формы +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ЗаполнитьСписокПользователей(); + Пользователь = ИмяПользователя(); + ОбновитьСписокФорм(); + ПрименитьФильтр(); + +КонецПроцедуры + +////////////////////////////////////////////////////////////////////// +// Обработчики событий элементов управления + +// Обработчик изменения имени пользователя +&НаКлиенте +Процедура ПользовательПриИзменении(Элемент) + + ОбновитьСписокФорм(); + ПрименитьФильтр(); + +КонецПроцедуры + +// Обработчик изменения строки поиска +&НаКлиенте +Процедура ПоискПриИзменении(Элемент) + + ПрименитьФильтр(); + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Help/ru.html" new file mode 100644 index 000000000..17e6ff036 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/Help/ru.html" @@ -0,0 +1,3 @@ + +

Обработка позволяет управлять настройками пользовательских форм конфигурации.

+

 

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/ObjectModule.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/ObjectModule.bsl" new file mode 100644 index 000000000..3e0bce560 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/ObjectModule.bsl" @@ -0,0 +1,153 @@ +// Процедура получает список сохраненных настроек для переданных форм +// +// Параметры : +// СписокФорм - список форм, для которых нужно получить список настроек +// Пользователь - имя пользователя, настройки форм которого нужно получить +// СписокФормССохраненнымиНастройками - список значений в который будут добавлены настройки форм. +Процедура ПолучитьСписокСохраненныхНастроек(Пользователь, СписокФормССохраненнымиНастройками) Экспорт + + Перем Представление; + Перем Картинка; + + ТипНастроек = "/НастройкиФормы"; + ДлинаСтрокиТипаНастроек = СтрДлина(ТипНастроек); + КритерийОтбора = Новый Структура("Пользователь", Пользователь); + ВыборкаНастроек = ХранилищеСистемныхНастроек.Выбрать(КритерийОтбора); + + Пока ВыборкаНастроек.Следующий() Цикл + + Если Прав(ВыборкаНастроек.КлючОбъекта, ДлинаСтрокиТипаНастроек) = ТипНастроек Тогда + + Представление = ""; + Картинка = Неопределено; + + ПервыйСлэш = Найти(ВыборкаНастроек.КлючОбъекта, "/"); + ИмяМетаданныхФорма = Лев(ВыборкаНастроек.КлючОбъекта, ПервыйСлэш - 1); + + ЭлементыИмениМетаданныхФормы = СтрЗаменить(ИмяМетаданныхФорма, ".", Символы.ПС); + ЧислоЭлементовИмени = СтрЧислоСтрок(ЭлементыИмениМетаданныхФормы); + + Если ЧислоЭлементовИмени > 1 Тогда + + ИмяКлассаМетаданных = СтрПолучитьСтроку(ЭлементыИмениМетаданныхФормы, 1); + ИмяОбъектаМетаданных = СтрПолучитьСтроку(ЭлементыИмениМетаданныхФормы, 2); + Картинка = ПолучитьКартинкуКлассаМетаданных(ИмяКлассаМетаданных); + + ИмяОбъектаМетаданных = ИмяКлассаМетаданных + "." + ИмяОбъектаМетаданных; + ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ИмяОбъектаМетаданных); + + Если ОбъектМетаданных <> Неопределено Тогда + Представление = ИмяКлассаМетаданных + ". " + ОбъектМетаданных.Представление() + ". "; + Иначе + Представление = ИмяКлассаМетаданных + ". " + ИмяОбъектаМетаданных + ". "; + КонецЕсли; + + ОбъектМетаданныхФорма = Метаданные.НайтиПоПолномуИмени(ИмяМетаданныхФорма); + + Если ОбъектМетаданныхФорма <> Неопределено Тогда + Представление = Представление + ОбъектМетаданныхФорма.Представление(); + Иначе + Представление = Представление + СтрПолучитьСтроку(ЭлементыИмениМетаданныхФормы, ЧислоЭлементовИмени); + КонецЕсли; + + Иначе + + Представление = ИмяМетаданныхФорма; + + КонецЕсли; + + СписокФормССохраненнымиНастройками.Добавить(ИмяМетаданныхФорма, Представление, Ложь, Картинка); + + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +// Функция получения картинки класса метаданных +// +// Параметры : +// ИмяКлассаМетаданных - имя класса метаданных, для которого запрашивается картинка +// Возвращает : +// Картинку класса метаданных +Функция ПолучитьКартинкуКлассаМетаданных(ИмяКлассаМетаданных) + + Если ИмяКлассаМетаданных = "Справочник" Тогда + Возврат БиблиотекаКартинок.Справочник; + ИначеЕсли ИмяКлассаМетаданных = "КритерийОтбора" Тогда + Возврат БиблиотекаКартинок.КритерийОтбора; + ИначеЕсли ИмяКлассаМетаданных = "ХранилищеНастроек" Тогда + Возврат БиблиотекаКартинок.ХранилищеНастроек; + ИначеЕсли ИмяКлассаМетаданных = "Документ" Тогда + Возврат БиблиотекаКартинок.Документ; + ИначеЕсли ИмяКлассаМетаданных = "ЖурналДокументов" Тогда + Возврат БиблиотекаКартинок.ЖурналДокументов; + ИначеЕсли ИмяКлассаМетаданных = "Перечисление" Тогда + Возврат БиблиотекаКартинок.Перечисление; + ИначеЕсли ИмяКлассаМетаданных = "Отчет" Тогда + Возврат БиблиотекаКартинок.Отчет; + ИначеЕсли ИмяКлассаМетаданных = "Обработка" Тогда + Возврат БиблиотекаКартинок.Обработка; + ИначеЕсли ИмяКлассаМетаданных = "РегистрСведений" Тогда + Возврат БиблиотекаКартинок.РегистрСведений; + ИначеЕсли ИмяКлассаМетаданных = "РегистрНакопления" Тогда + Возврат БиблиотекаКартинок.РегистрНакопления; + ИначеЕсли ИмяКлассаМетаданных = "ПланВидовХарактеристик" Тогда + Возврат БиблиотекаКартинок.ПланВидовХарактеристик; + ИначеЕсли ИмяКлассаМетаданных = "ПланСчетов" Тогда + Возврат БиблиотекаКартинок.ПланСчетов; + ИначеЕсли ИмяКлассаМетаданных = "РегистрБухгалтерии" Тогда + Возврат БиблиотекаКартинок.РегистрБухгалтерии; + ИначеЕсли ИмяКлассаМетаданных = "ПланВидовРасчета" Тогда + Возврат БиблиотекаКартинок.ПланВидовРасчета; + ИначеЕсли ИмяКлассаМетаданных = "РегистрРасчета" Тогда + Возврат БиблиотекаКартинок.РегистрРасчета; + ИначеЕсли ИмяКлассаМетаданных = "БизнесПроцесс" Тогда + Возврат БиблиотекаКартинок.БизнесПроцесс; + ИначеЕсли ИмяКлассаМетаданных = "Задача" Тогда + Возврат БиблиотекаКартинок.Задача; + КонецЕсли; + +КонецФункции + +// Процедура позволяет скопировать настройки форм от одного пользователя другому +// +// Параметры : +// ПользовательИсточник - имя пользователя, настройки форм которого копируются +// ПользователиПриемник - имя пользователя которому копируются настройки форм +// МассивНастроекДляКопирования - имена форм, настройки которых нужно скопировать +Процедура СкопироватьНастройкиФорм(ПользовательИсточник, ПользователиПриемник, МассивНастроекДляКопирования) Экспорт + + Для каждого Элемент Из МассивНастроекДляКопирования Цикл + + Настройка = ХранилищеСистемныхНастроек.Загрузить(Элемент + "/НастройкиФормы", "", , ПользовательИсточник); + + Если Настройка <> Неопределено Тогда + + Для каждого ПользовательПриемник Из ПользователиПриемник Цикл + + ХранилищеСистемныхНастроек.Сохранить(Элемент + "/НастройкиФормы", "", Настройка, , ПользовательПриемник); + + КонецЦикла; + + КонецЕсли; + + КонецЦикла; + +КонецПроцедуры + +// Процедура позволяет удалить настройки форм +// +// Параметры : +// Пользователь - имя пользователя, настройки форм которого удаляются +// МассивНастроекДляУдаления - имена форм, настройки которых нужно удалить +Процедура УдалитьНастройкиФорм(Пользователь, МассивНастроекДляУдаления) Экспорт + + Для каждого Элемент Из МассивНастроекДляУдаления Цикл + + ХранилищеСистемныхНастроек.Удалить(Элемент + "/НастройкиФормы", "", Пользователь); + + КонецЦикла; + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274.mdo" new file mode 100644 index 000000000..78a7b3025 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\260\320\274\320\270\320\244\320\276\321\200\320\274.mdo" @@ -0,0 +1,31 @@ + + + + + + + УправлениеНастройкамиФорм + + ru + Управление настройками форм + + + true + DataProcessor.УправлениеНастройкамиФорм.Form.Форма + true + + + ru + + + + Форма + + ru + Форма + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..f64e78706 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,526 @@ + + + + <key>ru</key> + <value>Управление полнотекстовым поиском</value> + + + ГоризонтальнаяГруппа + 14 + + ГруппаУправления + 16 + + РазрешитьПолнотекстовыйПоиск + 1 + true + true + + true + + + + РазрешитьПолнотекстовыйПоиск + + + + OnChange + РазрешитьПолнотекстовыйПоискПриИзменении + + + РазрешитьПолнотекстовыйПоискExtendedTooltip + 9 + true + true + + true + + Label + true + true + + Left + + + + РазрешитьПолнотекстовыйПоискКонтекстноеМеню + 2 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + СтатусИндекса + 3 + true + true + + true + + + + СтатусИндекса + + + None + + СтатусИндексаExtendedTooltip + 10 + true + true + + true + + Label + true + true + + Left + + + + СтатусИндексаКонтекстноеМеню + 4 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ДатаАктуальностиИндекса + 5 + true + true + + true + + + + ДатаАктуальностиИндекса + + + + ДатаАктуальностиИндексаExtendedTooltip + 11 + true + true + + true + + Label + true + true + + Left + + + + ДатаАктуальностиИндексаКонтекстноеМеню + 6 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Группа управления</value> + + + ru + Группа управления + + + ГруппаУправленияРасширеннаяПодсказка + 17 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ГруппаКнопок + 18 + + Справка + 20 + true + true + + true + + + СправкаРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.StandardCommand.Help + Auto + true + true + UserCmds + + + ОбновитьИндекс + 7 + true + true + + true + + false + + ОбновитьИндексExtendedTooltip + 12 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ОбновитьИндекс + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ОчиститьИндекс + 8 + true + true + + true + + false + + ОчиститьИндексExtendedTooltip + 13 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ОчиститьИндекс + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + <key>ru</key> + <value>Группа кнопок</value> + + + ru + Группа кнопок + + + ГруппаКнопокРасширеннаяПодсказка + 19 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Горизонтальная группа</value> + + + ru + Горизонтальная группа + + + ГоризонтальнаяГруппаРасширеннаяПодсказка + 15 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Right + true + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + Vertical + true + true + true + true + + Объект + 1 + + DataProcessorObject.УправлениеПолнотекстовымПоиском + + + true + + + true + +
true
+
+ + РазрешитьПолнотекстовыйПоиск + + <key>ru</key> + <value>Разрешить полнотекстовый поиск</value> + + 2 + + Boolean + + + true + + + true + + + + СтатусИндекса + + <key>ru</key> + <value>Статус индекса</value> + + 3 + + FormattedString + + + true + + + true + + + + ДатаАктуальностиИндекса + + <key>ru</key> + <value>Дата актуальности индекса</value> + + 4 + + Date + + + + true + + + true + + + + ОбновитьИндекс + + <key>ru</key> + <value>Обновить индекс</value> + + 1 + + ru + Обновить индекс + + + true + + + StdPicture.Refresh + + + + ОбновитьИндексВыполнить + + + TextPicture + Auto + + + ОчиститьИндекс + + <key>ru</key> + <value>Очистить индекс</value> + + 2 + + ru + Очистить индекс + + + true + + + StdPicture.Delete + + + + ОчиститьИндексВыполнить + + + TextPicture + Auto + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..dece1a2f9 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,88 @@ +// Процедура обновляет индекс полнотекстового поиска +&НаСервере +Процедура ОбновитьИндекс() + ПолнотекстовыйПоиск.ОбновитьИндекс(); + ОбновитьСтатусВыполнить(); +КонецПроцедуры + +// Обработчик команды ОбновитьИндекс +&НаКлиенте +Процедура ОбновитьИндексВыполнить() + Состояние(НСтр("ru = 'Подождите!'", "ru") + + Символы.ВК + + НСтр("ru = 'Идет обновление полнотекстового индекса...'", "ru")); + ОбновитьИндекс(); + Состояние(НСтр("ru = 'Обновление полнотекстового индекса завершено'", "ru")); +КонецПроцедуры + + +// Процедура выполняет очистку индекса полнотекстового поиска +&НаСервере +Процедура ОчиститьИндексСервер() Экспорт + ПолнотекстовыйПоиск.ОчиститьИндекс(); + ОбновитьСтатусВыполнить(); +КонецПроцедуры + +// Обработчик команды ОчиститьИндекс +&НаКлиенте +Процедура ОчиститьИндексВыполнить() + ОчиститьИндексСервер(); +КонецПроцедуры + +// Процедура обновляет информацию об индексе и управляет доступностью кнопок +&НаСервере +Процедура ОбновитьСтатусВыполнить() + Элементы.ОбновитьИндекс.Доступность = Ложь; + Элементы.ОчиститьИндекс.Доступность = Ложь; + + РазрешитьПолнотекстовыйПоиск = ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Разрешить; + ДатаАктуальностиИндекса = '00010101'; + СтатусИндекса = ""; + + Если ПолнотекстовыйПоиск.ПолучитьРежимПолнотекстовогоПоиска() = РежимПолнотекстовогоПоиска.Разрешить Тогда + ДатаАктуальностиИндекса = ПолнотекстовыйПоиск.ДатаАктуальности(); + + Если ПолнотекстовыйПоиск.ИндексАктуален() Тогда + СтатусИндекса = Новый ФорматированнаяСтрока(НСтр("ru = 'Обновление индекса не требуется'", "ru"), , ЦветаСтиля.ЦветТекстаНормальногоСостояния); + Иначе + СтатусИндекса = Новый ФорматированнаяСтрока(НСтр("ru = 'Требуется обновление индекса'", "ru"), , ЦветаСтиля.ЦветТекстаОшибочногоСостояния); + КонецЕсли; + + Если ПравоДоступа("Администрирование", Метаданные) Тогда + Элементы.ОчиститьИндекс.Доступность = Истина; + Элементы.ОбновитьИндекс.Доступность = Истина; + КонецЕсли; + КонецЕсли; +КонецПроцедуры + + +// Процедура устанавливает режим полнотекстового поиска +&НаСервере +Процедура УстановитьПолнотекстовыйПоискРазрешен(Разрешен) Экспорт + Если Разрешен Тогда + ПолнотекстовыйПоиск.УстановитьРежимПолнотекстовогоПоиска(РежимПолнотекстовогоПоиска.Разрешить); + Иначе + ПолнотекстовыйПоиск.УстановитьРежимПолнотекстовогоПоиска(РежимПолнотекстовогоПоиска.Запретить); + КонецЕсли; + ОбновитьСтатусВыполнить(); +КонецПроцедуры + +&НаКлиенте +Процедура РазрешитьПолнотекстовыйПоискПриИзменении(Элемент) + Попытка + УстановитьПолнотекстовыйПоискРазрешен(РазрешитьПолнотекстовыйПоиск); + Исключение + РазрешитьПолнотекстовыйПоиск = НЕ РазрешитьПолнотекстовыйПоиск; + Инфо = ИнформацияОбОшибке(); + СтрокаИсключения = Инфо.Описание + + "." + + Символы.ВК + + НСтр("ru = 'Вероятно, запущено регламентное задание обновления индекса. Попробуйте еще раз некоторое время спустя.'", "ru"); + ВызватьИсключение СтрокаИсключения; + КонецПопытки; +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + ОбновитьСтатусВыполнить(); +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Help/ru.html" new file mode 100644 index 000000000..f63716066 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/Help/ru.html" @@ -0,0 +1,2 @@ + +

Позволяет управлять работой полнотекстового поиска.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274.mdo" new file mode 100644 index 000000000..653c8ee64 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\237\320\276\320\273\320\275\320\276\321\202\320\265\320\272\321\201\321\202\320\276\320\262\321\213\320\274\320\237\320\276\320\270\321\201\320\272\320\276\320\274.mdo" @@ -0,0 +1,31 @@ + + + + + + + УправлениеПолнотекстовымПоиском + + ru + Управление полнотекстовым поиском + + + true + DataProcessor.УправлениеПолнотекстовымПоиском.Form.Форма + true + + + ru + + + + Форма + + ru + Форма + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..ce935c53f --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,793 @@ + + + + <key>ru</key> + <value>Управление обсуждениями</value> + + + Страницы + 3 + + СтраницаОтменитьРегистрацию + 5 + + ПодтверждениеОтключения + 36 + true + true + + true + + + + ПодтверждениеОтключения + + + Right + + OnChange + ПодтверждениеОтключенияПриИзменении + + + ПодтверждениеОтключенияРасширеннаяПодсказка + 38 + true + true + + true + + Label + true + true + + Left + + + + ПодтверждениеОтключенияКонтекстноеМеню + 37 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + + ОтменитьРегистрацию + 12 + true + + true + + + ОтменитьРегистрациюРасширеннаяПодсказка + 13 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ОтменитьРегистрацию + Auto + true + true + Bottom + UserCmds + + Style.NormalTextFont + true + false + false + false + 120 + + + true + true + + true + + + <key>ru</key> + <value>Страница отменить регистрацию</value> + + + ru + Страница отменить регистрацию + + true + true + + СтраницаОтменитьРегистрациюРасширеннаяПодсказка + 6 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + Center + Center + true + + + + СтраницаЗапросаКода + 7 + + EMail + 17 + true + true + + true + + + + АдресЭлектроннойПочты + + + + ru + Укажите ваш адрес электронной почты. +На этот адрес будет отправлено письмо с кодом регистрации. + + ShowBottom + + EMailРасширеннаяПодсказка + 19 + true + true + + true + + Label + true + true + + Left + + + + EMailКонтекстноеМеню + 18 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + EditTextChange + EMailИзменениеТекстаРедактирования + + true + true + true + true + true + true + true + + + + ГруппаДополнительныеПараметрыРегистрации + 20 + + АдресСервера + 22 + true + true + + true + + + + АдресСервера + + + + АдресСервераРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + АдресСервераКонтекстноеМеню + 23 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + EditTextChange + АдресСервераИзменениеТекстаРедактирования + + true + true + true + true + true + true + true + + + + ИмяИБ + 25 + true + true + + true + + + + ИмяИБ + + + + ИмяИБРасширеннаяПодсказка + 27 + true + true + + true + + Label + true + true + + Left + + + + ИмяИБКонтекстноеМеню + 26 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + EditTextChange + ИмяИБИзменениеТекстаРедактирования + + true + true + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Дополнительно</value> + + + ru + Группа дополнительные параметры регистрации + + + ГруппаДополнительныеПараметрыРегистрацииРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + Collapsible + true + NormalSeparation + true + true + true + Auto + DontUse + + + + ПолучитьКодРегистрации + 30 + true + + true + + + ПолучитьКодРегистрацииРасширеннаяПодсказка + 31 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.ПолучитьКодРегистрации + Auto + true + true + Center + UserCmds + + Style.NormalTextFont + 120 + + + true + true + + true + + + <key>ru</key> + <value>Страница запроса кода</value> + + + ru + Страница запроса кода + + + СтраницаЗапросаКодаРасширеннаяПодсказка + 8 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + + СтраницаРегистрации + 42 + + КодРегистрации + 14 + true + true + + true + + + + КодРегистрации + + + + ru + Укажите код регистрации, полученный в письме. + + ShowBottom + + КодРегистрацииРасширеннаяПодсказка + 16 + true + true + + true + + Label + true + true + + Left + + + + КодРегистрацииКонтекстноеМеню + 15 + true + true + + true + + true + + InputField + Enter + true + Left + true + + + EditTextChange + КодРегистрацииИзменениеТекстаРедактирования + + true + true + true + true + true + true + true + + + + Зарегистрировать + 34 + true + + true + + + ЗарегистрироватьРасширеннаяПодсказка + 35 + true + true + + true + + Label + true + true + + Left + + + UsualButton + Form.Command.Зарегистрировать + Auto + true + true + Center + Bottom + UserCmds + + Style.NormalTextFont + 120 + + + true + true + + true + + + <key>ru</key> + <value>Страница регистрации</value> + + + ru + Страница регистрации + + true + + СтраницаРегистрацииРасширеннаяПодсказка + 43 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + <key>ru</key> + <value>Страницы</value> + + + ru + Страницы + + + СтраницыРасширеннаяПодсказка + 4 + true + true + + true + + Label + true + true + + Left + + + Pages + + DontUse + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + LockOwnerWindow + true + Vertical + true + true + true + true + + Объект + 1 + + DataProcessorObject.УправлениеСистемойВзаимодействия + + + true + + + true + +
true
+
+ + КодРегистрации + + <key>ru</key> + <value>Код регистрации</value> + + 2 + + String + + + + true + + + true + + + + АдресЭлектроннойПочты + + <key>ru</key> + <value>Адрес электронной почты</value> + + 3 + + String + + + + true + + + true + + + + АдресСервера + + <key>ru</key> + <value>Адрес сервера взаимодействия</value> + + 4 + + String + + + + true + + + true + + + + ИмяИБ + + <key>ru</key> + <value>Наименование приложения</value> + + 5 + + String + + + + true + + + true + + + + ПодтверждениеОтключения + + <key>ru</key> + <value>Я уверен, что хочу отключить обсуждения</value> + + 6 + + Boolean + + + true + + + true + + + + Зарегистрировать + + <key>ru</key> + <value>Включить обсуждения</value> + + 1 + + ru + Включить обсуждения + + + true + + + + Зарегистрировать + + + DontUse + + + ОтменитьРегистрацию + + <key>ru</key> + <value>Отключить обсуждения</value> + + 2 + + ru + Отключить обсуждения + + + true + + + + ОтменитьРегистрацию + + + DontUse + + + ПолучитьКодРегистрации + + <key>ru</key> + <value>Получить код регистрации</value> + + 3 + + ru + Получить код регистрации + + + true + + + + ПолучитьКодРегистрации + + + DontUse + + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..135ee5890 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,173 @@ +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если ПользователиИнформационнойБазы.ТекущийПользователь().Имя = "" Тогда + Отказ = Истина; + Возврат; + КонецЕсли; + + Если НЕ ПравоДоступа("РегистрацияИнформационнойБазыСистемыВзаимодействия", Метаданные) Тогда + Отказ = Истина; + Возврат; + КонецЕсли; + + АдресСервера = "wss://1cdialog.com:443"; + ИмяИБ = Метаданные.КраткаяИнформация; + + Если СистемаВзаимодействия.ИнформационнаяБазаЗарегистрирована() Тогда + Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаОтменитьРегистрацию; + Иначе + Заголовок = НСтр("ru = 'Регистрация в системе взаимодействия'", "ru"); + Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаЗапросаКода; + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПолучитьКодРегистрации(Команда) + + ПараметрыРегистрации = Новый ПараметрыРегистрацииИнформационнойБазыСистемыВзаимодействия(); + ПараметрыРегистрации.АдресСервера = АдресСервера; + ПараметрыРегистрации.АдресЭлектроннойПочты = АдресЭлектроннойПочты; + ПараметрыРегистрации.ИмяИнформационнойБазы = ИмяИБ; + + ОписаниеОповещения = Новый ОписаниеОповещения("КодРегистрацииОтправлен", ЭтотОбъект); + СистемаВзаимодействия.НачатьРегистрациюИнформационнойБазы(ОписаниеОповещения, ПараметрыРегистрации); + +КонецПроцедуры + +&НаКлиенте +Процедура КодРегистрацииОтправлен(РегистрацияВыполнена, ТекстСообщения, ДопПараметры) Экспорт + + ОписаниеОповещения = Новый ОписаниеОповещения("ПредупреждениеКодОтправленПоказано", ЭтотОбъект); + ПоказатьПредупреждение(ОписаниеОповещения, ТекстСообщения); + +КонецПроцедуры + +&НаКлиенте +Процедура ПредупреждениеКодОтправленПоказано(ДопПараметры) Экспорт + + Элементы.Страницы.ТекущаяСтраница = Элементы.СтраницаРегистрации; + +КонецПроцедуры + +&НаКлиенте +Процедура Зарегистрировать(Команда) + + ПараметрыРегистрации = Новый ПараметрыРегистрацииИнформационнойБазыСистемыВзаимодействия(); + ПараметрыРегистрации.АдресСервера = АдресСервера; + ПараметрыРегистрации.АдресЭлектроннойПочты = АдресЭлектроннойПочты; + ПараметрыРегистрации.ИмяИнформационнойБазы = ИмяИБ; + ПараметрыРегистрации.КодАктивации = КодРегистрации; + + ОписаниеОповещения = Новый ОписаниеОповещения("Зарегистрировано", ЭтотОбъект); + СистемаВзаимодействия.НачатьРегистрациюИнформационнойБазы(ОписаниеОповещения, ПараметрыРегистрации); + +КонецПроцедуры + +&НаКлиенте +Процедура Зарегистрировано(РегистрацияВыполнена, ТекстСообщения, ДопПараметры) Экспорт + + Если НЕ РегистрацияВыполнена Тогда + ПоказатьПредупреждение(, ТекстСообщения); + Возврат; + КонецЕсли; + + ВыполнитьИнициализацию(); + + ПомощникКлиент.ПриНачалеРаботыСистемы(); + + Закрыть(); + +КонецПроцедуры + +&НаСервереБезКонтекста +Процедура ВыполнитьИнициализацию() + + Помощник.Инициализация(); + +КонецПроцедуры + +&НаКлиенте +Процедура ОтменитьРегистрацию(Команда) + + ОписаниеОповещения = Новый ОписаниеОповещения("РегистрацияОтменена", ЭтотОбъект); + СистемаВзаимодействия.НачатьОтменуРегистрацииИнформационнойБазы(ОписаниеОповещения); + +КонецПроцедуры + +&НаКлиенте +Процедура РегистрацияОтменена(ДопПараметры) Экспорт + + Помощник.Отключение(); + Закрыть(); + +КонецПроцедуры + + +&НаКлиенте +Процедура EMailИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка) + + Элементы.ПолучитьКодРегистрации.Доступность = + НЕ ПустаяСтрока(АдресСервера) И + НЕ ПустаяСтрока(Текст) И + НЕ ПустаяСтрока(ИмяИБ); + + Элементы.Зарегистрировать.Доступность = + НЕ ПустаяСтрока(АдресСервера) И + НЕ ПустаяСтрока(Текст) И + НЕ ПустаяСтрока(ИмяИБ) И + НЕ ПустаяСтрока(КодРегистрации); + +КонецПроцедуры + +&НаКлиенте +Процедура АдресСервераИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка) + + Элементы.ПолучитьКодРегистрации.Доступность = + НЕ ПустаяСтрока(Текст) И + НЕ ПустаяСтрока(АдресЭлектроннойПочты) И + НЕ ПустаяСтрока(ИмяИБ); + + Элементы.Зарегистрировать.Доступность = + НЕ ПустаяСтрока(Текст) И + НЕ ПустаяСтрока(АдресЭлектроннойПочты) И + НЕ ПустаяСтрока(ИмяИБ) И + НЕ ПустаяСтрока(КодРегистрации); + +КонецПроцедуры + +&НаКлиенте +Процедура ИмяИБИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка) + + Элементы.ПолучитьКодРегистрации.Доступность = + НЕ ПустаяСтрока(АдресСервера) И + НЕ ПустаяСтрока(АдресЭлектроннойПочты) И + НЕ ПустаяСтрока(Текст); + + Элементы.Зарегистрировать.Доступность = + НЕ ПустаяСтрока(АдресСервера) И + НЕ ПустаяСтрока(АдресЭлектроннойПочты) И + НЕ ПустаяСтрока(Текст) И + НЕ ПустаяСтрока(КодРегистрации); + +КонецПроцедуры + +&НаКлиенте +Процедура КодРегистрацииИзменениеТекстаРедактирования(Элемент, Текст, СтандартнаяОбработка) + + Элементы.Зарегистрировать.Доступность = + НЕ ПустаяСтрока(АдресСервера) И + НЕ ПустаяСтрока(АдресЭлектроннойПочты) И + НЕ ПустаяСтрока(ИмяИБ) И + НЕ ПустаяСтрока(Текст); + +КонецПроцедуры + + +&НаКлиенте +Процедура ПодтверждениеОтключенияПриИзменении(Элемент) + + Элементы.ОтменитьРегистрацию.Доступность = ПодтверждениеОтключения; + +КонецПроцедуры \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217.mdo" new file mode 100644 index 000000000..f736dd9e0 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217/\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\270\321\201\321\202\320\265\320\274\320\276\320\271\320\222\320\267\320\260\320\270\320\274\320\276\320\264\320\265\320\271\321\201\321\202\320\262\320\270\321\217.mdo" @@ -0,0 +1,25 @@ + + + + + + + УправлениеСистемойВзаимодействия + + ru + Управление обсуждениями + + + true + DataProcessor.УправлениеСистемойВзаимодействия.Form.Форма + + Форма + + ru + Форма + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..f700bf86d --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\222\321\205\320\276\320\264\321\217\321\211\320\270\320\265/ExtInfo/ListSettings.dcss" @@ -0,0 +1,19 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + + Дата + Desc + + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..f700bf86d --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\320\265/ExtInfo/ListSettings.dcss" @@ -0,0 +1,19 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + + Дата + Desc + + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/ConditionalAppearance.dcssca" "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/ConditionalAppearance.dcssca" new file mode 100644 index 000000000..71de8cc1f --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/ConditionalAppearance.dcssca" @@ -0,0 +1,23 @@ + + + + + + СписокВходящие + + + + + СписокВходящие.Прочитано + Equal + false + + + + + Шрифт + + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" new file mode 100644 index 000000000..c50b274c6 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Form.form" @@ -0,0 +1,1968 @@ + + + + <key>ru</key> + <value>Электронная почта</value> + + + ГруппаКоманднаяПанель + 22 + + ГруппаНовоеПисьмо + 71 + + КомандаНовоеПисьмо + 23 + true + true + + true + + + КомандаНовоеПисьмоExtendedTooltip + 49 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаНовоеПисьмо + Auto + true + true + UserCmds + + + КомандаНовоеПисьмоПоШаблону + 69 + true + true + + true + + + КомандаНовоеПисьмоПоШаблонуРасширеннаяПодсказка + 70 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаНовоеПисьмоПоШаблону + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Группа новое письмо</value> + + + ru + Группа новое письмо + + + ГруппаНовоеПисьмоРасширеннаяПодсказка + 72 + true + true + + true + + Label + true + true + + Left + + + + + + КомандаОтветить + 25 + true + true + + true + + + КомандаОтветитьExtendedTooltip + 50 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаОтветить + Auto + true + true + UserCmds + + + ГруппаПолучитьПисьма + 73 + + КомандаПолучитьПисьма + 24 + true + true + + true + + + КомандаПолучитьПисьмаExtendedTooltip + 48 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаПолучитьПисьма + Auto + true + true + UserCmds + + StdPicture.Refresh + + + true + true + + true + + + <key>ru</key> + <value>Группа получить письма</value> + + + ru + Группа получить письма + + + ГруппаПолучитьПисьмаРасширеннаяПодсказка + 74 + true + true + + true + + Label + true + true + + Left + + + + + + КомандаСоздатьПочтовыйЯщикIMAP + 41 + true + + true + + + КомандаСоздатьПочтовыйЯщикIMAPExtendedTooltip + 51 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаСоздатьПочтовыйЯщикIMAP + Auto + true + true + true + UserCmds + + + Справка + 33 + true + true + + true + + + СправкаExtendedTooltip + 52 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + Auto + true + true + UserCmds + + + КомандаНастройкаПочты + 42 + true + true + + true + + + КомандаНастройкаПочтыExtendedTooltip + 53 + true + true + + true + + Label + true + true + + Left + + + Form.Command.КомандаНастроить + Auto + true + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Группа командная панель</value> + + + ru + Группа командная панель + + + ГруппаКоманднаяПанельExtendedTooltip + 47 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + + + + ГруппаСтраницы + 10 + + ГруппаВходящие + 11 + + ПочтовыйЯщикIMAP + 37 + true + + true + + + + ПочтовыйЯщикIMAP + + + + OnChange + ПочтовыйЯщикIMAPПриИзменении + + + ПочтовыйЯщикIMAPExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + + ПочтовыйЯщикIMAPКонтекстноеМеню + 38 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + true + true + true + + + + ГруппаПоискВходящие + 93 + + + <key>ru</key> + <value>Отображение состояния входящие</value> + + true + true + + true + + ОтображениеСостоянияВходящие + 95 + + ОтображениеСостоянияВходящиеРасширеннаяПодсказка + 97 + true + true + + true + + Label + true + true + + Left + + + + ОтображениеСостоянияВходящиеКонтекстноеМеню + 96 + true + true + + true + + true + + ViewStatusAddition + СписокВходящиеСостояниеПросмотра + + true + Left + + + + КоманднаяПанельПоискаВходяшие + 115 + + + <key>ru</key> + <value>Строка поиска входящие</value> + + true + true + + true + + СтрокаПоискаВходящие + 98 + + СтрокаПоискаВходящиеРасширеннаяПодсказка + 100 + true + true + + true + + Label + true + true + + Left + + + + СтрокаПоискаВходящиеКонтекстноеМеню + 99 + true + true + + true + + true + + СписокВходящиеСтрокаПоиска + + true + + + + + <key>ru</key> + <value>Управление поиском входящие</value> + + true + true + + true + + УправлениеПоискомВходящие + 101 + + УправлениеПоискомВходящиеРасширеннаяПодсказка + 103 + true + true + + true + + Label + true + true + + Left + + + + УправлениеПоискомВходящиеКонтекстноеМеню + 102 + true + true + + true + + true + + SearchControlAddition + СписокВходящиеУправлениеПоиском + + true + + + true + true + + true + + + <key>ru</key> + <value>Командная панель поиска входяшие</value> + + + ru + Командная панель поиска входяшие + + + КоманднаяПанельПоискаВходяшиеРасширеннаяПодсказка + 116 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа поиск входящие</value> + + + ru + Группа поиск входящие + + + ГруппаПоискВходящиеРасширеннаяПодсказка + 94 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + СписокВходящие + 1 + true + true + + true + + + СписокВходящие + + None + Change + Copy + Create + SetDeletionMark + + ДатаВходящие + 6 + true + true + + true + + + + СписокВходящие.Дата + + + + ДатаВходящиеExtendedTooltip + 58 + true + true + + true + + Label + true + true + + Left + + + + ДатаВходящиеКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + НаименованиеВходящие + 4 + true + true + + true + + + + СписокВходящие.Description + + + true + + НаименованиеВходящиеExtendedTooltip + 59 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеВходящиеКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокВходящиеОтправитель + 31 + true + true + + true + + + + СписокВходящие.Отправитель + + + + СписокВходящиеОтправительExtendedTooltip + 60 + true + true + + true + + Label + true + true + + Left + + + + СписокВходящиеОтправительКонтекстноеМеню + 32 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокВходящиеПочтовыйЯщик + 43 + true + true + + true + + + + СписокВходящие.ПочтовыйЯщик + + + + СписокВходящиеПочтовыйЯщикExtendedTooltip + 61 + true + true + + true + + Label + true + true + + Left + + + + СписокВходящиеПочтовыйЯщикКонтекстноеМеню + 44 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + true + + + None + + СписокВходящиеКоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокВходящиеСтрокаПоиска + 75 + + СписокВходящиеСтрокаПоискаРасширеннаяПодсказка + 77 + true + true + + true + + Label + true + true + + Left + + + + СписокВходящиеСтрокаПоискаКонтекстноеМеню + 76 + true + true + + true + + true + + СписокВходящиеСтрокаПоиска + + true + + + + true + true + + true + + СписокВходящиеСостояниеПросмотра + 78 + + СписокВходящиеСостояниеПросмотраРасширеннаяПодсказка + 80 + true + true + + true + + Label + true + true + + Left + + + + СписокВходящиеСостояниеПросмотраКонтекстноеМеню + 79 + true + true + + true + + true + + ViewStatusAddition + СписокВходящиеСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокВходящиеУправлениеПоиском + 81 + + СписокВходящиеУправлениеПоискомРасширеннаяПодсказка + 83 + true + true + + true + + Label + true + true + + Left + + + + СписокВходящиеУправлениеПоискомКонтекстноеМеню + 82 + true + true + + true + + true + + SearchControlAddition + СписокВходящиеУправлениеПоиском + + true + + + + СписокВходящиеExtendedTooltip + 57 + true + true + + true + + Label + true + true + + Left + + + + СписокВходящиеКонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + СписокВходящие.DefaultPicture + + None + None + None + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + +
+ true + true + + true + + + <key>ru</key> + <value>Входящие</value> + + + ru + Группа входящие + + + ГруппаВходящиеExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + +
+ + ГруппаИсходящие + 12 + + ГруппаПоискИсходящие + 104 + + + <key>ru</key> + <value>Состояние просмотра исходящие</value> + + true + true + + true + + СостояниеПросмотраИсходящие + 106 + + СостояниеПросмотраИсходящиеРасширеннаяПодсказка + 108 + true + true + + true + + Label + true + true + + Left + + + + СостояниеПросмотраИсходящиеКонтекстноеМеню + 107 + true + true + + true + + true + + ViewStatusAddition + СписокИсходящиеСостояниеПросмотра + + true + Left + + + + КоманднаяПанельПоискаИсходяшие + 117 + + + <key>ru</key> + <value>Строка поиска исходящие</value> + + true + true + + true + + СтрокаПоискаИсходящие + 109 + + СтрокаПоискаИсходящиеРасширеннаяПодсказка + 111 + true + true + + true + + Label + true + true + + Left + + + + СтрокаПоискаИсходящиеКонтекстноеМеню + 110 + true + true + + true + + true + + СписокИсходящиеСтрокаПоиска + + true + + + + + <key>ru</key> + <value>Управление поиском исходящие</value> + + true + true + + true + + УправлениеПоискомИсходящие + 112 + + УправлениеПоискомИсходящиеРасширеннаяПодсказка + 114 + true + true + + true + + Label + true + true + + Left + + + + УправлениеПоискомИсходящиеКонтекстноеМеню + 113 + true + true + + true + + true + + SearchControlAddition + СписокИсходящиеУправлениеПоиском + + true + + + true + true + + true + + + <key>ru</key> + <value>Командная панель поиска исходяшие</value> + + + ru + Командная панель поиска исходяшие + + + КоманднаяПанельПоискаИсходяшиеРасширеннаяПодсказка + 118 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + + + true + true + + true + + + <key>ru</key> + <value>Группа поиск исходящие</value> + + + ru + Группа поиск исходящие + + + ГруппаПоискИсходящиеРасширеннаяПодсказка + 105 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + СписокИсходящие + 13 + true + true + + true + + + СписокИсходящие + + None + Copy + Create + SetDeletionMark + + ДатаИсходящие + 18 + true + true + + true + + + + СписокИсходящие.Дата + + + + ДатаИсходящиеExtendedTooltip + 64 + true + true + + true + + Label + true + true + + Left + + + + ДатаИсходящиеКонтекстноеМеню + 19 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + НаименованиеИсходящие + 16 + true + true + + true + + + + СписокИсходящие.Description + + + + НаименованиеИсходящиеExtendedTooltip + 65 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеИсходящиеКонтекстноеМеню + 17 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокИсходящиеПолучатель + 29 + true + true + + true + + + + СписокИсходящие.Получатель + + + + СписокИсходящиеПолучательExtendedTooltip + 66 + true + true + + true + + Label + true + true + + Left + + + + СписокИсходящиеПолучательКонтекстноеМеню + 30 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СписокИсходящиеОтправлено + 27 + true + true + + true + + + + СписокИсходящие.Отправлено + + + + СписокИсходящиеОтправленоExtendedTooltip + 67 + true + true + + true + + Label + true + true + + Left + + + + СписокИсходящиеОтправленоКонтекстноеМеню + 28 + true + true + + true + + true + + CheckBoxField + Enter + true + Left + true + + + None + + СписокИсходящиеКоманднаяПанель + 15 + true + true + + true + + Left + true + + + true + true + + true + + СписокИсходящиеСтрокаПоиска + 84 + + СписокИсходящиеСтрокаПоискаРасширеннаяПодсказка + 86 + true + true + + true + + Label + true + true + + Left + + + + СписокИсходящиеСтрокаПоискаКонтекстноеМеню + 85 + true + true + + true + + true + + СписокИсходящиеСтрокаПоиска + + true + + + + true + true + + true + + СписокИсходящиеСостояниеПросмотра + 87 + + СписокИсходящиеСостояниеПросмотраРасширеннаяПодсказка + 89 + true + true + + true + + Label + true + true + + Left + + + + СписокИсходящиеСостояниеПросмотраКонтекстноеМеню + 88 + true + true + + true + + true + + ViewStatusAddition + СписокИсходящиеСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокИсходящиеУправлениеПоиском + 90 + + СписокИсходящиеУправлениеПоискомРасширеннаяПодсказка + 92 + true + true + + true + + Label + true + true + + Left + + + + СписокИсходящиеУправлениеПоискомКонтекстноеМеню + 91 + true + true + + true + + true + + SearchControlAddition + СписокИсходящиеУправлениеПоиском + + true + + + + СписокИсходящиеExtendedTooltip + 63 + true + true + + true + + Label + true + true + + Left + + + + СписокИсходящиеКонтекстноеМеню + 14 + true + true + + true + + true + + HierarchicalList + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + + СписокИсходящие.DefaultPicture + + None + None + None + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + +
+ true + true + + true + + + <key>ru</key> + <value>Исходящие</value> + + + ru + Группа исходящие + + + ГруппаИсходящиеExtendedTooltip + 62 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + +
+ true + true + + true + + + <key>ru</key> + <value>Группа страницы</value> + + + ru + Группа страницы + + + ГруппаСтраницыExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + Pages + + TabsOnTop + DontUse + +
+ None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + NotificationProcessing + ОбработкаОповещения + + + OnCreateAtServer + ПриСозданииНаСервере + + 80 + 80 + true + Vertical + true + true + true + UseIfNecessary + true + true + + СписокВходящие + + <key>ru</key> + <value>Список входящие</value> + + 1 + + DynamicList + + + true + + + true + + + СписокВходящие.Прочитано + + + ВЫБРАТЬ + СправочникВходящиеПисьма.Ссылка, + СправочникВходящиеПисьма.ПометкаУдаления, + СправочникВходящиеПисьма.Предопределенный, + СправочникВходящиеПисьма.Наименование, + СправочникВходящиеПисьма.Дата, + СправочникВходящиеПисьма.Отправитель, + СправочникВходящиеПисьма.Текст, + СправочникВходящиеПисьма.ВидСодержимого, + СправочникВходящиеПисьма.Идентификатор, + СправочникВходящиеПисьма.ПочтовыйЯщик, + ЕСТЬNULL(СостояниеВходящихПисем.Прочитано, ЛОЖЬ) КАК Прочитано +ИЗ + Справочник.ВходящиеПисьма КАК СправочникВходящиеПисьма + ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеВходящихПисем КАК СостояниеВходящихПисем + ПО СостояниеВходящихПисем.Письмо = СправочникВходящиеПисьма.Ссылка + Catalog.ВходящиеПисьма + true + true + true + true + true + + + + СписокИсходящие + + <key>ru</key> + <value>Список исходящие</value> + + 2 + + DynamicList + + + true + + + true + + + ВЫБРАТЬ + СправочникИсходящиеПисьма.Ссылка, + СправочникИсходящиеПисьма.ПометкаУдаления, + СправочникИсходящиеПисьма.Предопределенный, + СправочникИсходящиеПисьма.Наименование, + СправочникИсходящиеПисьма.Дата, + СправочникИсходящиеПисьма.Получатель, + СправочникИсходящиеПисьма.Содержимое, + СправочникИсходящиеПисьма.Текст, + ЕСТЬNULL(СостояниеИсходящихПисем.Отправлено, ЛОЖЬ) КАК Отправлено +ИЗ + Справочник.ИсходящиеПисьма КАК СправочникИсходящиеПисьма + ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеИсходящихПисем КАК СостояниеИсходящихПисем + ПО СправочникИсходящиеПисьма.Ссылка = СостояниеИсходящихПисем.Письмо + Catalog.ИсходящиеПисьма + true + true + true + true + true + + + + ИспользоватьIMAP + + <key>ru</key> + <value>Использовать IMAP</value> + + 3 + + Boolean + + + true + + + true + + + + ПочтовыйЯщикIMAP + + <key>ru</key> + <value>Почтовый ящик</value> + + 4 + + String + + + + true + + + true + + + + КомандаНовоеПисьмо + + <key>ru</key> + <value>Новое письмо</value> + + 1 + + ru + Команда новое письмо + + + true + + + + КомандаНовоеПисьмо + + + DontUse + + + КомандаПолучитьПисьма + + <key>ru</key> + <value>Получить письма</value> + + 2 + + ru + Команда получить письма + + + true + + + + КомандаПолучитьПисьма + + + DontUse + + + КомандаОтветить + + <key>ru</key> + <value>Ответить</value> + + 3 + + ru + Команда ответить + + + true + + + + КомандаОтветить + + + DontUse + + + КомандаСоздатьПочтовыйЯщикIMAP + + <key>ru</key> + <value>Создать почтовый ящик</value> + + 4 + + ru + Команда создать почтовый ящик IMAP + + + true + + + + КомандаСоздатьПочтовыйЯщикIMAP + + + DontUse + + + КомандаНастроить + + <key>ru</key> + <value>Настроить</value> + + 5 + + ru + Команда настроить + + + true + + + + КомандаНастройкаПочты + + + DontUse + + + КомандаНовоеПисьмоПоШаблону + + <key>ru</key> + <value>Новое письмо по шаблону</value> + + 6 + + ru + Команда новое письмо по шаблону + + + true + + + + КомандаНовоеПисьмоПоШаблону + + + DontUse + + + + + +
diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" new file mode 100644 index 000000000..fe83fd4b7 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260/Module.bsl" @@ -0,0 +1,193 @@ +&НаСервереБезКонтекста +Функция ПолучитьПоследнееВходящееПисьмо() + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ ПЕРВЫЕ 1 + | ВходящиеПисьма.Ссылка КАК Ссылка + |ИЗ + | Справочник.ВходящиеПисьма КАК ВходящиеПисьма + | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ + | МАКСИМУМ(ВходящиеПисьма.Дата) КАК Дата + | ИЗ + | Справочник.ВходящиеПисьма КАК ВходящиеПисьма) КАК Т + | ПО ВходящиеПисьма.Дата = Т.Дата + | + |УПОРЯДОЧИТЬ ПО + | Ссылка"; + + Результат = Запрос.Выполнить(); + ВыборкаДетальныеЗаписи = Результат.Выбрать(); + Если НЕ ВыборкаДетальныеЗаписи.Следующий() Тогда + Возврат Справочники.ВходящиеПисьма.ПустаяСсылка(); + КонецЕсли; + Возврат ВыборкаДетальныеЗаписи.Ссылка; +КонецФункции + +&НаКлиенте +Процедура КомандаПолучитьПисьма(Команда) + Количество = 0; + Если Не РаботаСПочтойВызовСервера.ПолучитьПисьма(Количество, ИспользоватьIMAP, ПочтовыйЯщикIMAP) Тогда + Кнопки = Новый СписокЗначений; + Кнопки.Добавить(1, "Настроить почту"); + Кнопки.Добавить(2, "Закрыть"); + + Оповещение = Новый ОписаниеОповещения("КомандаПолучитьПисьмаЗавершение", ЭтотОбъект); + ПоказатьВопрос(Оповещение, "Не указаны настройки интернет почты!", Кнопки,, 1); + Возврат; + КонецЕсли; + + Если Количество <> 0 Тогда + Элементы.СписокВходящие.Обновить(); + ЭтаФорма.ОбновитьОтображениеДанных(); + Элементы.СписокВходящие.ТекущаяСтрока = ПолучитьПоследнееВходящееПисьмо(); + + #Если Не ВебКлиент И Не МобильныйКлиент Тогда + ПанельЗадачОС.УстановитьНаклейку(Количество, Истина); + ПанельЗадачОС.Сигнализировать(3); + #КонецЕсли + КонецЕсли; + + ПоказатьОповещениеПользователя("Новых писем: " + Количество); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаПолучитьПисьмаЗавершение(Результат, Параметры) Экспорт + Если Результат = 1 Тогда + ОткрытьФорму("ОбщаяФорма.НастройкаПочты"); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура КомандаНовоеПисьмо(Команда) + ПараметрыФормы = Новый Структура(); + ОткрытьФорму("Справочник.ИсходящиеПисьма.ФормаОбъекта", ПараметрыФормы, ЭтотОбъект); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаНовоеПисьмоПоШаблону(Команда) + ПараметрыФормы = Новый Структура("ПоШаблону", Истина); + ОткрытьФорму("Справочник.ИсходящиеПисьма.ФормаОбъекта", ПараметрыФормы, ЭтотОбъект); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаОтветить(Команда) + Если Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаВходящие Тогда + Письмо = Элементы.СписокВходящие.ТекущаяСтрока; + Иначе + Письмо = Элементы.СписокИсходящие.ТекущаяСтрока; + КонецЕсли; + ПараметрыФормы = Новый Структура("ВходящееПисьмо", Письмо); + ОткрытьФорму("Справочник.ИсходящиеПисьма.ФормаОбъекта",ПараметрыФормы, ЭтотОбъект); +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + Если ИмяСобытия = "ОбновитьСписокВходящихПисем" Тогда + Элементы.СписокВходящие.Обновить(); + КонецЕсли; +КонецПроцедуры + +&НаСервереБезКонтекста +Функция ПолучитьПочтовыеЯщики() + Возврат РаботаСПочтой.ПолучитьПочтовыеЯщикиIMAP(); +КонецФункции + +&НаСервере +Процедура ЗагрузитьПочтовыеЯщикиВСписокВыбора(ПолеВыбора) + ПолеВыбора.СписокВыбора.Очистить(); + Попытка + ПочтовыеЯщики = ПолучитьПочтовыеЯщики(); + Для Каждого ПочтовыйЯщик из ПочтовыеЯщики Цикл + ПолеВыбора.СписокВыбора.Добавить(ПочтовыйЯщик); + КонецЦикла; + Исключение + Сообщить("Ошибка при заполнении списка почтовых ящиков IMAP: " + ИнформацияОбОшибке().Описание); + КонецПопытки +КонецПроцедуры + +&НаСервере +Процедура СоздатьПочтовыйЯщик(ПочтовыйЯщик) + РаботаСПочтой.СоздатьПочтовыйЯщикIMAP(ПочтовыйЯщик); + ЗагрузитьПочтовыеЯщикиВСписокВыбора(Элементы.ПочтовыйЯщикIMAP); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаСоздатьПочтовыйЯщикIMAP(Команда) + Оповещение = Новый ОписаниеОповещения("КомандаСоздатьПочтовыйЯщикIMAPЗавершение", ЭтотОбъект); + ПоказатьВводСтроки(Оповещение, "<Новое Имя>", "Введите имя почтового ящика") +КонецПроцедуры + +&НаКлиенте +Процедура КомандаСоздатьПочтовыйЯщикIMAPЗавершение(ПочтовыйЯщик, Параметры) Экспорт + Если Не ПочтовыйЯщик = Неопределено Тогда + СоздатьПочтовыйЯщик(ПочтовыйЯщик); + ПочтовыйЯщикIMAP = ПочтовыйЯщик; + ФильтроватьСпискиПисем(); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьНастройки() + Профиль = РаботаСПочтой.ПолучитьПрофиль(, ИспользоватьIMAP); + Элементы.ПочтовыйЯщикIMAP.Доступность = ИспользоватьIMAP; + Элементы.КомандаСоздатьПочтовыйЯщикIMAP.Доступность = ИспользоватьIMAP; + ФильтроватьСпискиПисем(); +КонецПроцедуры + +&НаСервере +Процедура УстановитьОтборПоПочтовомуЯщику(Список) + УдалитьОтборПоПочтовомуЯщику(Список); + ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); + ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПочтовыйЯщик"); + ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; + ЭлементОтбора.Использование = Истина; + ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный; + Если ИспользоватьIMAP Тогда + Если ПочтовыйЯщикIMAP = "" Тогда + ПочтовыйЯщикIMAP = "INBOX"; + КонецЕсли; + ЭлементОтбора.ПравоеЗначение = "IMAP/" + ПочтовыйЯщикIMAP; + Иначе + ЭлементОтбора.ПравоеЗначение = "POP3"; + КонецЕсли; + ПараметрыСеанса.ЯщикIMAP = ПочтовыйЯщикIMAP; +КонецПроцедуры + +&НаСервере +Процедура УдалитьОтборПоПочтовомуЯщику(Список) + ЭлементыОтбора = Список.Отбор.Элементы; + ПолеКомпоновки = Новый ПолеКомпоновкиДанных("ПочтовыйЯщик"); + Для каждого ЭлементОтбора Из ЭлементыОтбора Цикл + Если ЭлементОтбора.ЛевоеЗначение = ПолеКомпоновки Тогда + ЭлементыОтбора.Удалить(ЭлементОтбора); + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +&НаСервере +Процедура ФильтроватьСпискиПисем() + УстановитьОтборПоПочтовомуЯщику(СписокВходящие); +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + ЗаполнитьНастройки(); + ЗагрузитьПочтовыеЯщикиВСписокВыбора(Элементы.ПочтовыйЯщикIMAP); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаНастройкаПочты(Команда) + Оповещение = Новый ОписаниеОповещения( + "КомандаНастройкаПочтыЗавершение", ЭтотОбъект); + ОткрытьФорму("ОбщаяФорма.НастройкаПочты",,,,,, Оповещение); +КонецПроцедуры + +&НаКлиенте +Процедура КомандаНастройкаПочтыЗавершение(Результат, Параметры) Экспорт + ЗаполнитьНастройки(); +КонецПроцедуры + +&НаКлиенте +Процедура ПочтовыйЯщикIMAPПриИзменении(Элемент) + ФильтроватьСпискиПисем(); +КонецПроцедуры \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Help/ru.html" "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Help/ru.html" new file mode 100644 index 000000000..8de76ab5b --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/Help/ru.html" @@ -0,0 +1,2 @@ + +

Пример реализации почтового клиента. Позволяет принимать и отправлять письма по элетронной почте.
Также является примером, демонстрирующим возможности форматированного документа.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260.mdo" "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260.mdo" new file mode 100644 index 000000000..892ac54c3 --- /dev/null +++ "b/fixtures/demo-configuration/src/DataProcessors/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260/\320\255\320\273\320\265\320\272\321\202\321\200\320\276\320\275\320\275\320\260\321\217\320\237\320\276\321\207\321\202\320\260.mdo" @@ -0,0 +1,34 @@ + + + + + + + ЭлектроннаяПочта + + ru + Электронная почта + + + true + DataProcessor.ЭлектроннаяПочта.Form.Форма + + + ru + + + + ru + Электронная почта + + + Форма + + ru + Форма + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..c34556917 --- /dev/null +++ "b/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,722 @@ + + + + Настройки + 32 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + None + + Дата + 5 + true + true + + true + + + + Список.Date + + + + ДатаРасширеннаяПодсказка + 7 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 6 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Номер + 8 + true + true + + true + + + + Список.Number + + + + НомерРасширеннаяПодсказка + 10 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Тип + 11 + true + true + + true + + + + Список.Type + + + true + + ТипРасширеннаяПодсказка + 13 + true + true + + true + + Label + true + true + + Left + + + + ТипКонтекстноеМеню + 12 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Покупатель + 14 + true + true + + true + + + + Список.Покупатель + + + + ПокупательРасширеннаяПодсказка + 16 + true + true + + true + + Label + true + true + + Left + + + + ПокупательКонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Склад + 17 + true + true + + true + + + + Список.Склад + + + + СкладРасширеннаяПодсказка + 19 + true + true + + true + + Label + true + true + + Left + + + + СкладКонтекстноеМеню + 18 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Валюта + 20 + true + true + + true + + + + Список.Валюта + + + + ВалютаРасширеннаяПодсказка + 22 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 21 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ВидЦен + 23 + true + true + + true + + + + Список.ВидЦен + + + + ВидЦенРасширеннаяПодсказка + 25 + true + true + + true + + Label + true + true + + Left + + + + ВидЦенКонтекстноеМеню + 24 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Организация + 26 + true + true + + true + + + + Список.Организация + + + + ОрганизацияРасширеннаяПодсказка + 28 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 27 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СостояниеЗаказа + 29 + true + true + + true + + + + Список.СостояниеЗаказа + + + + СостояниеЗаказаРасширеннаяПодсказка + 31 + true + true + + true + + Label + true + true + + Left + + + + СостояниеЗаказаКонтекстноеМеню + 30 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + + + true + true + + true + + СписокСтрокаПоиска + 34 + + СписокСтрокаПоискаРасширеннаяПодсказка + 36 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 35 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 37 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 39 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 38 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 40 + + СписокУправлениеПоискомРасширеннаяПодсказка + 42 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 41 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокРасширеннаяПодсказка + 4 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + DocumentJournal.ДокументыПродаж + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266.mdo" "b/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266.mdo" new file mode 100644 index 000000000..e0553ecdd --- /dev/null +++ "b/fixtures/demo-configuration/src/DocumentJournals/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\237\321\200\320\276\320\264\320\260\320\266.mdo" @@ -0,0 +1,87 @@ + + + + + + + + ДокументыПродаж + + ru + Документы продаж + + + DocumentJournal.ДокументыПродаж.Form.ФормаСписка + true + Document.РасходТовара + Document.Заказ + + Покупатель + + ru + Покупатель + + + Document.РасходТовара.Attribute.Покупатель + Document.Заказ.Attribute.Покупатель + + + Склад + + ru + Склад + + + Document.РасходТовара.Attribute.Склад + Document.Заказ.Attribute.Склад + + + Валюта + + ru + Валюта + + + Document.РасходТовара.Attribute.Валюта + Document.Заказ.Attribute.Валюта + + + ВидЦен + + ru + Вид цен + + + Document.РасходТовара.Attribute.ВидЦен + Document.Заказ.Attribute.ВидЦен + + + Организация + + ru + Организация + + + Document.РасходТовара.Attribute.Организация + Document.Заказ.Attribute.Организация + + + СостояниеЗаказа + + ru + Состояние заказа + + + Document.Заказ.Attribute.СостояниеЗаказа + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\226\321\203\321\200\320\275\320\260\320\273\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\226\321\203\321\200\320\275\320\260\320\273\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..0af8518e6 --- /dev/null +++ "b/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\226\321\203\321\200\320\275\320\260\320\273\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\276\320\262\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,23 @@ + + + + + false + Контрагент + Equal + bb4fe184-947a-4d9a-8b1c-f568bd5e2709 + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..3e7c12e79 --- /dev/null +++ "b/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,710 @@ + + + + Настройки + 64 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 65 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + ЖурналДокументовСписок + 31 + true + true + + true + + + ЖурналДокументовСписок + + true + false + None + + Дата + 34 + true + true + + true + + + + ЖурналДокументовСписок.Date + + + + ДатаExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 35 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Номер + 36 + true + true + + true + + + + ЖурналДокументовСписок.Number + + + + НомерExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 37 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Тип + 38 + true + true + + true + + + + ЖурналДокументовСписок.Type + + + + ТипExtendedTooltip + 57 + true + true + + true + + Label + true + true + + Left + + + + ТипКонтекстноеМеню + 39 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Контрагент + 42 + true + true + + true + + + + ЖурналДокументовСписок.Контрагент + + + + КонтрагентExtendedTooltip + 58 + true + true + + true + + Label + true + true + + Left + + + + КонтрагентКонтекстноеМеню + 43 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + РасчетныйСчет + 44 + true + true + + true + + + + ЖурналДокументовСписок.РасчетныйСчет + + + + РасчетныйСчетExtendedTooltip + 59 + true + true + + true + + Label + true + true + + Left + + + + РасчетныйСчетКонтекстноеМеню + 45 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Организация + 48 + true + true + + true + + + + ЖурналДокументовСписок.Организация + + + + ОрганизацияExtendedTooltip + 60 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 49 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СуммаДокумента + 50 + + Сумма + 46 + true + true + + true + + + + ЖурналДокументовСписок.Сумма + + + + СуммаExtendedTooltip + 62 + true + true + + true + + Label + true + true + + Left + + + + СуммаКонтекстноеМеню + 47 + true + true + + true + + true + + LabelField + Enter + Left + true + + true + true + + + + Валюта + 40 + true + true + + true + + + + ЖурналДокументовСписок.Валюта + + + + ВалютаExtendedTooltip + 63 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 41 + true + true + + true + + true + + LabelField + Enter + Left + true + + true + true + + + true + true + + true + + + <key>ru</key> + <value>Сумма документа</value> + + + ru + Сумма документа + + + СуммаДокументаExtendedTooltip + 61 + true + true + + true + + Label + true + true + + Left + + + ColumnGroup + + true + true + + + None + + ЖурналДокументовСписокКоманднаяПанель + 33 + true + true + + true + + Left + true + + + true + true + + true + + ЖурналДокументовСписокСтрокаПоиска + 66 + + ЖурналДокументовСписокСтрокаПоискаРасширеннаяПодсказка + 68 + true + true + + true + + Label + true + true + + Left + + + + ЖурналДокументовСписокСтрокаПоискаКонтекстноеМеню + 67 + true + true + + true + + true + + ЖурналДокументовСписокСтрокаПоиска + + true + + + + true + true + + true + + ЖурналДокументовСписокСостояниеПросмотра + 69 + + ЖурналДокументовСписокСостояниеПросмотраРасширеннаяПодсказка + 71 + true + true + + true + + Label + true + true + + Left + + + + ЖурналДокументовСписокСостояниеПросмотраКонтекстноеМеню + 70 + true + true + + true + + true + + ViewStatusAddition + ЖурналДокументовСписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + ЖурналДокументовСписокУправлениеПоиском + 72 + + ЖурналДокументовСписокУправлениеПоискомРасширеннаяПодсказка + 74 + true + true + + true + + Label + true + true + + Left + + + + ЖурналДокументовСписокУправлениеПоискомКонтекстноеМеню + 73 + true + true + + true + + true + + SearchControlAddition + ЖурналДокументовСписокУправлениеПоиском + + true + + + + ЖурналДокументовСписокExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + + ЖурналДокументовСписокКонтекстноеМеню + 32 + true + true + + true + + true + + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + Auto + Auto + true + true + true + + ЖурналДокументовСписок.DefaultPicture + + + Style.BorderColor + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + ЖурналДокументовСписок + 1 + + DynamicList + + + true + + + true + +
true
+ + DocumentJournal.ФинансовыеДокументы + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Help/ru.html" "b/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Help/ru.html" new file mode 100644 index 000000000..65c2adc95 --- /dev/null +++ "b/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/Help/ru.html" @@ -0,0 +1,2 @@ + +

В этом журнале находятся все финансовые документы предприятия.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213.mdo" "b/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213.mdo" new file mode 100644 index 000000000..cafc5e9e0 --- /dev/null +++ "b/fixtures/demo-configuration/src/DocumentJournals/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213/\320\244\320\270\320\275\320\260\320\275\321\201\320\276\320\262\321\213\320\265\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213.mdo" @@ -0,0 +1,152 @@ + + + + + + + + ФинансовыеДокументы + + ru + Финансовые документы + + + DocumentJournal.ФинансовыеДокументы.Form.ФормаСписка + true + Document.Оплата + Document.ПоступлениеДенег + true + + + ru + + + + Use + Type + + ru + Вид документа + + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + Date + + + Use + + + + + + Use + Posted + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Number + + + Use + + + + + + ru + Оплаты товаров и услуг и поступления денег на наши счета + + + Контрагент + + ru + Контрагент + + + Document.Оплата.Attribute.Поставщик + Document.ПоступлениеДенег.Attribute.Покупатель + + + Сумма + + ru + Сумма + + + Document.Оплата.Attribute.Сумма + Document.ПоступлениеДенег.Attribute.Сумма + + + Валюта + + ru + Валюта + + + Document.Оплата.Attribute.Валюта + Document.ПоступлениеДенег.Attribute.Валюта + + + РасчетныйСчет + + ru + Расчетный счет + + + Document.Оплата.Attribute.РасчетныйСчет + Document.ПоступлениеДенег.Attribute.РасчетныйСчет + + + Организация + + ru + Организация + + + Document.Оплата.Attribute.Организация + Document.ПоступлениеДенег.Attribute.Организация + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ConditionalAppearance.dcssca" "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ConditionalAppearance.dcssca" new file mode 100644 index 000000000..b9e7298a7 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ConditionalAppearance.dcssca" @@ -0,0 +1,57 @@ + + + + + + ТоварыСумма + + + + + Объект.Товары.СуммаИзменена + Equal + true + + + + + ЦветТекста + #FF8C00 + + + Шрифт + + + + + + + + ТоварыКоличество + + + + + Объект.Товары.ЭтоУслуга + Equal + true + + + + + false + Видимость + false + + + false + Доступность + false + + + Отображать + false + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..47d539c14 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,1641 @@ + + + + Шапка + 40 + + ЛеваяКолонка + 99 + + Номер + 2 + true + true + + true + + + + Объект.Number + + + true + + НомерExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 24 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + false + true + true + true + + Style.BorderColor + + + + + Дата + 3 + true + true + + true + + + + Объект.Date + + + true + + ДатаExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 23 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Организация + 37 + true + true + + true + + + + Объект.Организация + + + + OnChange + ОрганизацияПриИзменении + + + ОрганизацияExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 38 + true + true + + true + + true + + InputField + Enter + true + Left + true + + 30 + true + true + true + true + true + + Style.BorderColor + + + + + ГруппаПокупатель + 48 + + Покупатель + 4 + true + true + + true + + + + Объект.Покупатель + + + + OnChange + ПокупательПриИзменении + + + ПокупательExtendedTooltip + 58 + true + true + + true + + Label + true + true + + Left + + + + ПокупательКонтекстноеМеню + 25 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа покупатель</value> + + + ru + Группа покупатель + + + ГруппаПокупательExtendedTooltip + 57 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + Склад + 5 + true + true + + true + + + + Объект.Склад + + + + СкладExtendedTooltip + 60 + true + true + + true + + Label + true + true + + Left + + + + СкладКонтекстноеМеню + 28 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Левая колонка</value> + + + ru + Левая колонка + + + ЛеваяКолонкаРасширеннаяПодсказка + 100 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ПраваяКолонка + 101 + + ВидЦен + 7 + true + true + + true + + + + Объект.ВидЦен + + + true + + OnChange + ВидЦенПриИзменении + + + ВидЦенExtendedTooltip + 62 + true + true + + true + + Label + true + true + + Left + + + + ВидЦенКонтекстноеМеню + 26 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Валюта + 6 + true + true + + true + + + + Объект.Валюта + + + + ВалютаExtendedTooltip + 63 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 27 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + СостояниеЗаказа + 90 + true + true + + true + + + + Объект.СостояниеЗаказа + + + + СостояниеЗаказаExtendedTooltip + 92 + true + true + + true + + Label + true + true + + Left + + + + СостояниеЗаказаКонтекстноеМеню + 91 + true + true + + true + + true + + RadioButtonField + EnterOnInput + true + Left + true + + Tumbler + + + Enum.СостоянияЗаказов.EnumValue.Открыт + + + + + ru + В работе + + + Enum.СостоянияЗаказов.EnumValue.ВРаботе + + + + + Enum.СостоянияЗаказов.EnumValue.Выполнен + + + + + Enum.СостоянияЗаказов.EnumValue.Закрыт + + + + + true + true + + true + + + <key>ru</key> + <value>Правая колонка</value> + + + ru + Правая колонка + + + ПраваяКолонкаРасширеннаяПодсказка + 102 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Шапка</value> + + + ru + Шапка + + + ШапкаРасширеннаяПодсказка + 53 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + ГруппаТовары + 8 + + Товары + 9 + true + true + + true + + + Объект.Товары + + false + None + + ТоварыТовар + 76 + High + true + true + + true + + + + Объект.Товары.Товар + + + + OnChange + ТоварыТоварПриИзменении + + + ТоварыТоварРасширеннаяПодсказка + 78 + true + true + + true + + Label + true + true + + Left + + + + ТоварыТоварКонтекстноеМеню + 77 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + ТоварыЦена + 79 + Usual + true + true + + true + + + + Объект.Товары.Цена + + + + OnChange + ТоварыЦенаПриИзменении + + + ТоварыЦенаРасширеннаяПодсказка + 81 + true + true + + true + + Label + true + true + + Left + + + + ТоварыЦенаКонтекстноеМеню + 80 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + ТоварыКоличество + 82 + Usual + true + true + + true + + + + Объект.Товары.Количество + + + + OnChange + ТоварыКоличествоПриИзменении + + + ТоварыКоличествоРасширеннаяПодсказка + 84 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКоличествоКонтекстноеМеню + 83 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + true + + + + ТоварыСумма + 85 + High + true + true + + true + + + + Объект.Товары.Сумма + + + + OnChange + ТоварыСуммаПриИзменении + + + ТоварыСуммаРасширеннаяПодсказка + 87 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСуммаКонтекстноеМеню + 86 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + true + + + + ТоварыКоманднаяПанель + 30 + + КомандаПодбор + 17 + true + true + + true + + false + + КомандаПодборExtendedTooltip + 66 + true + true + + true + + Label + true + true + + Left + + + CommandBarHyperlink + Form.Command.КомандаПодбор + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Left + true + + + true + true + + true + + ТоварыСтрокаПоиска + 103 + + ТоварыСтрокаПоискаРасширеннаяПодсказка + 105 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСтрокаПоискаКонтекстноеМеню + 104 + true + true + + true + + true + + ТоварыСтрокаПоиска + + true + + + + true + true + + true + + ТоварыСостояниеПросмотра + 106 + + ТоварыСостояниеПросмотраРасширеннаяПодсказка + 108 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСостояниеПросмотраКонтекстноеМеню + 107 + true + true + + true + + true + + ViewStatusAddition + ТоварыСостояниеПросмотра + + true + Left + + + + true + true + + true + + ТоварыУправлениеПоиском + 109 + + ТоварыУправлениеПоискомРасширеннаяПодсказка + 111 + true + true + + true + + Label + true + true + + Left + + + + ТоварыУправлениеПоискомКонтекстноеМеню + 110 + true + true + + true + + true + + SearchControlAddition + ТоварыУправлениеПоиском + + true + + + + ТоварыExtendedTooltip + 67 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКонтекстноеМеню + 29 + true + true + + true + + true + + true + true + 40 + true + true + 8 + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + true + + Style.BorderColor + + None + None + None + +
+ + Итоги + 42 + + ТоварыИтогКоличество + 43 + true + true + + true + + + + Объект.Товары.TotalКоличество + + + + ТоварыИтогКоличествоExtendedTooltip + 74 + true + true + + true + + Label + true + true + + Left + + + + ТоварыИтогКоличествоКонтекстноеМеню + 44 + true + true + + true + + true + + LabelField + Left + Enter + true + Left + true + + true + true + + Style.NormalTextFont + true + false + false + false + + + + + ТоварыИтогСумма + 45 + true + true + + true + + + + Объект.Товары.TotalСумма + + + + ТоварыИтогСуммаExtendedTooltip + 75 + true + true + + true + + Label + true + true + + Left + + + + ТоварыИтогСуммаКонтекстноеМеню + 46 + true + true + + true + + true + + LabelField + Left + Enter + true + Left + true + + true + true + + Style.NormalTextFont + true + false + false + false + + + + true + true + + true + + + <key>ru</key> + <value>Итоги</value> + + + ИтогиExtendedTooltip + 73 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Товары</value> + + + ГруппаТоварыExtendedTooltip + 65 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + true + Auto + DontUse + +
+ + Автор + 96 + true + true + + true + + + + Объект.Автор + + + + АвторРасширеннаяПодсказка + 98 + true + true + + true + + Label + true + true + + Left + + + + АвторКонтекстноеМеню + 97 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ФормаКоманднаяПанель + -1 + + ОстаткиПоСкладу + 18 + true + true + + true + + false + + ОстаткиПоСкладуExtendedTooltip + 50 + true + true + + true + + Label + true + true + + Left + + + Report.ОстаткиТоваровНаСкладах.Command.ОстаткиПоСкладу + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ФормаПозвонить + 112 + true + true + + true + + + ФормаПозвонитьРасширеннаяПодсказка + 113 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Позвонить + Auto + true + true + UserCmds + + + ФормаОтправитьСМС + 114 + true + true + + true + + + ФормаОтправитьСМСРасширеннаяПодсказка + 115 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ОтправитьСМС + Auto + true + true + UserCmds + + true + true + + true + + Left + true + + + NewWriteProcessing + ОбработкаЗаписиНового + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + + <key>ru</key> + <value>Объект</value> + + 1 + + DocumentObject.Заказ + + + true + + + true + + + Объект.RegisterRecords + +
true
+ true + + + Объект.Товары + + + ЭтоУслуга + + <key>ru</key> + <value>Это услуга?</value> + + 1 + + Boolean + + + true + + + true + + + + СуммаИзменена + + <key>ru</key> + <value>Сумма изменена</value> + + 2 + + Boolean + + + true + + + true + + + +
+ + СостояниеЗаказаПриСоздании + + <key>ru</key> + <value>Состояние заказа при создании</value> + + 2 + + EnumRef.СостоянияЗаказов + + + true + + + true + + + + КомандаПодбор + + <key>ru</key> + <value>Подбор</value> + + 1 + + ru + Подбор товаров + + + true + + + + КомандаПодбор + + + true + DontUse + + + ОтправитьСМС + + <key>ru</key> + <value>Отправить СМС</value> + + 2 + + ru + Отправить СМС + + + true + + + CommonPicture.ОтправитьСМС + + + + ОтправитьСМС + + + DontUse + + + Позвонить + + <key>ru</key> + <value>Позвонить</value> + + 3 + + ru + Позвонить + + + true + + + CommonPicture.Позвонить + + + + Позвонить + + + DontUse + + + + + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenByRecorder + + true + + Role.Продавец + + + + + AccumulationRegister.Взаиморасчеты.StandardCommand.OpenByRecorder + + true + + + + AccumulationRegister.Продажи.StandardCommand.OpenByRecorder + + true + + + + + + Document.РасходТовара.Command.ПечатьРасходнойНакладной + CommandGroup.Печать + 0 + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + + true + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..7e22398e1 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,371 @@ +//////////////////////////////////////////////////////////////////////////////// +// Переменные +// + +&НаКлиенте +Перем АдресТоваровВХранилище; + +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// Функция возвращает цену определенного товара на дату согласно виду цены +// +// Параметры: +// Дата – Дата – дата, на которую определяется цена. +// Товар – СправочникСсылка.Товары – товар, цена которого определяется. +// ВидЦен – СправочникСсылка.ВидыЦен – вид цены. +// +// Возвращаемое значение: +// Число - Цена товара на определенную дату, согласно виду цены. +&НаСервереБезКонтекста +Функция ПолучитьЦенуТовара(Дата, Товар, ВидЦен) + ЦенаТовара = РегистрыСведений.ЦеныТоваров.ПолучитьПоследнее( + Дата, Новый Структура("Товар, ВидЦен", Товар, ВидЦен)); + Возврат ЦенаТовара.Цена; +КонецФункции + +// Функция возвращает вид цены для указанного покупателя +// +// Параметры: +// Покупатель – СправочникСсылка.Контрагенты – контрагент. +// +// Возвращаемое значение: +// СправочникСсылка.ВидыЦен - Вид цены для указанного покупателя. +&НаСервереБезКонтекста +Функция ПолучитьВидЦенПокупателя(Покупатель) + Запрос = Новый Запрос(); + Запрос.Текст = "ВЫБРАТЬ ВидЦен ИЗ Справочник.Контрагенты ГДЕ Ссылка = &Покупатель"; + Запрос.УстановитьПараметр("Покупатель", Покупатель); + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Возврат Выборка.ВидЦен; + КонецЕсли; + Возврат Справочники.ВидыЦен.ПустаяСсылка(); +КонецФункции + +// Функция определяет услуга это или нет +&НаСервереБезКонтекста +Функция ЭтоУслуга(Товар) + + Возврат ?(Товар.Вид = Перечисления.ВидыТоваров.Услуга, Истина, Ложь); + +КонецФункции + +// Процедура устанавливает цены товаров и вычисляет суммы по каждой строке +// табличной части Товары. +// +// Параметры: +// Нет. +// +// Возвращаемое значение: +// Нет. +&НаСервере +Процедура ПересчитатьЦеныИСуммыТоваров(ПересчитатьДляВсехТоваров) + Запрос = Новый Запрос(); + Запрос.Текст = "ВЫБРАТЬ + | ЦеныТоваровСрезПоследних.Цена, + | ЦеныТоваровСрезПоследних.Товар + |ИЗ + | РегистрСведений.ЦеныТоваров.СрезПоследних( + | , + | ВидЦен = &ВидЦены + | И Товар В (&Товары)) КАК ЦеныТоваровСрезПоследних"; + Запрос.УстановитьПараметр("ВидЦены", Объект.ВидЦен); + Товары = Новый Массив(); + Для каждого Стр Из Объект.Товары Цикл + Товары.Добавить(Стр.Товар); + КонецЦикла; + Запрос.УстановитьПараметр("Товары", Товары); + + ТЗЦены = Запрос.Выполнить().Выгрузить(); + ТЗЦены.Индексы.Добавить("Товар"); + Для каждого Стр Из Объект.Товары Цикл + Если Стр.Цена = 0 ИЛИ ПересчитатьДляВсехТоваров Тогда + ЦенаТовара = ТЗЦены.Найти(Стр.Товар, "Товар"); + Если ЦенаТовара <> Неопределено Тогда + Стр.Цена = ЦенаТовара.Цена; + Иначе + Стр.Цена = 0; + КонецЕсли; + КонецЕсли; + Стр.Сумма = Стр.Цена * Стр.Количество; + Стр.СуммаИзменена = Ложь; + Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар); + КонецЦикла; +КонецПроцедуры + +// Функция помещает список товаров во временное хранилище и возвращает адрес +&НаСервере +Функция ПоместитьТоварыВХранилище() + Возврат ПоместитьВоВременноеХранилище(Объект.Товары.Выгрузить(,"Товар,Цена,Количество"), УникальныйИдентификатор); +КонецФункции + +// Функция восстанавливает список товаров из временного хранилища +&НаСервере +Процедура ПолучитьТоварыИзХранилища(АдресТоваровВХранилище) + Объект.Товары.Загрузить(ПолучитьИзВременногоХранилища(АдресТоваровВХранилище)); + ПересчитатьЦеныИСуммыТоваров(Ложь); +КонецПроцедуры + + +// Функция возвращает ссылку на текущую строку в списке товаров +// +// Параметры: +// Нет. +// +// Возвращаемое значение: +// СправочникСсылка.Товары - Текущий товар в списке. +&НаКлиенте +Функция ПолучитьТекущуюСтрокуТовары() + Возврат Элементы.Товары.ТекущиеДанные; +КонецФункции + +// Процедура вычисляет дополнительные данные строки документа +&НаКлиентеНаСервереБезКонтекста +Процедура ЗаполнитьДополнительныеДанныеСтроки(Строка) + + Строка.СуммаИзменена = Строка.Сумма <> Строка.Количество * Строка.Цена; + +КонецПроцедуры + +// Функция возвращает значение реквизита телефон на клиент +// +// Параметры: +// Покупатель - контрагент, телефон которого получается +// +// Возвращаемое значение: +// Телефон контрагента +&НаСервереБезКонтекста +Функция ПолучитьТелефон(Покупатель) + + Возврат Покупатель.Телефон; + +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура ТоварыТоварПриИзменении(Элемент) + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар); + Стр.Цена = ПолучитьЦенуТовара(Объект.Дата, Стр.Товар, Объект.ВидЦен); + Стр.Количество = ?(Стр.ЭтоУслуга ИЛИ Стр.Количество = 0, 1, Стр.Количество); + Стр.Сумма = Стр.Количество * Стр.Цена; + ЗаполнитьДополнительныеДанныеСтроки(Стр); +КонецПроцедуры + +&НаКлиенте +Процедура ПокупательПриИзменении(Элемент) + ВидЦен = ПолучитьВидЦенПокупателя(Объект.Покупатель); + Если Объект.ВидЦен <> ВидЦен Тогда + Объект.ВидЦен = ВидЦен; + Если Объект.Товары.Количество() > 0 Тогда + ПересчитатьЦеныИСуммыТоваров(Истина); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ВидЦенПриИзменении(Элемент) + Если Объект.Товары.Количество() > 0 Тогда + ПересчитатьЦеныИСуммыТоваров(Истина); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыЦенаПриИзменении(Элемент) + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.Сумма = Стр.Количество * Стр.Цена; + ЗаполнитьДополнительныеДанныеСтроки(Стр); +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыКоличествоПриИзменении(Элемент) + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.Сумма = Стр.Количество * Стр.Цена; + ЗаполнитьДополнительныеДанныеСтроки(Стр); +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыСуммаПриИзменении(Элемент) + Стр = ПолучитьТекущуюСтрокуТовары(); + ЗаполнитьДополнительныеДанныеСтроки(Стр); +КонецПроцедуры + +// Обработчик команды подбора +&НаКлиенте +Процедура КомандаПодбор() +#Если МобильныйКлиент Тогда + Имя = "ОбщаяФорма.ФормаПодбораМобильная"; +#Иначе + Имя = "ОбщаяФорма.ФормаПодбора"; +#КонецЕсли + АдресТоваровВХранилище = ПоместитьТоварыВХранилище(); + ПараметрыПодбора = Новый Структура("АдресТоваровДокумента, ВидЦен, Склад", АдресТоваровВХранилище, Объект.ВидЦен, Объект.Склад); + ФормаПодбора = ОткрытьФорму(Имя, ПараметрыПодбора, ЭтотОбъект); +КонецПроцедуры + +&НаКлиенте +Процедура ОрганизацияПриИзменении(Элемент) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Ключ.Пустая() Тогда + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + КонецЕсли; + + Для каждого Стр Из Объект.Товары Цикл + + ЗаполнитьДополнительныеДанныеСтроки(Стр); + + КонецЦикла; + + СостояниеЗаказаПриСоздании = Объект.СостояниеЗаказа; + +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + Для каждого Стр Из Объект.Товары Цикл + + ЗаполнитьДополнительныеДанныеСтроки(Стр); + Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар); + + КонецЦикла + +КонецПроцедуры + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + Для каждого Стр Из Объект.Товары Цикл + + ЗаполнитьДополнительныеДанныеСтроки(Стр); + + КонецЦикла; + + Если СостояниеЗаказаПриСоздании <> ТекущийОбъект.СостояниеЗаказа Тогда + Уведомление = Новый ДоставляемоеУведомление(); + Уведомление.Текст = НСтр("ru = 'Заказ '", "ru") + ТекущийОбъект.Номер + НСтр("ru = ': изменилось состояние'", "ru"); + Проблемы = Новый Массив; + УведомленияСервер.ОтправитьУведомление(Уведомление, ТекущийОбъект.Автор, Проблемы); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьПодбор() Экспорт + + ПолучитьТоварыИзХранилища(АдресТоваровВХранилище); + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработкаЗаписиНового(НовыйОбъект, Источник, СтандартнаяОбработка) + Если ТипЗнч(НовыйОбъект) = Тип("СправочникСсылка.Контрагенты") Тогда + Объект.Покупатель = НовыйОбъект; + ВидЦен = ПолучитьВидЦенПокупателя(Объект.Покупатель); + Если Объект.ВидЦен <> ВидЦен Тогда + Объект.ВидЦен = ВидЦен; + Если Объект.Товары.Количество() > 0 Тогда + ПересчитатьЦеныИСуммыТоваров(Истина); + КонецЕсли; + КонецЕсли; + ТекущийЭлемент = Элементы.Покупатель; + КонецЕсли; +КонецПроцедуры + + +&НаКлиенте +Процедура Позвонить(Команда) + + Если ЗначениеЗаполнено(Объект.Покупатель) Тогда + + Телефон = ПолучитьТелефон(Объект.Покупатель); + Если ЗначениеЗаполнено(Телефон) Тогда +#Если МобильныйКлиент Тогда + СредстваТелефонии.НабратьНомер(Телефон, Ложь); +#КонецЕсли + Иначе + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Не указан телефон покупателя!'", "ru"); + Сообщение.Поле = "Объект.Покупатель"; + Сообщение.Сообщить(); + КонецЕсли + + Иначе + + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Покупатель не выбран!'", "ru"); + Сообщение.Поле = "Объект.Покупатель"; + Сообщение.Сообщить(); + + КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ОтправитьСМС(Команда) + + Если ЗначениеЗаполнено(Объект.Покупатель) Тогда + + Телефон = ПолучитьТелефон(Объект.Покупатель); + Если ЗначениеЗаполнено(Телефон) Тогда +#Если МобильныйКлиент Тогда + Сообщение = Новый SMSСообщение(); + Сообщение.Получатели.Добавить(Телефон); + СредстваТелефонии.ПослатьSMS(Сообщение, Истина); +#КонецЕсли + Иначе + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Не указан телефон покупателя!'", "ru"); + Сообщение.Поле = "Объект.Покупатель"; + Сообщение.Сообщить(); + КонецЕсли + + Иначе + + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = НСтр("ru = 'Покупатель не выбран!'", "ru"); + Сообщение.Поле = "Объект.Покупатель"; + Сообщение.Сообщить(); + + КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) +#Если НЕ МобильныйКлиент Тогда + + // Команды звонка и отправки смс имеют смысл только на мобильном клиенте + Элементы.ФормаПозвонить.Видимость = Ложь; + Элементы.ФормаОтправитьСМС.Видимость = Ложь; +#Иначе + Элементы.ФормаПозвонить.Доступность = СредстваТелефонии.ПоддерживаетсяНаборНомера(); + Элементы.ФормаОтправитьСМС.Доступность = СредстваТелефонии.ПоддерживаетсяОтправкаSMS(Истина); + +#КонецЕсли +КонецПроцедуры + + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..5e20242d9 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,726 @@ + + + + Настройки + 32 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + None + + Дата + 5 + true + true + + true + + + + Список.Date + + + true + + ДатаРасширеннаяПодсказка + 7 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 6 + true + true + + true + + true + + LabelField + Enter + Left + true + Left + true + + true + true + + + + Номер + 8 + true + true + + true + + + + Список.Number + + + + НомерРасширеннаяПодсказка + 10 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + Left + true + Left + true + + true + true + + + + Организация + 11 + true + true + + true + + + + Список.Организация + + + + ОрганизацияРасширеннаяПодсказка + 13 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 12 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Покупатель + 14 + true + true + + true + + + + Список.Покупатель + + + + ПокупательРасширеннаяПодсказка + 16 + true + true + + true + + Label + true + true + + Left + + + + ПокупательКонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + Left + true + Left + true + + true + true + + + + Склад + 17 + true + true + + true + + + + Список.Склад + + + + СкладРасширеннаяПодсказка + 19 + true + true + + true + + Label + true + true + + Left + + + + СкладКонтекстноеМеню + 18 + true + true + + true + + true + + LabelField + Enter + Left + true + Left + true + + true + true + + + + Валюта + 20 + true + true + + true + + + + Список.Валюта + + + + ВалютаРасширеннаяПодсказка + 22 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 21 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ВидЦен + 23 + true + true + + true + + + + Список.ВидЦен + + + + ВидЦенРасширеннаяПодсказка + 25 + true + true + + true + + Label + true + true + + Left + + + + ВидЦенКонтекстноеМеню + 24 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + СостояниеЗаказа + 26 + true + true + + true + + + + Список.СостояниеЗаказа + + + + СостояниеЗаказаРасширеннаяПодсказка + 28 + true + true + + true + + Label + true + true + + Left + + + + СостояниеЗаказаКонтекстноеМеню + 27 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Автор + 29 + true + true + + true + + + + Список.Автор + + + + АвторРасширеннаяПодсказка + 31 + true + true + + true + + Label + true + true + + Left + + + + АвторКонтекстноеМеню + 30 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + + + true + true + + true + + СписокСтрокаПоиска + 34 + + СписокСтрокаПоискаРасширеннаяПодсказка + 36 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 35 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 37 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 39 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 38 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 40 + + СписокУправлениеПоискомРасширеннаяПодсказка + 42 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 41 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокРасширеннаяПодсказка + 4 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + ExpandTopLevel + true + true + true + + Список.DefaultPicture + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + true + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Document.Заказ + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/ObjectModule.bsl" new file mode 100644 index 000000000..5beb53c51 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/ObjectModule.bsl" @@ -0,0 +1,44 @@ + +Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) + + Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда + + ВидЦен = ДанныеЗаполнения.ВидЦен; + Покупатель = ДанныеЗаполнения.Ссылка; + + ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Товары") Тогда + + НоваяСтрока = Товары.Добавить(); + НоваяСтрока.Товар = ДанныеЗаполнения.Ссылка; + НоваяСтрока.Количество = 1; + + КонецЕсли; + + Если ЭтоНовый() Тогда + Автор = Пользователи.ТекущийПользователь(); + КонецЕсли; + +КонецПроцедуры + +Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + Сумма = Товары.Итог("Сумма"); + Если ЭтоНовый() Тогда + Автор = Пользователи.ТекущийПользователь(); + КонецЕсли; + +КонецПроцедуры + +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + //Удалим из списка проверяемых реквизитов валюту, если по организации не ведется + //валютный учет + Если НЕ ПолучитьФункциональнуюОпцию("ВалютныйУчет", Новый Структура("Организация", Организация)) Тогда + ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Валюта")); + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/\320\227\320\260\320\272\320\260\320\267.mdo" "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/\320\227\320\260\320\272\320\260\320\267.mdo" new file mode 100644 index 000000000..87b84acf7 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\227\320\260\320\272\320\260\320\267/\320\227\320\260\320\272\320\260\320\267.mdo" @@ -0,0 +1,377 @@ + + + + + + + + + + Заказ + + ru + Заказ + + + true + Document.Заказ.StandardAttribute.Number + DontUse + + Use + Posted + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Date + + + ShowError + Use + + + + + + Use + Number + + + Use + + + + + Catalog.Контрагенты + Catalog.Товары + Use + Managed + Use + + ru + Заказы + + + ru + Заказы товаров + + Use + String + 9 + Variable + true + true + Document.Заказ.Form.ФормаДокумента + Document.Заказ.Form.ФормаСписка + true + true + + Покупатель + + ru + Покупатель + + + + CatalogRef.Контрагенты + + + + + ShowError + + Use + Use + + + Склад + + ru + Склад + + + + CatalogRef.Склады + + + + + ShowError + + Use + Use + + + Валюта + + ru + Валюта взаиморасчетов + + + + CatalogRef.Валюты + + + ru + Валюта, в которой указаны цены + + + + + ShowError + + Catalog.Валюты.EmptyRef + + Use + Use + + + ВидЦен + + ru + Вид цен + + + + CatalogRef.ВидыЦен + + + + + ShowError + + Catalog.ВидыЦен.EmptyRef + + Use + Use + + + Организация + + ru + Организация + + + + CatalogRef.Организации + + + + + ShowError + + Catalog.Организации.EmptyRef + + Use + Use + + + СостояниеЗаказа + + ru + Состояние заказа + + + + EnumRef.СостоянияЗаказов + + + + + ShowError + + Enum.СостоянияЗаказов.EnumValue.Открыт + + Use + Use + + + Автор + + ru + Автор + + + + CatalogRef.Пользователи + + + + + + Use + Use + + + Сумма + + ru + Сумма + + + + Number + + 10 + 2 + + + + + + + Use + Use + + + ФормаДокумента + + ru + Форма документа + + + PersonalComputer + MobileDevice + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + + + + + + Товары + + ru + Товары + + + + Use + LineNumber + + + Use + + + + + + Товар + + ru + Товар + + + + CatalogRef.Товары + + + + + Use + Use + + + Цена + + ru + Цена + + + + Number + + 10 + 2 + true + + + + ru + Цена товара + + true + + + + ShowError + DontUse + Use + Use + Use + + + Количество + + ru + Количество + + + + Number + + 10 + + + + + + Use + Use + + + Сумма + + ru + Сумма + + + + Number + + 10 + 2 + + + + + + Use + Use + + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..153871c2b --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,878 @@ + + + + Организация + 27 + true + true + + true + + + + Объект.Организация + + + + OnChange + ОрганизацияПриИзменении + + + ОрганизацияExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 28 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Номер + 2 + true + true + + true + + + + Объект.Number + + + + НомерExtendedTooltip + 31 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 14 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + false + true + true + true + + Style.BorderColor + + + + + Дата + 3 + true + true + + true + + + + Объект.Date + + + + ДатаExtendedTooltip + 32 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 15 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + СодержаниеОперации + 12 + true + true + + true + + + + Объект.СодержаниеОперации + + + + СодержаниеОперацииExtendedTooltip + 33 + true + true + + true + + Label + true + true + + Left + + + + СодержаниеОперацииКонтекстноеМеню + 16 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ГруппаТабличныеЧасти + 25 + + ГруппаТоварныеЗапасы + 26 + + ТоварныеЗапасы + 4 + true + true + + true + + + Объект.RegisterRecords.ТоварныеЗапасы + + false + None + + ТоварныеЗапасыНомерСтроки + 6 + Low + true + true + + true + + + + Объект.RegisterRecords.ТоварныеЗапасы.LineNumber + + + + ТоварныеЗапасыНомерСтрокиExtendedTooltip + 38 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыНомерСтрокиКонтекстноеМеню + 19 + true + true + + true + + true + + LabelField + EnterOnInput + true + Left + true + Left + + true + true + + + + ТоварныеЗапасыВидДвижения + 8 + true + true + + true + + + + Объект.RegisterRecords.ТоварныеЗапасы.RecordType + + + + ТоварныеЗапасыВидДвиженияExtendedTooltip + 39 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыВидДвиженияКонтекстноеМеню + 20 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + 5 + true + true + true + true + true + + Style.BorderColor + + + + + ТоварныеЗапасыАктивность + 7 + true + true + + true + + + + Объект.RegisterRecords.ТоварныеЗапасы.Active + + + + ТоварныеЗапасыАктивностьExtendedTooltip + 40 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыАктивностьКонтекстноеМеню + 21 + true + true + + true + + true + + CheckBoxField + true + EnterOnInput + true + Left + true + Left + + + + ТоварныеЗапасыТовар + 9 + true + true + + true + + + + Объект.RegisterRecords.ТоварныеЗапасы.Товар + + + + ТоварныеЗапасыТоварExtendedTooltip + 41 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыТоварКонтекстноеМеню + 22 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + + + + ТоварныеЗапасыСклад + 10 + true + true + + true + + + + Объект.RegisterRecords.ТоварныеЗапасы.Склад + + + + ТоварныеЗапасыСкладExtendedTooltip + 42 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыСкладКонтекстноеМеню + 23 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + + + + ТоварныеЗапасыКоличество + 11 + true + true + + true + + + + Объект.RegisterRecords.ТоварныеЗапасы.Количество + + + + ТоварныеЗапасыКоличествоExtendedTooltip + 43 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыКоличествоКонтекстноеМеню + 24 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + true + + + + ТоварныеЗапасыКоманднаяПанель + 18 + + ПереключитьАктивность + 29 + true + true + + true + + false + + ПереключитьАктивностьExtendedTooltip + 36 + true + true + + true + + Label + true + true + + Left + + + 4:2ccaf251-ee77-440f-a6e5-16f88825c6c0 + Auto + false + true + true + UserCmds + + true + true + + true + + Left + true + + + true + true + + true + + ТоварныеЗапасыСтрокаПоиска + 44 + + ТоварныеЗапасыСтрокаПоискаРасширеннаяПодсказка + 46 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыСтрокаПоискаКонтекстноеМеню + 45 + true + true + + true + + true + + ТоварныеЗапасыСтрокаПоиска + + true + + + + true + true + + true + + ТоварныеЗапасыСостояниеПросмотра + 47 + + ТоварныеЗапасыСостояниеПросмотраРасширеннаяПодсказка + 49 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыСостояниеПросмотраКонтекстноеМеню + 48 + true + true + + true + + true + + ViewStatusAddition + ТоварныеЗапасыСостояниеПросмотра + + true + Left + + + + true + true + + true + + ТоварныеЗапасыУправлениеПоиском + 50 + + ТоварныеЗапасыУправлениеПоискомРасширеннаяПодсказка + 52 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыУправлениеПоискомКонтекстноеМеню + 51 + true + true + + true + + true + + SearchControlAddition + ТоварныеЗапасыУправлениеПоиском + + true + + + + ТоварныеЗапасыExtendedTooltip + 37 + true + true + + true + + Label + true + true + + Left + + + + ТоварныеЗапасыКонтекстноеМеню + 17 + true + true + + true + + true + + HierarchicalList + true + true + 80 + true + true + 13 + true +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + true + true + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + +
+ true + true + + true + + + <key>ru</key> + <value>Товарные запасы</value> + + + ГруппаТоварныеЗапасыExtendedTooltip + 35 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + +
+ true + true + + true + + + ГруппаТабличныеЧастиExtendedTooltip + 34 + true + true + + true + + Label + true + true + + Left + + + Pages + + TabsOnTop + DontUse + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + + FillCheckProcessingAtServer + ОбработкаПроверкиЗаполненияНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + DocumentObject.ОперацияПоУчетуТоваров + + + true + + + true + +
true
+ true +
+ + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnWriteAtServer + ПриЗаписиНаСервере + + true + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..ca717b8f1 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,64 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура ОрганизацияПриИзменении(Элемент) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Ключ.Пустая() Тогда + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + КонецЕсли; + +КонецПроцедуры + + +&НаСервере +Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + +&НаСервере +Процедура ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты) + + ТоварныеЗапасы = РеквизитФормыВЗначение("Объект.Движения.ТоварныеЗапасы"); + + Если ТоварныеЗапасы.Количество() = 0 Тогда + + Сообщение = Новый СообщениеПользователю; + Сообщение.Текст = НСтр("ru = 'Не заполнены данные о движениях!'", "ru"); + Сообщение.Сообщить(); + Отказ = Истина; + + КонецЕсли; + + Если Не ТоварныеЗапасы.ПроверитьЗаполнение() Тогда + + Отказ = Истина; + + КонецЕсли; + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" new file mode 100644 index 000000000..613b592eb --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" @@ -0,0 +1,2 @@ + +

Здесь можно произвести корректировку количества товара на складах.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ObjectModule.bsl" new file mode 100644 index 000000000..041171e19 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/ObjectModule.bsl" @@ -0,0 +1,26 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +// Обработчик копирования документа выполняет также копирование движений +Процедура ПриКопировании(ОбъектКопирования) + ОбъектКопирования.Движения.ТоварныеЗапасы.Прочитать(); + Для каждого ИсхЗапись Из ОбъектКопирования.Движения.ТоварныеЗапасы Цикл + Запись = Движения.ТоварныеЗапасы.Добавить(); + Запись.ВидДвижения = ИсхЗапись.ВидДвижения; + Запись.Товар = ИсхЗапись.Товар; + Запись.Склад = ИсхЗапись.Склад; + Запись.Количество = ИсхЗапись.Количество; + КонецЦикла; +КонецПроцедуры + +// Обработчик события, предшествующего записи, устанавливает всем +// движениям дату самого документа +Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения) + + Для каждого Запись Из Движения.ТоварныеЗапасы Цикл + Запись.Период = Дата; + КонецЦикла; + +КонецПроцедуры + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" new file mode 100644 index 000000000..bdedde691 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\236\320\277\320\265\321\200\320\260\321\206\320\270\321\217\320\237\320\276\320\243\321\207\320\265\321\202\321\203\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" @@ -0,0 +1,162 @@ + + + + + + + + + + ОперацияПоУчетуТоваров + + ru + Операция по учету товаров + + + true + Document.ОперацияПоУчетуТоваров.StandardAttribute.Number + DontUse + + Use + Posted + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Date + + + ShowError + Use + + + + + + Use + Number + + + Use + + + + + Use + true + + + ru + + + Managed + Use + + ru + Корректировка остатка + + + ru + Корректировка остатка товара + + + ru + Корректировки остатков + + + ru + Корректировки остатков товаров + + + ru + Корректировка остатков товаров на складах, в том числе ввод начальных остатков + + Use + String + 9 + Variable + true + true + Document.ОперацияПоУчетуТоваров.Form.ФормаДокумента + Deny + AutoDelete + WriteModified + AccumulationRegister.ТоварныеЗапасы + + СодержаниеОперации + + ru + Содержание операции + + + + String + + + + + + DontUse + Use + + + + Use + Use + + + Организация + + ru + Организация + + + + CatalogRef.Организации + + + + + ShowError + + Catalog.Организации.EmptyRef + + Use + Use + + + ФормаДокумента + + ru + Форма документа + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..eb78c9694 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,510 @@ + + + + Организация + 16 + true + true + + true + + + + Объект.Организация + + + + OnChange + ОрганизацияПриИзменении + + + ОрганизацияExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 17 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Номер + 2 + true + true + + true + + + + Объект.Number + + + + НомерExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 9 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Дата + 3 + true + true + + true + + + + Объект.Date + + + + ДатаExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 10 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Поставщик + 4 + true + true + + true + + + + Объект.Поставщик + + + + ПоставщикExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + + ПоставщикКонтекстноеМеню + 11 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + РасчетныйСчетПоставщика + 5 + true + true + + true + + + + Объект.РасчетныйСчетПоставщика + + + + РасчетныйСчетПоставщикаExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + + РасчетныйСчетПоставщикаКонтекстноеМеню + 12 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + false + true + true + true + true + + Владелец + + Объект.Поставщик + + + + Style.BorderColor + + + + + РасчетныйСчет + 6 + true + true + + true + + + + Объект.РасчетныйСчет + + + + РасчетныйСчетExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + + РасчетныйСчетКонтекстноеМеню + 13 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + false + true + true + true + true + + Владелец + + Объект.Организация + + + + Style.BorderColor + + + + + Валюта + 7 + true + true + + true + + + + Объект.Валюта + + + + ВалютаExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 14 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Сумма + 8 + true + true + + true + + + + Объект.Сумма + + + + СуммаExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + + СуммаКонтекстноеМеню + 15 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + DocumentObject.Оплата + + + true + + + true + + + Объект.RegisterRecords + +
true
+ true +
+ + + + AccumulationRegister.Взаиморасчеты.StandardCommand.OpenByRecorder + + true + + + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + + true + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..3beeec9e6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,40 @@ +////////////////////////////////////////////////////////////// +// Обработчики событий + +&НаКлиенте +Процедура ОрганизацияПриИзменении(Элемент) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Ключ.Пустая() Тогда + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + КонецЕсли; + +КонецПроцедуры + + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Help/ru.html" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Help/ru.html" new file mode 100644 index 000000000..636435356 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/Help/ru.html" @@ -0,0 +1 @@ +В этом документе осуществляется оплата за приобретенные товары или оказанные услуги предприятию. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/ObjectModule.bsl" new file mode 100644 index 000000000..153ee6362 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/ObjectModule.bsl" @@ -0,0 +1,49 @@ + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +Процедура ОбработкаПроведения(Отказ, Режим) + // Формирование движения регистра накопления Взаиморасчеты + Движения.Взаиморасчеты.Записывать = Истина; + Движение = Движения.Взаиморасчеты.Добавить(); + Движение.ВидДвижения = ВидДвиженияНакопления.Расход; + Движение.Период = Дата; + Движение.Контрагент = Поставщик; + Движение.Сумма = Сумма; + Движение.Валюта = Валюта; +КонецПроцедуры + +Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) + Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПриходТовара") Тогда + Валюта = ДанныеЗаполнения.Валюта; + Поставщик = ДанныеЗаполнения.Поставщик; + Организация = ДанныеЗаполнения.Организация; + Сумма = ДанныеЗаполнения.Товары.Итог("Сумма"); + ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда + + ЗапросПоКонтрагенту = Новый Запрос("ВЫБРАТЬ + | Контрагенты.ЭтоГруппа + |ИЗ + | Справочник.Контрагенты КАК Контрагенты + |ГДЕ + | Контрагенты.Ссылка = &КонтрагентСсылка"); + ЗапросПоКонтрагенту.УстановитьПараметр("КонтрагентСсылка", ДанныеЗаполнения); + Выборка = ЗапросПоКонтрагенту.Выполнить().Выбрать(); + Если Выборка.Следующий() И Выборка.ЭтоГруппа Тогда + Возврат; + КонецЕсли; + + Поставщик = ДанныеЗаполнения.Ссылка; + КонецЕсли; +КонецПроцедуры + +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + //Удалим из списка проверяемых реквизитов валюту, если по организации не ведется + //валютный учет + Если НЕ ПолучитьФункциональнуюОпцию("ВалютныйУчет", Новый Структура("Организация", Организация)) Тогда + ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Валюта")); + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/\320\236\320\277\320\273\320\260\321\202\320\260.mdo" "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/\320\236\320\277\320\273\320\260\321\202\320\260.mdo" new file mode 100644 index 000000000..14b5e0631 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\236\320\277\320\273\320\260\321\202\320\260/\320\236\320\277\320\273\320\260\321\202\320\260.mdo" @@ -0,0 +1,273 @@ + + + + + + + + + + Оплата + + ru + Оплата + + + true + Document.Оплата.StandardAttribute.Number + DontUse + + Use + Posted + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Date + + + ShowError + Use + + + + + + Use + Number + + + Use + + + + + Document.ПриходТовара + Catalog.Контрагенты + Use + true + + + ru + + + Use + + ru + Оплата + + + ru + Оплата товаров и услуг + + + ru + Оплаты + + + ru + Оплаты товаров и услуг + + + ru + Документы оплаты контрагентами отгруженных товаров (оказанных услуг) + + Use + String + 9 + Variable + true + true + Document.Оплата.Form.ФормаДокумента + AccumulationRegister.Взаиморасчеты + true + true + + Поставщик + + ru + Поставщик + + + + CatalogRef.Контрагенты + + + + + ShowError + true + + Catalog.Контрагенты.EmptyRef + + Use + Use + + + РасчетныйСчетПоставщика + + ru + Расчетный счет поставщика + + + + CatalogRef.РасчетныеСчетаКонтрагентов + + + ru + Расчетный счет поставщика, на который будет осуществлен платеж + + + + + ShowError + + Отбор.Владелец + Document.Оплата.Attribute.Поставщик + + + Catalog.РасчетныеСчетаКонтрагентов.EmptyRef + + Use + Use + + + РасчетныйСчет + + ru + Расчетный счет + + + + CatalogRef.РасчетныеСчета + + + ru + Наш расчетный счет, с которого будет осуществлен платеж + + + + + ShowError + + Отбор.Владелец + Document.Оплата.Attribute.Организация + + + Catalog.РасчетныеСчета.EmptyRef + + Use + Use + + + Валюта + + ru + Валюта + + + + CatalogRef.Валюты + + + ru + Валюта платежа + + + + + ShowError + + Catalog.Валюты.EmptyRef + + Use + Use + + + Сумма + + ru + Сумма + + + + Number + + 10 + 2 + true + + + + ru + Сумма платежа + + true + + + + ShowError + DontUse + Use + + 0 + + Use + Use + + + Организация + + ru + Организация + + + + CatalogRef.Организации + + + + + ShowError + + Catalog.Организации.EmptyRef + + Use + Use + + + ФормаДокумента + + ru + Форма документа + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..0dfbfeb83 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,510 @@ + + + + Организация + 16 + true + true + + true + + + + Объект.Организация + + + + OnChange + ОрганизацияПриИзменении + + + ОрганизацияExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 17 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Номер + 2 + true + true + + true + + + + Объект.Number + + + + НомерExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 9 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Дата + 3 + true + true + + true + + + + Объект.Date + + + + ДатаExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 10 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Покупатель + 4 + true + true + + true + + + + Объект.Покупатель + + + + ПокупательExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + + ПокупательКонтекстноеМеню + 11 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + РасчетныйСчетПокупателя + 5 + true + true + + true + + + + Объект.РасчетныйСчетПокупателя + + + + РасчетныйСчетПокупателяExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + + РасчетныйСчетПокупателяКонтекстноеМеню + 12 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + false + true + true + true + true + + Владелец + + Объект.Покупатель + + + + Style.BorderColor + + + + + РасчетныйСчет + 6 + true + true + + true + + + + Объект.РасчетныйСчет + + + + РасчетныйСчетExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + + РасчетныйСчетКонтекстноеМеню + 13 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + false + true + true + true + true + + Владелец + + Объект.Организация + + + + Style.BorderColor + + + + + Валюта + 7 + true + true + + true + + + + Объект.Валюта + + + + ВалютаExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 14 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Сумма + 8 + true + true + + true + + + + Объект.Сумма + + + + СуммаExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + + СуммаКонтекстноеМеню + 15 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + 1 + + DocumentObject.ПоступлениеДенег + + + true + + + true + + + Объект.RegisterRecords + +
true
+ true +
+ + + + AccumulationRegister.Взаиморасчеты.StandardCommand.OpenByRecorder + + true + + + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + + true + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..50327950d --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,37 @@ +&НаКлиенте +Процедура ОрганизацияПриИзменении(Элемент) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Ключ.Пустая() Тогда + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + КонецЕсли; + +КонецПроцедуры + + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Help/ru.html" "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Help/ru.html" new file mode 100644 index 000000000..9d8b48f5e --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/Help/ru.html" @@ -0,0 +1,2 @@ + +

В этом документе осуществляется зачисление денежных средств на расчетные счета предприятия.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/ObjectModule.bsl" new file mode 100644 index 000000000..1e120735e --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/ObjectModule.bsl" @@ -0,0 +1,48 @@ + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +Процедура ОбработкаПроведения(Отказ, Режим) + // Формирование движения регистра накопления Взаиморасчеты + Движения.Взаиморасчеты.Записывать = Истина; + Движение = Движения.Взаиморасчеты.Добавить(); + Движение.ВидДвижения = ВидДвиженияНакопления.Приход; + Движение.Период = Дата; + Движение.Контрагент = Покупатель; + Движение.Валюта = Валюта; + Движение.Сумма = Сумма; +КонецПроцедуры + +Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) + Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.РасходТовара") Тогда + Валюта = ДанныеЗаполнения.Валюта; + Покупатель = ДанныеЗаполнения.Покупатель; + Организация = ДанныеЗаполнения.Организация; + ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда + + ЗапросПоКонтрагенту = Новый Запрос("ВЫБРАТЬ + | Контрагенты.ЭтоГруппа + |ИЗ + | Справочник.Контрагенты КАК Контрагенты + |ГДЕ + | Контрагенты.Ссылка = &КонтрагентСсылка"); + ЗапросПоКонтрагенту.УстановитьПараметр("КонтрагентСсылка", ДанныеЗаполнения); + Выборка = ЗапросПоКонтрагенту.Выполнить().Выбрать(); + Если Выборка.Следующий() И Выборка.ЭтоГруппа Тогда + Возврат; + КонецЕсли; + + Покупатель = ДанныеЗаполнения.Ссылка; + КонецЕсли; +КонецПроцедуры + +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + //Удалим из списка проверяемых реквизитов валюту, если по организации не ведется + //валютный учет + Если НЕ ПолучитьФункциональнуюОпцию("ВалютныйУчет", Новый Структура("Организация", Организация)) Тогда + ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Валюта")); + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263.mdo" "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263.mdo" new file mode 100644 index 000000000..771129fe1 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263/\320\237\320\276\321\201\321\202\321\203\320\277\320\273\320\265\320\275\320\270\320\265\320\224\320\265\320\275\320\265\320\263.mdo" @@ -0,0 +1,264 @@ + + + + + + + + + + ПоступлениеДенег + + ru + Поступление денег + + + true + Document.ПоступлениеДенег.StandardAttribute.Number + DontUse + + Use + Posted + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Date + + + ShowError + Use + + + + + + Use + Number + + + Use + + + + + Document.РасходТовара + Catalog.Контрагенты + Use + true + + + ru + + + Use + + ru + Поступление денег + + + ru + Поступления денег + + + ru + Поступление денег на наши расчетные счета + + Use + String + 9 + Variable + true + true + Document.ПоступлениеДенег.Form.ФормаДокумента + AccumulationRegister.Взаиморасчеты + true + true + + Покупатель + + ru + Покупатель + + + + CatalogRef.Контрагенты + + + + + ShowError + true + + Catalog.Контрагенты.EmptyRef + + Use + Use + + + РасчетныйСчетПокупателя + + ru + Расчетный счет покупателя + + + + CatalogRef.РасчетныеСчетаКонтрагентов + + + ru + Расчетный счет покупателя, с которого осуществлен платеж + + + + + ShowError + + Отбор.Владелец + Document.ПоступлениеДенег.Attribute.Покупатель + + + Catalog.РасчетныеСчетаКонтрагентов.EmptyRef + + Use + Use + + + РасчетныйСчет + + ru + Расчетный счет + + + + CatalogRef.РасчетныеСчета + + + ru + Наш расчетный счет, на который будет осуществлен платеж + + + + + ShowError + + Отбор.Владелец + Document.ПоступлениеДенег.Attribute.Организация + + + Catalog.РасчетныеСчета.EmptyRef + + Use + Use + + + Валюта + + ru + Валюта + + + + CatalogRef.Валюты + + + ru + Валюта платежа + + + + + ShowError + + Catalog.Валюты.EmptyRef + + Use + Use + + + Сумма + + ru + Сумма + + + + Number + + 10 + 2 + true + + + + ru + Сумма платежа + + + + + ShowError + DontUse + Use + + 0 + + Use + Use + + + Организация + + ru + Организация + + + + CatalogRef.Организации + + + + + ShowError + + Catalog.Организации.EmptyRef + + Use + Use + + + ФормаДокумента + + ru + Форма документа + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..60964fbb5 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,1175 @@ + + + + Номер + 2 + true + true + + true + + + + Объект.Number + + + true + + НомерExtendedTooltip + 39 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 19 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Дата + 3 + true + true + + true + + + + Объект.Date + + + + ДатаExtendedTooltip + 40 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 20 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Организация + 37 + true + true + + true + + + + Объект.Организация + + + + OnChange + ОрганизацияПриИзменении + + + ОрганизацияExtendedTooltip + 41 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 38 + true + true + + true + + true + + InputField + Enter + true + Left + true + + true + true + true + true + true + + Style.BorderColor + + + + + Склад + 5 + true + true + + true + + + + Объект.Склад + + + + СкладExtendedTooltip + 42 + true + true + + true + + Label + true + true + + Left + + + + СкладКонтекстноеМеню + 21 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Валюта + 6 + true + true + + true + + + + Объект.Валюта + + + + ВалютаExtendedTooltip + 43 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 22 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Поставщик + 4 + true + true + + true + + + + Объект.Поставщик + + + + ПоставщикExtendedTooltip + 44 + true + true + + true + + Label + true + true + + Left + + + + ПоставщикКонтекстноеМеню + 23 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ТоварыГруппа + 66 + + Товары + 8 + true + true + + true + + + Объект.Товары + + false + None + + ТоварыНомерСтроки + 10 + Low + + <key>ru</key> + <value>N</value> + + true + true + + true + + + + Объект.Товары.LineNumber + + + + ТоварыНомерСтрокиExtendedTooltip + 48 + true + true + + true + + Label + true + true + + Left + + + + ТоварыНомерСтрокиКонтекстноеМеню + 26 + true + true + + true + + true + + LabelField + EnterOnInput + true + Left + true + Left + + true + true + + + + ТоварыТовар + 11 + High + true + true + + true + + + + Объект.Товары.Товар + + + + OnChange + ТоварыТоварПриИзменении + + + ТоварыТоварExtendedTooltip + 49 + true + true + + true + + Label + true + true + + Left + + + + ТоварыТоварКонтекстноеМеню + 27 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + false + true + true + true + + Style.BorderColor + + + + + ТоварыАртикул + 15 + Usual + true + true + + true + + + + Объект.Товары.Товар.Артикул + + + + ТоварыАртикулExtendedTooltip + 50 + true + true + + true + + Label + true + true + + Left + + + + ТоварыАртикулКонтекстноеМеню + 28 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + + + + ТоварыЦена + 12 + Usual + true + true + + true + + + + Объект.Товары.Цена + + + + OnChange + ТоварыЦенаПриИзменении + + + ТоварыЦенаExtendedTooltip + 51 + true + true + + true + + Label + true + true + + Left + + + + ТоварыЦенаКонтекстноеМеню + 29 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + + + + ТоварыКоличество + 13 + Usual + true + true + + true + + + + Объект.Товары.Количество + + + + OnChange + ТоварыКоличествоПриИзменении + + + ТоварыКоличествоExtendedTooltip + 52 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКоличествоКонтекстноеМеню + 30 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + true + + + + ТоварыСумма + 14 + High + true + true + + true + + + + Объект.Товары.Сумма + + + + ТоварыСуммаExtendedTooltip + 53 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСуммаКонтекстноеМеню + 31 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + + true + true + true + true + true + + + + ТоварыКоманднаяПанель + 25 + true + true + + true + + Left + true + + + true + true + + true + + ТоварыСтрокаПоиска + 57 + + ТоварыСтрокаПоискаРасширеннаяПодсказка + 59 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСтрокаПоискаКонтекстноеМеню + 58 + true + true + + true + + true + + ТоварыСтрокаПоиска + + true + + + + true + true + + true + + ТоварыСостояниеПросмотра + 60 + + ТоварыСостояниеПросмотраРасширеннаяПодсказка + 62 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСостояниеПросмотраКонтекстноеМеню + 61 + true + true + + true + + true + + ViewStatusAddition + ТоварыСостояниеПросмотра + + true + Left + + + + true + true + + true + + ТоварыУправлениеПоиском + 63 + + ТоварыУправлениеПоискомРасширеннаяПодсказка + 65 + true + true + + true + + Label + true + true + + Left + + + + ТоварыУправлениеПоискомКонтекстноеМеню + 64 + true + true + + true + + true + + SearchControlAddition + ТоварыУправлениеПоиском + + true + + + + ТоварыExtendedTooltip + 47 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКонтекстноеМеню + 24 + true + true + + true + + true + + true + true + 65 + true + true + 5 + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + +
+ + Итоги + 36 + + ТоварыИтогКоличество + 32 + true + true + + true + + + + Объект.Товары.TotalКоличество + + + + ТоварыИтогКоличествоExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + + ТоварыИтогКоличествоКонтекстноеМеню + 33 + true + true + + true + + true + + LabelField + Left + Enter + true + Left + true + + true + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + ТоварыИтогСумма + 34 + true + true + + true + + + + Объект.Товары.TotalСумма + + + + ТоварыИтогСуммаExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + + ТоварыИтогСуммаКонтекстноеМеню + 35 + true + true + + true + + true + + LabelField + Left + Enter + true + Left + true + + true + true + true + + System.DefaultGUIFont + true + false + false + false + + + + true + true + + true + + + <key>ru</key> + <value>Итоги</value> + + + ИтогиExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + + Web.Gainsboro + + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Товары</value> + + + ru + Товары группа + + + ТоварыГруппаРасширеннаяПодсказка + 67 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + HorizontalIfPossible + WeakSeparation + true + true + true + Auto + DontUse + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnOpen + ПриОткрытии + + + ExternalEvent + ВнешнееСобытие + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + + <key>ru</key> + <value>Объект</value> + + 1 + + DocumentObject.ПриходТовара + + + true + + + true + + + Объект.RegisterRecords + +
true
+ true +
+ + ТорговоеОборудованиеВключено + + <key>ru</key> + <value>Торговое оборудование включено</value> + + 2 + + Boolean + + + true + + + true + + + + + + AccumulationRegister.Взаиморасчеты.StandardCommand.OpenByRecorder + + true + + + + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenByRecorder + + true + + + + + + CommonCommand.УстановитьСканерШтрихкодов + Added + FormCommandBarImportant + 0 + + true + + + + CommonCommand.НастроитьСканерШтрихКодов + Added + FormCommandBarImportant + 1 + + true + + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + + true + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..e73758e87 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,166 @@ +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// Функция возвращает закупочную цену определенного товара на дату +// +// Параметры: +// Дата – Дата – дата, на которую определяется цена. +// Товар – СправочникСсылка.Товары – товар, цена которого определяется. +// +// Возвращаемое значение: +// Число - Цена товара на определенную дату. +&НаСервереБезКонтекста +Функция ПолучитьЦенуТовара(Дата, Товар) + + ВидЦен = Справочники.ВидыЦен.Закупочная; + ЦенаТовара = РегистрыСведений.ЦеныТоваров.ПолучитьПоследнее( + Дата, Новый Структура("Товар, ВидЦен", Товар, ВидЦен)); + + Возврат ЦенаТовара.Цена; + +КонецФункции + +// Функция возвращает ссылку на текущую строку в списке товаров +// +// Параметры: +// Нет. +// +// Возвращаемое значение: +// СправочникСсылка.Товары - Текущий товар в списке. +&НаКлиенте +Функция ПолучитьТекущуюСтрокуТовары() + Возврат Элементы.Товары.ТекущиеДанные; +КонецФункции + +// Функция возвращает товар по штрихкоду +&НаСервереБезКонтекста +Функция ПолучитьТоварПоШтрихкоду(Штрихкод) + Возврат Справочники.Товары.НайтиПоРеквизиту("Штрихкод", Штрихкод); +КонецФункции + + +// Функция добавляет товар в накладную или увеличивает кол-во уже добавленного +&НаКлиенте +Функция ДобавитьТовар(Товар) + + Строки = Объект.Товары.НайтиСтроки(Новый Структура("Товар", Товар)); + + Если Строки.Количество() > 0 Тогда + + Элемент = Строки[0]; + + Иначе + + Элемент = Объект.Товары.Добавить(); + Элемент.Товар = Товар; + Элемент.Цена = ПолучитьЦенуТовара(Объект.Дата, Товар); + + КонецЕсли; + + Элемент.Количество = Элемент.Количество + 1; + Элемент.Сумма = Элемент.Количество * Элемент.Цена; + + Элементы.Товары.ТекущаяСтрока = Элемент.ПолучитьИдентификатор(); + Элементы.Товары.ТекущийЭлемент = Элементы.Товары.ПодчиненныеЭлементы.ТоварыКоличество; + Элементы.Товары.ИзменитьСтроку(); + +КонецФункции + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура ТоварыТоварПриИзменении(Элемент) + + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.Цена = ПолучитьЦенуТовара(Объект.Дата, Стр.Товар); + Стр.Сумма = Стр.Количество * Стр.Цена; + +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыЦенаПриИзменении(Элемент) + + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.Сумма = Стр.Количество * Стр.Цена; + +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыКоличествоПриИзменении(Элемент) + + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.Сумма = Стр.Количество * Стр.Цена; + +КонецПроцедуры + +&НаКлиенте +Процедура ВнешнееСобытие(Источник, Событие, Данные) + + Если Источник = "СканерШтрихкода" Тогда + + Если ВводДоступен() Тогда + Товар = ПолучитьТоварПоШтрихкоду(Данные); + Если НЕ Товар.Пустая() Тогда + ДобавитьТовар(Товар); + КонецЕсли + КонецЕсли + + КонецЕсли + +КонецПроцедуры + +&НаКлиенте +Процедура ОрганизацияПриИзменении(Элемент) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Ключ.Пустая() Тогда + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + КонецЕсли; + + УстановитьПривилегированныйРежим(Истина); + ТорговоеОборудованиеВключено = Константы.РаботаСТорговымОборудованием.Получить(); + УстановитьПривилегированныйРежим(Ложь); + +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + + Если ТорговоеОборудованиеВключено Тогда + + РаботаСТорговымОборудованием.НачатьПодключениеСканераШтрихкодов(); + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..ba6d40347 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,43 @@ + + + + + false + Поставщик + Equal + Справочник.Контрагенты.ПустаяСсылка + + + false + Склад + Equal + Справочник.Склады.ПустаяСсылка + + + false + Организация + Equal + Справочник.Организации.ПустаяСсылка + + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + + + + Поставщик + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + Normal + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..0676d7977 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,602 @@ + + + + Настройки + 23 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Дата + 4 + + <key>ru</key> + <value>Дата</value> + + true + true + + true + + + + Список.Date + + + true + + ДатаExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Номер + 6 + + <key>ru</key> + <value>Номер</value> + + true + true + + true + + + + Список.Number + + + + НомерExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Поставщик + 8 + + <key>ru</key> + <value>Поставщик</value> + + true + true + + true + + + + Список.Поставщик + + + + ПоставщикExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + + ПоставщикКонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Склад + 10 + + <key>ru</key> + <value>Склад</value> + + true + true + + true + + + + Список.Склад + + + + СкладExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + + СкладКонтекстноеМеню + 11 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Организация + 14 + true + true + + true + + + + Список.Организация + + + + ОрганизацияExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Валюта + 12 + + <key>ru</key> + <value>Валюта взаиморасчетов</value> + + true + true + + true + + + + Список.Валюта + + + + ВалютаExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 13 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 25 + + СписокСтрокаПоискаРасширеннаяПодсказка + 27 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 26 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 28 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 30 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 29 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 31 + + СписокУправлениеПоискомРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 32 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + 10 + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + + Список.DefaultPicture + + + Style.BorderColor + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + Настройки + +
+ + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Document.ПриходТовара + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Help/ru.html" "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Help/ru.html" new file mode 100644 index 000000000..ce8225942 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Help/ru.html" @@ -0,0 +1,2 @@ + +

В этом документе осуществляется оприходование всех товаров, которые поступают на предприятие.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/ManagerModule.bsl" "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/ManagerModule.bsl" new file mode 100644 index 000000000..e69de29bb diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/ObjectModule.bsl" new file mode 100644 index 000000000..d467041cc --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/ObjectModule.bsl" @@ -0,0 +1,76 @@ +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА + +Процедура ОбработкаПроведения(Отказ, Режим) + + // Создание движений в регистре накопления ТоварныеЗапасы + Движения.ТоварныеЗапасы.Записывать = Истина; + Для каждого ТекСтрокаТовары Из Товары Цикл + + Движение = Движения.ТоварныеЗапасы.Добавить(); + Движение.ВидДвижения = ВидДвиженияНакопления.Приход; + Движение.Период = Дата; + Движение.Товар = ТекСтрокаТовары.Товар; + Движение.Склад = Склад; + Движение.Количество = ТекСтрокаТовары.Количество; + + КонецЦикла; + + // Создание движения в регистре накопления Взаиморасчеты + Движения.Взаиморасчеты.Записывать = Истина; + Движение = Движения.Взаиморасчеты.Добавить(); + Движение.ВидДвижения = ВидДвиженияНакопления.Приход; + Движение.Период = Дата; + Движение.Контрагент = Поставщик; + Движение.Валюта = Валюта; + + Если Валюта.Пустая() Тогда + + Движение.Сумма = Товары.Итог("Сумма"); + + Иначе + + Курс = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Новый Структура("Валюта", Валюта)).Курс; + + Если Курс = 0 Тогда + Движение.Сумма = Товары.Итог("Сумма"); + Иначе + Движение.Сумма = Товары.Итог("Сумма") / Курс; + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) + + Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда + + ЗапросПоКонтрагенту = Новый Запрос("ВЫБРАТЬ + | Контрагенты.ЭтоГруппа + |ИЗ + | Справочник.Контрагенты КАК Контрагенты + |ГДЕ + | Контрагенты.Ссылка = &КонтрагентСсылка"); + ЗапросПоКонтрагенту.УстановитьПараметр("КонтрагентСсылка", ДанныеЗаполнения); + Выборка = ЗапросПоКонтрагенту.Выполнить().Выбрать(); + Если Выборка.Следующий() И Выборка.ЭтоГруппа Тогда + Возврат; + КонецЕсли; + + Поставщик = ДанныеЗаполнения.Ссылка; + КонецЕсли; + +КонецПроцедуры + + +Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) + + //Удалим из списка проверяемых реквизитов валюту, если по организации не ведется + //валютный учет + Если НЕ ПолучитьФункциональнуюОпцию("ВалютныйУчет", Новый Структура("Организация", Организация)) Тогда + ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Валюта")); + КонецЕсли; + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260.mdo" "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260.mdo" new file mode 100644 index 000000000..88341518c --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/\320\237\321\200\320\270\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260.mdo" @@ -0,0 +1,349 @@ + + + + + + + + + + ПриходТовара + + ru + Приход товара + + + true + Document.ПриходТовара.StandardAttribute.Number + DontUse + + Use + Posted + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Date + + + ShowError + Use + + + + + + Use + Number + + + Use + + + + + Catalog.Контрагенты + Use + true + + + ru + + + Use + + ru + Поступление товара + + + ru + Поступления товаров + + Use + String + 9 + Variable + true + true + Document.ПриходТовара.Form.ФормаДокумента + Document.ПриходТовара.Form.ФормаСписка + AccumulationRegister.ТоварныеЗапасы + AccumulationRegister.Взаиморасчеты + true + true + + Поставщик + + ru + Поставщик + + + + CatalogRef.Контрагенты + + + ru + Поставщик товара + + + + + ShowError + true + + Catalog.Контрагенты.EmptyRef + + Use + Use + + + Склад + + ru + Склад + + + + CatalogRef.Склады + + + ru + Склад на который поступает товар + + + + + ShowError + + Catalog.Склады.EmptyRef + + Use + Use + + + Валюта + + ru + Валюта взаиморасчетов + + + + CatalogRef.Валюты + + + ru + Валюта, в которой указаны цены + + + + + ShowError + + Catalog.Валюты.EmptyRef + + Use + Use + + + Организация + + ru + Организация + + + + CatalogRef.Организации + + + + + ShowError + + Catalog.Организации.EmptyRef + + Use + Use + + + ФормаДокумента + + ru + Форма документа + + + PersonalComputer + MobileDevice + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + + + + + + Товары + + ru + Товары + + + ShowError + + Use + LineNumber + + + Use + + + + + + Товар + + ru + Товар + + + + CatalogRef.Товары + + + ru + Товар + + + + + ShowError + + Отбор.Вид + + Enum.ВидыТоваров.EnumValue.Товар + + + DontUse + Use + Use + Use + + + Цена + + ru + Цена + + + + Number + + 10 + 2 + true + + + + ru + Цена товара + + true + + + + ShowError + DontUse + Use + Use + Use + + + Количество + + ru + Количество + + + + Number + + 10 + 2 + true + + + + ru + Количество товара + + true + + + + ShowError + Use + Use + + + Сумма + + ru + Сумма + + + + Number + + 10 + 2 + true + + + + ru + Сумма по товару + + true + + + + ShowError + DontUse + Use + Use + Use + + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\240\320\260\321\201\321\205\320\276\320\264\320\275\320\276\320\271\320\235\320\260\320\272\320\273\320\260\320\264\320\275\320\276\320\271/CommandModule.bsl" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\240\320\260\321\201\321\205\320\276\320\264\320\275\320\276\320\271\320\235\320\260\320\272\320\273\320\260\320\264\320\275\320\276\320\271/CommandModule.bsl" new file mode 100644 index 000000000..90a739f18 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Commands/\320\237\320\265\321\207\320\260\321\202\321\214\320\240\320\260\321\201\321\205\320\276\320\264\320\275\320\276\320\271\320\235\320\260\320\272\320\273\320\260\320\264\320\275\320\276\320\271/CommandModule.bsl" @@ -0,0 +1,40 @@ +&НаСервере +Функция ПечатнаяФорма(ПараметрКоманды) + ТабличныйДокумент = Новый ТабличныйДокумент; + ТабличныйДокумент.ОтображатьСетку = Ложь; + ТабличныйДокумент.Защита = Ложь; + ТабличныйДокумент.ТолькоПросмотр = Ложь; + ТабличныйДокумент.ОтображатьЗаголовки = Ложь; + + Сформирован = Ложь; + + Для каждого Ссылка Из ПараметрКоманды Цикл + Документ = Ссылка.ПолучитьОбъект(); + Если НЕ Документ.Проведен Тогда + Сообщение = Новый СообщениеПользователю(); + Сообщение.Текст = "Документ не проведен: " + Строка(Документ); + Сообщение.КлючДанных = Ссылка; + Сообщение.Сообщить(); + Продолжить; + КонецЕсли; + Документ.ПечатнаяФорма(ТабличныйДокумент); + Сформирован = Истина; + КонецЦикла; + + Если Сформирован Тогда + Возврат ТабличныйДокумент; + Иначе + Возврат Неопределено; + КонецЕсли; + +КонецФункции + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + ТабличныйДокумент = ПечатнаяФорма(ПараметрКоманды); + + Если ТабличныйДокумент <> Неопределено Тогда + ТабличныйДокумент.Показать(); + КонецЕсли; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Form.form" new file mode 100644 index 000000000..3898349a4 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Form.form" @@ -0,0 +1,378 @@ + + + + КомандыФормыДоставки + 4 + + Печать + 6 + true + true + + true + + + ПечатьExtendedTooltip + 10 + true + true + + true + + Label + true + true + + Left + + + Form.Item.ТабличныйДокумент.StandardCommand.Print + Auto + true + true + UserCmds + + + ПечатьСразу + 5 + true + true + + true + + + ПечатьСразуExtendedTooltip + 11 + true + true + + true + + Label + true + true + + Left + + + Form.Item.ТабличныйДокумент.StandardCommand.PrintImmediately + Auto + false + true + true + UserCmds + + + ПредварительныйПросмотр + 7 + true + true + + true + + + ПредварительныйПросмотрExtendedTooltip + 12 + true + true + + true + + Label + true + true + + Left + + + Form.Item.ТабличныйДокумент.StandardCommand.Preview + Auto + false + true + true + UserCmds + + + ПараметрыСтраницы + 8 + true + true + + true + + + ПараметрыСтраницыExtendedTooltip + 13 + true + true + + true + + Label + true + true + + Left + + + Form.Item.ТабличныйДокумент.StandardCommand.PageSetup + Auto + true + true + UserCmds + + + ПечатьПакетаДокументов + 15 + true + true + + true + + + ПечатьПакетаДокументовРасширеннаяПодсказка + 16 + true + true + + true + + Label + true + true + + Left + + + Form.Command.ПечатьПакетаДокументов + Auto + true + true + UserCmds + + true + true + + true + + + <key>ru</key> + <value>Команды формы доставки</value> + + + ru + Команды формы доставки + + + КомандыФормыДоставкиExtendedTooltip + 9 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Left + + + + ТабличныйДокумент + 1 + + <key>ru</key> + <value>Заявка на доставку</value> + + true + true + + true + + + + ТабличныйДокумент + + + None + CollapseAllGroups + ExpandAllGroups + ShowGroups + + ТабличныйДокументExtendedTooltip + 14 + true + true + + true + + Label + true + true + + Left + + + + ТабличныйДокументКонтекстноеМеню + 2 + true + true + + true + + true + + SpreadsheetDocumentField + Enter + true + Left + true + + + OnChangeAreaContent + ТабличныйДокументПриИзмененииСодержимогоОбласти + + 80 + true + 20 + true + true + true + Special + ScrollAlways + ScrollAlways + true + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnOpen + ПриОткрытии + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + UseIfNecessary + true + true + + ТабличныйДокумент + + <key>ru</key> + <value>Документ</value> + + 1 + + SpreadsheetDocument + + + true + + + true + + + + + ДатаДокумента + + <key>ru</key> + <value>Дата документа</value> + + 2 + + Date + + Date + + + + true + + + true + + + + Документ + + <key>ru</key> + <value>Документ</value> + + 3 + + DocumentRef.РасходТовара + + + true + + + true + + + + ПечатьПакетаДокументов + + <key>ru</key> + <value>Печать пакета документов</value> + + 1 + + ru + Печать пакета документов + + + true + + + + ПечатьПакетаДокументов + + + Auto + + + ДатаДокумента + + Date + + Date + + + + + Документ + + DocumentRef.РасходТовара + + + + + + + diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Module.bsl" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Module.bsl" new file mode 100644 index 000000000..f4f63b63c --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Module.bsl" @@ -0,0 +1,43 @@ + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + Документ = Параметры.Документ; + ДатаДокумента = Параметры.ДатаДокумента; + ТабличныйДокумент = Документы.РасходТовара.ПолучитьМакет("БланкДоставки"); + ТабличныйДокумент.Область("ДатаОформления").Значение = ДатаДокумента; +КонецПроцедуры + +&НаКлиенте +Процедура ТабличныйДокументПриИзмененииСодержимогоОбласти(Элемент, Область) + Если Область.Имя = "ДатаДоставки" Тогда + ТабличныйДокумент.Область("СрокДоставки").Значение = + Число(ТабличныйДокумент.Область("ДатаДоставки").Значение - НачалоДня(ДатаДокумента)) / (24 * 60 * 60); + ИначеЕсли Область.Имя = "СрокДоставки" Тогда + ТабличныйДокумент.Область("ДатаДоставки").Значение = + НачалоДня(ДатаДокумента) + ТабличныйДокумент.Область("СрокДоставки").Значение * 24 * 60 * 60; + КонецЕсли +КонецПроцедуры + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + Элементы.ТабличныйДокумент.ТекущаяОбласть = ТабличныйДокумент.Область("Адрес"); +КонецПроцедуры + +&НаКлиенте +Процедура ПечатьПакетаДокументов(Команда) + Пакет = ПечатьПакетаДокументовНаСервере(); + Пакет.Напечатать(РежимИспользованияДиалогаПечати.Использовать); +КонецПроцедуры + +&НаСервере +Функция ПечатьПакетаДокументовНаСервере() + Пакет = Новый ПакетОтображаемыхДокументов; + + Пакет.Состав.Добавить().Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент, УникальныйИдентификатор); + + РасходнаяНакладная = Новый ТабличныйДокумент; + Документ.ПолучитьОбъект().ПечатнаяФорма(РасходнаяНакладная); + Пакет.Состав.Добавить().Данные = ПоместитьВоВременноеХранилище(РасходнаяНакладная, УникальныйИдентификатор); + + Возврат Пакет; +КонецФункции diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ConditionalAppearance.dcssca" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ConditionalAppearance.dcssca" new file mode 100644 index 000000000..dce66ea72 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/ConditionalAppearance.dcssca" @@ -0,0 +1,57 @@ + + + + + + ТоварыСумма + + + + + Объект.Товары.СуммаИзменена + Equal + true + + + + + ЦветТекста + style:ЦветТекстаСущественныхИзмененийДанных + + + Шрифт + + + + + + + + ТоварыКоличество + + + + + Объект.Товары.ЭтоУслуга + Equal + true + + + + + false + Видимость + false + + + false + Доступность + false + + + Отображать + false + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" new file mode 100644 index 000000000..da91fcfc6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Form.form" @@ -0,0 +1,1637 @@ + + + + Шапка + 39 + + ЛеваяКолонка + 40 + + Номер + 2 + true + true + + true + + + + Объект.Number + + + true + + НомерExtendedTooltip + 54 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 24 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + false + true + true + true + + Style.BorderColor + + + + + Дата + 3 + true + true + + true + + + + Объект.Date + + + true + + ДатаExtendedTooltip + 55 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 23 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Организация + 37 + true + true + + true + + + + Объект.Организация + + + + OnChange + ОрганизацияПриИзменении + + + ОрганизацияExtendedTooltip + 56 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 38 + true + true + + true + + true + + InputField + Enter + true + Left + true + + 30 + true + true + true + true + true + + Style.BorderColor + + + + + ГруппаПокупатель + 48 + + Покупатель + 4 + true + true + + true + + + + Объект.Покупатель + + + + OnChange + ПокупательПриИзменении + + + ПокупательExtendedTooltip + 58 + true + true + + true + + Label + true + true + + Left + + + + ПокупательКонтекстноеМеню + 25 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + true + true + + Style.BorderColor + + + + true + true + + true + + + <key>ru</key> + <value>Группа покупатель</value> + + + ru + Группа покупатель + + + ГруппаПокупательExtendedTooltip + 57 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + Auto + DontUse + + + + Склад + 5 + true + true + + true + + + + Объект.Склад + + + + СкладExtendedTooltip + 60 + true + true + + true + + Label + true + true + + Left + + + + СкладКонтекстноеМеню + 28 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + true + true + + true + + + ЛеваяКолонкаExtendedTooltip + 53 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + + ПраваяКолонка + 41 + + ВидЦен + 7 + true + true + + true + + + + Объект.ВидЦен + + + true + + OnChange + ВидЦенПриИзменении + + + ВидЦенExtendedTooltip + 62 + true + true + + true + + Label + true + true + + Left + + + + ВидЦенКонтекстноеМеню + 26 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Валюта + 6 + true + true + + true + + + + Объект.Валюта + + + + ВалютаExtendedTooltip + 63 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 27 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + true + true + + true + + + ПраваяКолонкаExtendedTooltip + 61 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + true + true + Auto + DontUse + + + true + true + + true + + + ШапкаExtendedTooltip + 52 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + LeftWide + Auto + DontUse + + + + ГруппаТабличныеЧасти + 16 + + ГруппаТовары + 8 + + Товары + 9 + true + true + + true + + + Объект.Товары + + false + None + + ТоварыНомерСтроки + 11 + Low + true + true + + true + + + + Объект.Товары.LineNumber + + + + ТоварыНомерСтрокиExtendedTooltip + 68 + true + true + + true + + Label + true + true + + Left + + + + ТоварыНомерСтрокиКонтекстноеМеню + 31 + true + true + + true + + true + + LabelField + EnterOnInput + true + Left + true + Left + + true + true + + + + ТоварыТовар + 12 + High + true + true + + true + + + + Объект.Товары.Товар + + + true + + OnChange + ТоварыТоварПриИзменении + + + ТоварыТоварExtendedTooltip + 69 + true + true + + true + + Label + true + true + + Left + + + + ТоварыТоварКонтекстноеМеню + 32 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + Catalog.Товары.Form.ФормаСпискаСОстатками + + Style.BorderColor + + + + + ТоварыЦена + 13 + Usual + true + true + + true + + + + Объект.Товары.Цена + + + + OnChange + ТоварыЦенаПриИзменении + + + ТоварыЦенаExtendedTooltip + 70 + true + true + + true + + Label + true + true + + Left + + + + ТоварыЦенаКонтекстноеМеню + 33 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + + + + ТоварыКоличество + 14 + Usual + true + true + + true + + + + Объект.Товары.Количество + + + + OnChange + ТоварыКоличествоПриИзменении + + + ТоварыКоличествоExtendedTooltip + 71 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКоличествоКонтекстноеМеню + 34 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + true + + + + ТоварыСумма + 15 + High + true + true + + true + + + + Объект.Товары.Сумма + + + + OnChange + ТоварыСуммаПриИзменении + + + ТоварыСуммаExtendedTooltip + 72 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСуммаКонтекстноеМеню + 35 + true + true + + true + + true + + InputField + EnterOnInput + true + Left + true + Left + + true + true + true + true + true + + + + ТоварыКоманднаяПанель + 30 + + КомандаПодбор + 17 + true + true + + true + + false + + КомандаПодборExtendedTooltip + 66 + true + true + + true + + Label + true + true + + Left + + + CommandBarHyperlink + Form.Command.КомандаПодбор + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Left + true + + + true + true + + true + + ТоварыСтрокаПоиска + 78 + + ТоварыСтрокаПоискаРасширеннаяПодсказка + 80 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСтрокаПоискаКонтекстноеМеню + 79 + true + true + + true + + true + + ТоварыСтрокаПоиска + + true + + + + true + true + + true + + ТоварыСостояниеПросмотра + 81 + + ТоварыСостояниеПросмотраРасширеннаяПодсказка + 83 + true + true + + true + + Label + true + true + + Left + + + + ТоварыСостояниеПросмотраКонтекстноеМеню + 82 + true + true + + true + + true + + ViewStatusAddition + ТоварыСостояниеПросмотра + + true + Left + + + + true + true + + true + + ТоварыУправлениеПоиском + 84 + + ТоварыУправлениеПоискомРасширеннаяПодсказка + 86 + true + true + + true + + Label + true + true + + Left + + + + ТоварыУправлениеПоискомКонтекстноеМеню + 85 + true + true + + true + + true + + SearchControlAddition + ТоварыУправлениеПоиском + + true + + + + ТоварыExtendedTooltip + 67 + true + true + + true + + Label + true + true + + Left + + + + ТоварыКонтекстноеМеню + 29 + true + true + + true + + true + + true + true + 40 + true + true + 8 + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + +
+ + Итоги + 42 + + ТоварыИтогКоличество + 43 + true + true + + true + + + + Объект.Товары.TotalКоличество + + + + ТоварыИтогКоличествоExtendedTooltip + 74 + true + true + + true + + Label + true + true + + Left + + + + ТоварыИтогКоличествоКонтекстноеМеню + 44 + true + true + + true + + true + + LabelField + Left + Enter + true + Left + true + + true + true + true + + System.DefaultGUIFont + true + false + false + false + + + + + ТоварыИтогСумма + 45 + true + true + + true + + + + Объект.Товары.TotalСумма + + + + ТоварыИтогСуммаExtendedTooltip + 75 + true + true + + true + + Label + true + true + + Left + + + + ТоварыИтогСуммаКонтекстноеМеню + 46 + true + true + + true + + true + + LabelField + Left + Enter + true + Left + true + + true + true + true + + System.DefaultGUIFont + true + false + false + false + + + + true + true + + true + + + <key>ru</key> + <value>Итоги</value> + + + ИтогиExtendedTooltip + 73 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + true + true + + Web.Gainsboro + + Auto + DontUse + + + true + true + + true + + + <key>ru</key> + <value>Товары</value> + + + ГруппаТоварыExtendedTooltip + 65 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + Объект.Товары.RowsCount + + +
+ + Прочее + 20 + + ОбоснованиеОтгрузки + 21 + true + true + + true + + + + Объект.ОбоснованиеОтгрузки + + + + ОбоснованиеОтгрузкиExtendedTooltip + 77 + true + true + + true + + Label + true + true + + Left + + + + ОбоснованиеОтгрузкиКонтекстноеМеню + 36 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + true + true + + true + + + <key>ru</key> + <value>Прочее</value> + + + ПрочееExtendedTooltip + 76 + true + true + + true + + Label + true + true + + Left + + + Page + + Vertical + true + + + true + true + + true + + + ГруппаТабличныеЧастиExtendedTooltip + 64 + true + true + + true + + Label + true + true + + Left + + + Pages + + TabsOnTop + DontUse + +
+ + ФормаКоманднаяПанель + -1 + + Пересчитать + 47 + true + true + + true + + false + + ПересчитатьExtendedTooltip + 51 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Пересчитать + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + ОстаткиПоСкладу + 18 + true + true + + true + + + Объект.Склад + + false + + ОстаткиПоСкладуExtendedTooltip + 50 + true + true + + true + + Label + true + true + + Left + + + CommandBarHyperlink + Report.ОстаткиТоваровНаСкладах.Command.ОстаткиПоСкладу + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + Left + true + + + NewWriteProcessing + ОбработкаЗаписиНового + + + OnCreateAtServer + ПриСозданииНаСервере + + true + true + Vertical + true + true + true + true + true + + Объект + + <key>ru</key> + <value>Объект</value> + + 1 + + DocumentObject.РасходТовара + + + true + + + true + + + Объект.RegisterRecords + +
true
+ true + + + Объект.Товары + + + СуммаИзменена + + <key>ru</key> + <value>Сумма изменена</value> + + 1 + + Boolean + + + true + + + true + + + + ЭтоУслуга + + <key>ru</key> + <value>Это услуга?</value> + + 2 + + Boolean + + + true + + + true + + + +
+ + КомандаПодбор + + <key>ru</key> + <value>Подбор</value> + + 1 + + ru + Подбор товаров + + + true + + + + КомандаПодбор + + + true + DontUse + + + Пересчитать + + <key>ru</key> + <value>Пересчитать</value> + + 2 + + ru + Пересчитать + + + true + + + + ПересчитатьВыполнить + + + true + DontUse + + + ОформитьДоставку + + <key>ru</key> + <value>Доставка</value> + + 3 + + ru + Оформить доставку + + + true + + + + ОформитьДоставкуВыполнить + + + DontUse + + + + + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenByRecorder + + true + + Role.Продавец + + + + + AccumulationRegister.Взаиморасчеты.StandardCommand.OpenByRecorder + + true + + + + AccumulationRegister.Продажи.StandardCommand.OpenByRecorder + + true + + + + + + Form.Command.ОформитьДоставку + Added + CommandGroup.Печать + 1 + + true + + + + Document.РасходТовара.Command.ПечатьРасходнойНакладной + CommandGroup.Печать + 0 + + + + + + AfterWriteAtServer + ПослеЗаписиНаСервере + + + OnReadAtServer + ПриЧтенииНаСервере + + true + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" new file mode 100644 index 000000000..3c89284fc --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\320\260/Module.bsl" @@ -0,0 +1,300 @@ +//////////////////////////////////////////////////////////////////////////////// +// Переменные +// + +&НаКлиенте +Перем АдресТоваровВХранилище; + +//////////////////////////////////////////////////////////////////////////////// +// ПРОЦЕДУРЫ И ФУНКЦИИ +// + +// Функция возвращает цену определенного товара на дату согласно виду цены +// +// Параметры: +// Дата – Дата – дата, на которую определяется цена. +// Товар – СправочникСсылка.Товары – товар, цена которого определяется. +// ВидЦен – СправочникСсылка.ВидыЦен – вид цены. +// +// Возвращаемое значение: +// Число - Цена товара на определенную дату, согласно виду цены. +&НаСервереБезКонтекста +Функция ПолучитьЦенуТовара(Дата, Товар, ВидЦен) + ЦенаТовара = РегистрыСведений.ЦеныТоваров.ПолучитьПоследнее( + Дата, Новый Структура("Товар, ВидЦен", Товар, ВидЦен)); + Возврат ЦенаТовара.Цена; +КонецФункции + +// Функция возвращает вид цены для указанного покупателя +// +// Параметры: +// Покупатель – СправочникСсылка.Контрагенты – контрагент. +// +// Возвращаемое значение: +// СправочникСсылка.ВидыЦен - Вид цены для указанного покупателя. +&НаСервереБезКонтекста +Функция ПолучитьВидЦенПокупателя(Покупатель) + Запрос = Новый Запрос(); + Запрос.Текст = "ВЫБРАТЬ ВидЦен ИЗ Справочник.Контрагенты ГДЕ Ссылка = &Покупатель"; + Запрос.УстановитьПараметр("Покупатель", Покупатель); + Выборка = Запрос.Выполнить().Выбрать(); + Если Выборка.Следующий() Тогда + Возврат Выборка.ВидЦен; + КонецЕсли; + Возврат Справочники.ВидыЦен.ПустаяСсылка(); +КонецФункции + +// Функция определяет услуга это или нет +&НаСервереБезКонтекста +Функция ЭтоУслуга(Товар) + + Возврат ?(Товар.Вид = Перечисления.ВидыТоваров.Услуга, Истина, Ложь); + +КонецФункции + +// Процедура устанавливает цены товаров и вычисляет суммы по каждой строке +// табличной части Товары. +// +// Параметры: +// Нет. +// +// Возвращаемое значение: +// Нет. +&НаСервере +Процедура ПересчитатьЦеныИСуммыТоваров(ПересчитатьДляВсехТоваров) + Запрос = Новый Запрос(); + Запрос.Текст = "ВЫБРАТЬ + | ЦеныТоваровСрезПоследних.Цена, + | ЦеныТоваровСрезПоследних.Товар + |ИЗ + | РегистрСведений.ЦеныТоваров.СрезПоследних( + | , + | ВидЦен = &ВидЦены + | И Товар В (&Товары)) КАК ЦеныТоваровСрезПоследних"; + Запрос.УстановитьПараметр("ВидЦены", Объект.ВидЦен); + Товары = Новый Массив(); + Для каждого Стр Из Объект.Товары Цикл + Товары.Добавить(Стр.Товар); + КонецЦикла; + Запрос.УстановитьПараметр("Товары", Товары); + + ТЗЦены = Запрос.Выполнить().Выгрузить(); + ТЗЦены.Индексы.Добавить("Товар"); + Для каждого Стр Из Объект.Товары Цикл + Если Стр.Цена = 0 ИЛИ ПересчитатьДляВсехТоваров Тогда + ЦенаТовара = ТЗЦены.Найти(Стр.Товар, "Товар"); + Если ЦенаТовара <> Неопределено Тогда + Стр.Цена = ЦенаТовара.Цена; + Иначе + Стр.Цена = 0; + КонецЕсли; + КонецЕсли; + Стр.Сумма = Стр.Цена * Стр.Количество; + Стр.СуммаИзменена = Ложь; + Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар); + КонецЦикла; +КонецПроцедуры + +// Функция помещает список товаров во временное хранилище и возвращает адрес +&НаСервере +Функция ПоместитьТоварыВХранилище() + Возврат ПоместитьВоВременноеХранилище(Объект.Товары.Выгрузить(,"Товар,Цена,Количество"), УникальныйИдентификатор); +КонецФункции + +// Функция восстанавливает список товаров из временного хранилища +&НаСервере +Процедура ПолучитьТоварыИзХранилища(АдресТоваровВХранилище) + Объект.Товары.Загрузить(ПолучитьИзВременногоХранилища(АдресТоваровВХранилище)); + ПересчитатьЦеныИСуммыТоваров(Ложь); +КонецПроцедуры + + +// Функция возвращает ссылку на текущую строку в списке товаров +// +// Параметры: +// Нет. +// +// Возвращаемое значение: +// СправочникСсылка.Товары - Текущий товар в списке. +&НаКлиенте +Функция ПолучитьТекущуюСтрокуТовары() + Возврат Элементы.Товары.ТекущиеДанные; +КонецФункции + +// Процедура вычисляет дополнительные данные строки документа +&НаКлиентеНаСервереБезКонтекста +Процедура ЗаполнитьДополнительныеДанныеСтроки(Строка) + + Строка.СуммаИзменена = Строка.Сумма <> Строка.Количество * Строка.Цена; + +КонецПроцедуры + + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура ТоварыТоварПриИзменении(Элемент) + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар); + Стр.Цена = ПолучитьЦенуТовара(Объект.Дата, Стр.Товар, Объект.ВидЦен); + Стр.Количество = ?(Стр.ЭтоУслуга ИЛИ Стр.Количество = 0, 1, Стр.Количество); + Стр.Сумма = Стр.Количество * Стр.Цена; + ЗаполнитьДополнительныеДанныеСтроки(Стр); +КонецПроцедуры + +&НаКлиенте +Процедура ПокупательПриИзменении(Элемент) + ВидЦен = ПолучитьВидЦенПокупателя(Объект.Покупатель); + Если Объект.ВидЦен <> ВидЦен Тогда + Объект.ВидЦен = ВидЦен; + Если Объект.Товары.Количество() > 0 Тогда + ПересчитатьЦеныИСуммыТоваров(Истина); + КонецЕсли; + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ВидЦенПриИзменении(Элемент) + Если Объект.Товары.Количество() > 0 Тогда + ПересчитатьЦеныИСуммыТоваров(Истина); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыЦенаПриИзменении(Элемент) + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.Сумма = Стр.Количество * Стр.Цена; + ЗаполнитьДополнительныеДанныеСтроки(Стр); +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыКоличествоПриИзменении(Элемент) + Стр = ПолучитьТекущуюСтрокуТовары(); + Стр.Сумма = Стр.Количество * Стр.Цена; + ЗаполнитьДополнительныеДанныеСтроки(Стр); +КонецПроцедуры + +&НаКлиенте +Процедура ТоварыСуммаПриИзменении(Элемент) + Стр = ПолучитьТекущуюСтрокуТовары(); + ЗаполнитьДополнительныеДанныеСтроки(Стр); +КонецПроцедуры + +// Обработчик команды подбора +&НаКлиенте +Процедура КомандаПодбор() +#Если МобильныйКлиент Тогда + Имя = "ОбщаяФорма.ФормаПодбораМобильная"; +#Иначе + Имя = "ОбщаяФорма.ФормаПодбора"; +#КонецЕсли + АдресТоваровВХранилище = ПоместитьТоварыВХранилище(); + ПараметрыПодбора = Новый Структура("АдресТоваровДокумента, ВидЦен, Склад", АдресТоваровВХранилище, Объект.ВидЦен, Объект.Склад); + ФормаПодбора = ОткрытьФорму(Имя, ПараметрыПодбора, ЭтотОбъект); +КонецПроцедуры + +&НаСервере +Процедура ПересчитатьНаСервере() + Документ = РеквизитФормыВЗначение("Объект"); + Документ.Пересчитать(); + ЗначениеВРеквизитФормы(Документ, "Объект"); + + Для каждого Стр Из Объект.Товары Цикл + + ЗаполнитьДополнительныеДанныеСтроки(Стр); + + КонецЦикла + +КонецПроцедуры + +&НаКлиенте +Процедура ПересчитатьВыполнить() + ПересчитатьНаСервере(); +КонецПроцедуры + +&НаКлиенте +Процедура ОформитьДоставкуВыполнить() + ПараметрыДоставки = Новый Структура("ДатаДокумента,Документ", Объект.Дата, Объект.Ссылка); + ОткрытьФорму("Документ.РасходТовара.Форма.ОформлениеДоставки", ПараметрыДоставки); +КонецПроцедуры + +&НаКлиенте +Процедура ОрганизацияПриИзменении(Элемент) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Если Параметры.Ключ.Пустая() Тогда + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + КонецЕсли; + + Для каждого Стр Из Объект.Товары Цикл + + ЗаполнитьДополнительныеДанныеСтроки(Стр); + + КонецЦикла + +КонецПроцедуры + +&НаСервере +Процедура ПриЧтенииНаСервере(ТекущийОбъект) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + Для каждого Стр Из Объект.Товары Цикл + + ЗаполнитьДополнительныеДанныеСтроки(Стр); + Стр.ЭтоУслуга = ЭтоУслуга(Стр.Товар); + + КонецЦикла + +КонецПроцедуры + +&НаСервере +Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) + + ПараметрыОпций = Новый Структура("Организация", Объект.Организация); + УстановитьПараметрыФункциональныхОпцийФормы(ПараметрыОпций); + + Для каждого Стр Из Объект.Товары Цикл + + ЗаполнитьДополнительныеДанныеСтроки(Стр); + + КонецЦикла + +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьПодбор() Экспорт + + ПолучитьТоварыИзХранилища(АдресТоваровВХранилище); + +КонецПроцедуры + + +&НаКлиенте +Процедура ОбработкаЗаписиНового(НовыйОбъект, Источник, СтандартнаяОбработка) + Если ТипЗнч(НовыйОбъект) = Тип("СправочникСсылка.Контрагенты") Тогда + Объект.Покупатель = НовыйОбъект; + ВидЦен = ПолучитьВидЦенПокупателя(Объект.Покупатель); + Если Объект.ВидЦен <> ВидЦен Тогда + Объект.ВидЦен = ВидЦен; + Если Объект.Товары.Количество() > 0 Тогда + ПересчитатьЦеныИСуммыТоваров(Истина); + КонецЕсли; + КонецЕсли; + ТекущийЭлемент = Элементы.Покупатель; + КонецЕсли; +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..5e20d945a --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,33 @@ + + + + + false + Покупатель + Equal + Справочник.Контрагенты.ПустаяСсылка + + + false + Склад + Equal + Справочник.Склады.ПустаяСсылка + + + false + Организация + Equal + Справочник.Организации.ПустаяСсылка + + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" new file mode 100644 index 000000000..dd4665320 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Form.form" @@ -0,0 +1,731 @@ + + + + Настройки + 32 + true + true + + true + + + <key>ru</key> + <value>Настройки</value> + + + ru + Настройки + + + НастройкиРасширеннаяПодсказка + 33 + true + true + + true + + Label + true + true + + Left + + + UsualGroup + + Vertical + WeakSeparation + true + true + Auto + DontUse + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Дата + 4 + + <key>ru</key> + <value>Дата</value> + + true + true + + true + + + + Список.Date + + + true + + ДатаExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + + ДатаКонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + Left + true + Left + true + + true + true + + + + Номер + 6 + + <key>ru</key> + <value>Номер</value> + + true + true + + true + + + + Список.Number + + + + НомерExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + + НомерКонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + Left + true + Left + true + + true + true + + + + Организация + 20 + true + true + + true + + + + Список.Организация + + + + ОрганизацияExtendedTooltip + 27 + true + true + + true + + Label + true + true + + Left + + + + ОрганизацияКонтекстноеМеню + 21 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Покупатель + 8 + + <key>ru</key> + <value>Покупатель</value> + + true + true + + true + + + + Список.Покупатель + + + + ПокупательExtendedTooltip + 28 + true + true + + true + + Label + true + true + + Left + + + + ПокупательКонтекстноеМеню + 9 + true + true + + true + + true + + LabelField + Enter + Left + true + Left + true + + true + true + + + + Склад + 10 + + <key>ru</key> + <value>Склад</value> + + true + true + + true + + + + Список.Склад + + + + СкладExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + + СкладКонтекстноеМеню + 11 + true + true + + true + + true + + LabelField + Enter + Left + true + Left + true + + true + true + + + + Валюта + 12 + + <key>ru</key> + <value>Валюта взаиморасчетов</value> + + true + true + + true + + + + Список.Валюта + + + + ВалютаExtendedTooltip + 30 + true + true + + true + + Label + true + true + + Left + + + + ВалютаКонтекстноеМеню + 13 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + ВидЦен + 14 + + <key>ru</key> + <value>Вид цен</value> + + true + true + + true + + + + Список.ВидЦен + + + + ВидЦенExtendedTooltip + 31 + true + true + + true + + Label + true + true + + Left + + + + ВидЦенКонтекстноеМеню + 15 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + СписокКоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 34 + + СписокСтрокаПоискаРасширеннаяПодсказка + 36 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 35 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 37 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 39 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 38 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 40 + + СписокУправлениеПоискомРасширеннаяПодсказка + 42 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 41 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + + СписокКонтекстноеМеню + 2 + + Документ.РасходТовара.Команда.ПечатьРасходнойНакладной + 18 + true + true + + true + + + Items.Список.CurrentData.Ref + + false + + Документ.РасходТовара.Команда.ПечатьРасходнойНакладнойExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + Document.РасходТовара.Command.ПечатьРасходнойНакладной + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + true + + true + true + true + true + 10 + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + true + Auto + Auto + true + true + true + + Список.DefaultPicture + + + Style.BorderColor + + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + Настройки + +
+ + ФормаКоманднаяПанель + -1 + + ОтборНаСервере + 19 + true + true + + true + + false + + ОтборНаСервереExtendedTooltip + 22 + true + true + + true + + Label + true + true + + Left + + + 0 + Auto + true + true + UserCmds + + true + true + + true + + Left + true + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + Document.РасходТовара + true + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Help/ru.html" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Help/ru.html" new file mode 100644 index 000000000..f3dea3bf3 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Help/ru.html" @@ -0,0 +1 @@ +В этом документе осуществляется оформление отгрузки товаров предприятия. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/ObjectModule.bsl" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/ObjectModule.bsl" new file mode 100644 index 000000000..344889a9f --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/ObjectModule.bsl" @@ -0,0 +1,3 @@ +//////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ // // Посчитать сумму по всем товарам в документе Функция СуммаПоТоварамВДокументе() СуммаПоТоварам = 0; Для каждого Товар из Товары Цикл СуммаПоТоварам = СуммаПоТоварам + Товар.Количество * Товар.Цена; КонецЦикла; Возврат СуммаПоТоварам; КонецФункции // Формирование печатной формы документа // // Параметры: // Нет. // // Возвращаемое значение: // ТабличныйДокумент - Сформированный табличный документ. Процедура ПечатнаяФорма(ТабличныйДокумент) Экспорт Макет = Документы.РасходТовара.ПолучитьМакет("МакетПечати"); // Заголовок Область = Макет.ПолучитьОбласть("Заголовок"); ТабличныйДокумент.Вывести(Область); // Шапка Шапка = Макет.ПолучитьОбласть("Шапка"); Шапка.Параметры.Заполнить(ЭтотОбъект); Шапка.Параметры.СуммаПоТоварам = СуммаПоТоварамВДокументе(); ТабличныйДокумент.Вывести(Шапка); // Товары Область = Макет.ПолучитьОбласть("ТоварыШапка"); ТабличныйДокумент.Вывести(Область); ОбластьТовары = Макет.ПолучитьОбласть("Товары"); Для каждого ТекСтрокаТовары Из Товары Цикл ОбластьТовары.Параметры.Заполнить(ТекСтрокаТовары); ТабличныйДокумент.Вывести(ОбластьТовары); КонецЦикла; КонецПроцедуры // Формирование печатной формы документа // // Параметры: // Нет. // // Возвращаемое значение: // ТабличныйДокумент - Сформированный табличный документ. Процедура Пересчитать() Экспорт Для каждого ТекСтрокаТовары Из Товары Цикл ТекСтрокаТовары.Сумма = ТекСтрокаТовары.Количество * ТекСтрокаТовары.Цена; КонецЦикла; КонецПроцедуры //////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ОБЪЕКТА Процедура ОбработкаПроведения(Отказ, Режим) // Формирование движений регистров накопления ТоварныеЗапасы и Продажи. Движения.ТоварныеЗапасы.Записывать = Истина; Движения.Продажи.Записывать = Истина; Если Режим = РежимПроведенияДокумента.Оперативный Тогда Движения.ТоварныеЗапасы.БлокироватьДляИзменения = Истина; КонецЕсли; // Создадим запрос, чтобы получать информацию об услугах Запрос = Новый Запрос("ВЫБРАТЬ | ТоварыВДокументе.НомерСтроки КАК НомерСтроки |ИЗ | Документ.РасходТовара.Товары КАК ТоварыВДокументе |ГДЕ | ТоварыВДокументе.Ссылка = &Ссылка | И ТоварыВДокументе.Товар.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Услуга)"); Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатУслуги = Запрос.Выполнить().Выгрузить(); РезультатУслуги.Индексы.Добавить("НомерСтроки"); Для каждого ТекСтрокаТовары Из Товары Цикл Строка = РезультатУслуги.Найти(ТекСтрокаТовары.НомерСтроки, "НомерСтроки"); Если Строка = Неопределено Тогда // Не услуга Движение = Движения.ТоварныеЗапасы.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Товар = ТекСтрокаТовары.Товар; Движение.Склад = Склад; Движение.Количество = ТекСтрокаТовары.Количество; КонецЕсли; Движение = Движения.Продажи.Добавить(); Движение.Период = Дата; Движение.Товар = ТекСтрокаТовары.Товар; Движение.Покупатель = Покупатель; Движение.Количество = ТекСтрокаТовары.Количество; Движение.Сумма = ТекСтрокаТовары.Сумма; КонецЦикла; // Формирование движения регистра накопления Взаиморасчеты. Движения.Взаиморасчеты.Записывать = Истина; Движение = Движения.Взаиморасчеты.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Контрагент = Покупатель; Движение.Валюта = Валюта; Если Валюта.Пустая() Тогда Движение.Сумма = Товары.Итог("Сумма"); Иначе Курс = РегистрыСведений.КурсыВалют.ПолучитьПоследнее(Дата, Новый Структура("Валюта", Валюта)).Курс; Если Курс = 0 Тогда Движение.Сумма = Товары.Итог("Сумма"); Иначе Движение.Сумма = Товары.Итог("Сумма") / Курс; КонецЕсли; КонецЕсли; //Запишем движения Движения.Записать(); Если НЕ КонтрольОстатков() Тогда Отказ = Истина; КонецЕсли; КонецПроцедуры Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) //Удалим из списка проверяемых реквизитов валюту, если по организации не ведется //валютный учет Если НЕ ПолучитьФункциональнуюОпцию("ВалютныйУчет", Новый Структура("Организация", Организация)) Тогда ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Валюта")); КонецЕсли; // Проверим заполненность поля "Покупатель" Если Покупатель.Пустая() Тогда // Если поле Покупатель не заполнено, сообщим об этом пользователю Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = НСтр("ru = 'Не указан Покупатель, для которого выписывается накладная!'", "ru"); Сообщение.Поле = НСтр("ru = 'Покупатель'", "ru"); Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); // Сообщим платформе, что мы сами обработали проверку заполнения поля "Покупатель" ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Покупатель")); // Так как информация в документе не консистентна, то продолжать работу дальше смысла нет Отказ = Истина; КонецЕсли; //Если склад не заполнен, то проверим есть ли в документе что-то кроме услуг Если Склад.Пустая() И Товары.Количество() > 0 Тогда // Создадим запрос, чтобы получать информацию об товарах Запрос = Новый Запрос("ВЫБРАТЬ | Количество(*) КАК Количество |ИЗ | Справочник.Товары КАК Товары |ГДЕ | Товары.Ссылка В (&ТоварыВДокументе) | И Товары.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Товар)"); Запрос.УстановитьПараметр("ТоварыВДокументе", Товары.ВыгрузитьКолонку("Товар")); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); Если Выборка.Количество = 0 Тогда // Сообщим платформе, что мы сами обработали проверку заполнения поля "Склад" ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Склад")); КонецЕсли; КонецЕсли; КонецПроцедуры Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка) Если ТипЗнч(ДанныеЗаполнения) = Тип("СправочникСсылка.Контрагенты") Тогда ЗапросПоКонтрагенту = Новый Запрос("ВЫБРАТЬ | Контрагенты.ЭтоГруппа, | Контрагенты.ВидЦен |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | Контрагенты.Ссылка = &КонтрагентСсылка"); ЗапросПоКонтрагенту.УстановитьПараметр("КонтрагентСсылка", ДанныеЗаполнения); Выборка = ЗапросПоКонтрагенту.Выполнить().Выбрать(); Если Выборка.Следующий() И Выборка.ЭтоГруппа Тогда Возврат; КонецЕсли; ВидЦен = Выборка.ВидЦен; Покупатель = ДанныеЗаполнения.Ссылка; ИначеЕсли ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда Значение = Неопределено; Если ДанныеЗаполнения.Свойство("Покупатель", Значение) Тогда ВидЦен = Значение.ВидЦен; КонецЕсли; КонецЕсли; КонецПроцедуры Функция КонтрольОстатков() + + // Создадим запрос, чтобы контролировать остатки по товарам Запрос = Новый Запрос("ВЫБРАТЬ | ТоварыВДокументе.Товар КАК Товар, | СУММА(ТоварыВДокументе.Количество) КАК Количество, | МАКСИМУМ(ТоварыВДокументе.НомерСтроки) КАК НомерСтроки | |ПОМЕСТИТЬ ТребуетсяТовара | |ИЗ | Документ.РасходТовара.Товары КАК ТоварыВДокументе | |ГДЕ | ТоварыВДокументе.Ссылка = &Ссылка | И ТоварыВДокументе.Товар.Вид = ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Товар) | |СГРУППИРОВАТЬ ПО | ТоварыВДокументе.Товар | |ИНДЕКСИРОВАТЬ ПО | Товар |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПРЕДСТАВЛЕНИЕ(ТребуетсяТовара.Товар) КАК ТоварПредставление, | ВЫБОР | КОГДА - ЕСТЬNULL(ТоварныеЗапасыОстатки.КоличествоОстаток, 0) > ТоварыВДокументе.Количество | ТОГДА ТоварыВДокументе.Количество | ИНАЧЕ - ЕСТЬNULL(ТоварныеЗапасыОстатки.КоличествоОстаток, 0) | КОНЕЦ КАК Нехватка, | ТоварыВДокументе.Количество - ВЫБОР | КОГДА - ЕСТЬNULL(ТоварныеЗапасыОстатки.КоличествоОстаток, 0) > ТоварыВДокументе.Количество | ТОГДА ТоварыВДокументе.Количество | ИНАЧЕ - ЕСТЬNULL(ТоварныеЗапасыОстатки.КоличествоОстаток, 0) | КОНЕЦ КАК МаксимальноеКоличество, | ТребуетсяТовара.НомерСтроки КАК НомерСтроки | |ИЗ | ТребуетсяТовара КАК ТребуетсяТовара | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварныеЗапасы.Остатки( | , | Товар В | (ВЫБРАТЬ | ТребуетсяТовара.Товар | ИЗ | ТребуетсяТовара) | И Склад = &Склад) КАК ТоварныеЗапасыОстатки | ПО ТребуетсяТовара.Товар = ТоварныеЗапасыОстатки.Товар | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходТовара.Товары КАК ТоварыВДокументе | ПО ТребуетсяТовара.Товар = ТоварыВДокументе.Товар | И ТребуетсяТовара.НомерСтроки = ТоварыВДокументе.НомерСтроки | |ГДЕ | ТоварыВДокументе.Ссылка = &Ссылка И | 0 > ЕСТЬNULL(ТоварныеЗапасыОстатки.КоличествоОстаток, 0) | |УПОРЯДОЧИТЬ ПО | НомерСтроки"); Запрос.УстановитьПараметр("Склад", Склад); Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатСНехваткой = Запрос.Выполнить(); ВыборкаРезультатаСНехваткой = РезультатСНехваткой.Выбрать(); Успешно = ВыборкаРезультатаСНехваткой.Количество() = 0; // Выдадим ошибки для строк, в которых не хватает остатка Пока ВыборкаРезультатаСНехваткой.Следующий() Цикл Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = НСтр("ru = 'Не хватает '", "ru") + ВыборкаРезультатаСНехваткой.Нехватка + НСтр("ru = ' единиц товара'", "ru") + """" + ВыборкаРезультатаСНехваткой.ТоварПредставление + """" + НСтр("ru = ' на складе'", "ru") + """" + Склад + """." + НСтр("ru = 'Максимальное количество: '", "ru") + ВыборкаРезультатаСНехваткой.МаксимальноеКоличество + "."; Сообщение.Поле = НСтр("ru = 'Товары'", "ru") + "[" + (ВыборкаРезультатаСНехваткой.НомерСтроки - 1) + "]." + НСтр("ru = 'Количество'", "ru"); Сообщение.УстановитьДанные(ЭтотОбъект); Сообщение.Сообщить(); КонецЦикла; Возврат Успешно; КонецФункции \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Templates/\320\221\320\273\320\260\320\275\320\272\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Template.mxlx" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Templates/\320\221\320\273\320\260\320\275\320\272\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Template.mxlx" new file mode 100644 index 000000000..e25c1fe84 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Templates/\320\221\320\273\320\260\320\275\320\272\320\224\320\276\321\201\321\202\320\260\320\262\320\272\320\270/Template.mxlx" @@ -0,0 +1,315 @@ + + + + ru + ru + + ru + Русский + Русский + + + + 10 + + 0 + + 1 + + + + 9 + + 1 + + + + + 4 + + + 1 + + 2 + + + ru + Заявка на доставку товара + + + + + + + + 6 + + + 1 + + 0 + + + ru + Прошу доставить товары по адресу: + + + + + + + + 7 + + 3 + + 1 + + 4 + + + + + + 9 + + + 1 + + 0 + + + ru + Срок доставки: + + + + + + 3 + + 5 + 0 + + + + + + 10 + + + 1 + + 0 + + + ru + Дата доставки + + + + + + 3 + + 6 + 0001-01-01T00:00:00 + + + + + + 12 + + + 1 + + 0 + + + ru + Дата: + + + + + + + 7 + 0001-01-01T00:00:00 + + + + + + 13 + + + 1 + + 0 + + + ru + Подпись: + + + + + + + 8 + + + + + 9 + 14 + 14 + + 4 + 1 + 7 + + + 7 + 1 + 7 + + + 9 + 3 + 1 + + + 10 + 3 + 1 + + + 12 + 2 + 1 + + + 13 + 2 + 1 + + + Адрес + + Rectangle + 7 + 7 + 1 + 8 + + + + ДатаДоставки + + Rectangle + 10 + 10 + 3 + 4 + + + + ДатаОформления + + Rectangle + 12 + 12 + 2 + 3 + + + + СрокДоставки + + Rectangle + 9 + 9 + 3 + 4 + + + + Solid + + + + true + + + 0 + 72 + Center + + + 0 + Wrap + + + 0 + Top + d3p1:LightYellow + Wrap + false + + + 0 + d3p1:LightYellow + false + true + + xs:decimal + + 10 + 0 + Nonnegative + + + 381ed624-9217-4e63-85db-c4c3cb87daae + + + 0 + d3p1:LightYellow + false + true + + xs:dateTime + + Date + + + 381ed624-9217-4e63-85db-c4c3cb87daae + + + 0 + style:FieldBackColor + true + true + + xs:dateTime + + Date + + + + + ru + ДЛФ=DD + + + 381ed624-9217-4e63-85db-c4c3cb87daae + + + 0 + + + 72 + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\320\265\321\207\320\260\321\202\320\270/Template.mxlx" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\320\265\321\207\320\260\321\202\320\270/Template.mxlx" new file mode 100644 index 000000000..98f172895 --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/Templates/\320\234\320\260\320\272\320\265\321\202\320\237\320\265\321\207\320\260\321\202\320\270/Template.mxlx" @@ -0,0 +1,358 @@ + + + + ru + ru + + ru + Русский + Русский + + + + 5 + + 1 + + 1 + + + + 2 + + 1 + + + + 3 + + 2 + + + + 4 + + 1 + + + + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + 3 + + 1 + + 3 + + + + 2 + + 3 + + + + + 1 + + 4 + + 1 + + 0 + + + ru + Расход товара + + + + + + + + 4 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + ru + Номер + + + + + + + 5 + Номер + + + + + + 5 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + ru + Дата + + + + + + + 5 + Дата + + + + + + 6 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + ru + Покупатель + + + + + + + 5 + Покупатель + + + + + + 7 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + ru + Склад + + + + + + + 5 + Склад + + + + + + 8 + + fdeabb72-9e99-4171-bb6f-be6487fea2a3 + + 1 + + 0 + + + ru + Сумма + + + + + + + 5 + СуммаПоТоварам + + + + + + 12 + + + 1 + + 6 + + + ru + Товар + + + + + + + 6 + + + ru + Цена + + + + + + + 6 + + + ru + Количество + + + + + + + 6 + + + ru + Сумма + + + + + + + + 13 + + + 1 + + 7 + Товар + + + + + 8 + Цена + + + + + 8 + Количество + + + + + 8 + Сумма + + + + + true + 9 + 14 + 14 + + Заголовок + + Rows + 1 + 1 + -1 + -1 + + + + Товары + + Rows + 13 + 13 + -1 + -1 + + + + ТоварыШапка + + Rows + 11 + 12 + -1 + -1 + + + + Шапка + + Rows + 3 + 8 + -1 + -1 + + + + Solid + + + + + 80 + + + 120 + + + 96 + + + 0 + 138 + 1 + + + Parameter + + + 1 + 0 + Center + Center + + + 0 + Parameter + + + 0 + Right + Parameter + true + + + 72 + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260.mdo" "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260.mdo" new file mode 100644 index 000000000..95f9da26a --- /dev/null +++ "b/fixtures/demo-configuration/src/Documents/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260/\320\240\320\260\321\201\321\205\320\276\320\264\320\242\320\276\320\262\320\260\321\200\320\260.mdo" @@ -0,0 +1,444 @@ + + + + + + + + + + РасходТовара + + ru + Расход товара + + + true + Document.РасходТовара.StandardAttribute.Number + DontUse + + Use + Posted + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Date + + + ShowError + Use + + + + + + Use + Number + + + Use + + + + + Catalog.Контрагенты + Use + true + + + ru + + + Use + + ru + Продажа + + + ru + Продажа товара + + + ru + Продажи + + + ru + Продажи товара + + + ru + Продажи товара со склада + + Use + String + 9 + Variable + true + true + Document.РасходТовара.Form.ФормаДокумента + Document.РасходТовара.Form.ФормаСписка + AccumulationRegister.Продажи + AccumulationRegister.ТоварныеЗапасы + AccumulationRegister.Взаиморасчеты + true + true + + Покупатель + + ru + Покупатель + + + + CatalogRef.Контрагенты + + + ru + Покупатель товара + + + + + ShowError + true + + Catalog.Контрагенты.EmptyRef + + Use + Use + + + Склад + + ru + Склад + + + + CatalogRef.Склады + + + ru + Склад на который поступает товар + + + + + ShowError + + Catalog.Склады.EmptyRef + + Use + Use + + + Валюта + + ru + Валюта взиморасчетов + + + + CatalogRef.Валюты + + + ru + Валюта, в которой указаны цены + + + + + ShowError + + Catalog.Валюты.EmptyRef + + Use + Use + + + ВидЦен + + ru + Вид цен + + + + CatalogRef.ВидыЦен + + + + + ShowError + + Catalog.ВидыЦен.EmptyRef + + Use + Use + + + ОбоснованиеОтгрузки + + ru + Обоснование отгрузки + + + + String + + + + true + true + + + DontUse + Use + + + + Use + Use + + + Организация + + ru + Организация + + + + CatalogRef.Организации + + + + + ShowError + + Catalog.Организации.EmptyRef + + Use + Use + + + ФормаДокумента + + ru + Форма документа + + + PersonalComputer + MobileDevice + + + ФормаСписка + + ru + Форма списка + + + PersonalComputer + MobileDevice + + + ОформлениеДоставки + + ru + Оформление доставки + + + PersonalComputer + MobileDevice + + + + + + + Товары + + ru + Товары + + + ShowError + + Use + LineNumber + + + Use + + + + + + Товар + + ru + Товар + + + + CatalogRef.Товары + + + ru + Товар + + + + + ShowError + + ОстаткиПоСкладу + DontChange + Document.РасходТовара.Attribute.Склад + + DontUse + Use + Use + Use + + + Цена + + ru + Цена + + + + Number + + 10 + 2 + true + + + + ru + Цена товара + + true + + + + ShowError + DontUse + Use + Use + Use + + + Количество + + ru + Количество + + + + Number + + 10 + 2 + true + + + + ru + Количество товара + + + + + ShowError + Use + Use + + + Сумма + + ru + Сумма + + + + Number + + 10 + 2 + true + + + + ru + Сумма по товару + + + + + ShowError + DontUse + Use + Use + Use + + + + МакетПечати + + ru + Макет печати + + + + + БланкДоставки + + ru + Бланк доставки + + + + + ПечатьРасходнойНакладной + + ru + Печать расходной накладной + + + CommandGroup.Печать + + DocumentRef.РасходТовара + + Multiple + Auto + + + diff --git "a/fixtures/demo-configuration/src/Enums/Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Enums/Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..45a115733 --- /dev/null +++ "b/fixtures/demo-configuration/src/Enums/Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217/Push\320\243\320\262\320\265\320\264\320\276\320\274\320\273\320\265\320\275\320\270\321\217.mdo" @@ -0,0 +1,40 @@ + + + + + + + + PushУведомления + + ru + Push уведомления + + + true + BothWays + + НеИспользовать + + ru + Не использовать + + + + + ОтправлятьНепосредственно + + ru + Отправлять непосредственно + + + + + ИспользоватьВспомогательныйСервис + + ru + Использовать вспомогательный сервис + + + + diff --git "a/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\320\270SMTP/\320\222\320\270\320\264\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\320\270SMTP.mdo" "b/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\320\270SMTP/\320\222\320\270\320\264\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\320\270SMTP.mdo" new file mode 100644 index 000000000..7d9cb12f6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\320\270SMTP/\320\222\320\270\320\264\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\220\321\203\321\202\320\265\320\275\321\202\320\270\321\204\320\270\320\272\320\260\321\206\320\270\320\270SMTP.mdo" @@ -0,0 +1,60 @@ + + + + + + + + ВидНастройкиАутентификацииSMTP + + ru + Вид настройки аутентификации SMTP + + + + Use + Order + + + Use + + + + + + Use + Ref + + + Use + + + + + true + BothWays + + Нет + + ru + Нет + + + + + ПолучатьССервера + + ru + Получать с сервера + + + + + РучнаяНастройка + + ru + Ручная настройка + + + + diff --git "a/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\320\241\320\276\320\264\320\265\321\200\320\266\320\270\320\274\320\276\320\263\320\276\320\222\321\205\320\276\320\264\321\217\321\211\320\265\320\263\320\276\320\237\320\270\321\201\321\214\320\274\320\260/\320\222\320\270\320\264\320\241\320\276\320\264\320\265\321\200\320\266\320\270\320\274\320\276\320\263\320\276\320\222\321\205\320\276\320\264\321\217\321\211\320\265\320\263\320\276\320\237\320\270\321\201\321\214\320\274\320\260.mdo" "b/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\320\241\320\276\320\264\320\265\321\200\320\266\320\270\320\274\320\276\320\263\320\276\320\222\321\205\320\276\320\264\321\217\321\211\320\265\320\263\320\276\320\237\320\270\321\201\321\214\320\274\320\260/\320\222\320\270\320\264\320\241\320\276\320\264\320\265\321\200\320\266\320\270\320\274\320\276\320\263\320\276\320\222\321\205\320\276\320\264\321\217\321\211\320\265\320\263\320\276\320\237\320\270\321\201\321\214\320\274\320\260.mdo" new file mode 100644 index 000000000..af4885d6a --- /dev/null +++ "b/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\320\241\320\276\320\264\320\265\321\200\320\266\320\270\320\274\320\276\320\263\320\276\320\222\321\205\320\276\320\264\321\217\321\211\320\265\320\263\320\276\320\237\320\270\321\201\321\214\320\274\320\260/\320\222\320\270\320\264\320\241\320\276\320\264\320\265\321\200\320\266\320\270\320\274\320\276\320\263\320\276\320\222\321\205\320\276\320\264\321\217\321\211\320\265\320\263\320\276\320\237\320\270\321\201\321\214\320\274\320\260.mdo" @@ -0,0 +1,32 @@ + + + + + + + + ВидСодержимогоВходящегоПисьма + + ru + Вид содержимого входящего письма + + + true + BothWays + + Текст + + ru + Текст + + + + + HTML + + ru + HTML + + + + diff --git "a/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\321\213\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\222\320\270\320\264\321\213\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\321\213\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\222\320\270\320\264\321\213\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..401a1a129 --- /dev/null +++ "b/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\321\213\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\222\320\270\320\264\321\213\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\321\205\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" @@ -0,0 +1,44 @@ + + + + + + + + ВидыМобильныхОтчетов + + ru + Виды мобильных отчетов + + + + Use + Order + + + Use + + + + + + Use + Ref + + + Use + + + + + true + BothWays + + ОстаткиТоваровНаСкладах + + ru + Остатки товаров на складах + + + + diff --git "a/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\222\320\270\320\264\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\222\320\270\320\264\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" new file mode 100644 index 000000000..d2bbdd616 --- /dev/null +++ "b/fixtures/demo-configuration/src/Enums/\320\222\320\270\320\264\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\222\320\270\320\264\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" @@ -0,0 +1,32 @@ + + + + + + + + ВидыТоваров + + ru + Виды товаров + + + true + BothWays + + Товар + + ru + Товар + + + + + Услуга + + ru + Услуга + + + + diff --git "a/fixtures/demo-configuration/src/Enums/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Enums/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..59dd5b0b7 --- /dev/null +++ "b/fixtures/demo-configuration/src/Enums/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217/\320\230\321\201\320\277\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\321\214\320\237\321\200\320\276\320\262\320\260\320\271\320\264\320\265\321\200\320\223\320\265\320\276\320\277\320\276\320\267\320\270\321\206\320\270\320\276\320\275\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217.mdo" @@ -0,0 +1,60 @@ + + + + + + + + ИспользоватьПровайдерГеопозиционирования + + ru + Использовать провайдер геопозиционирования + + + + Use + Order + + + Use + + + + + + Use + Ref + + + Use + + + + + true + BothWays + + СамыйТочныйПровайдер + + ru + Самый точный провайдер + + + + + СамыйЭкономичныйПровайдер + + ru + Самый экономичный провайдер + + + + + ВыбиратьИзСписка + + ru + Выбирать из списка + + + + diff --git "a/fixtures/demo-configuration/src/Enums/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\265\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\265\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" "b/fixtures/demo-configuration/src/Enums/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\265\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\265\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" new file mode 100644 index 000000000..2470aa501 --- /dev/null +++ "b/fixtures/demo-configuration/src/Enums/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\265\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272/\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\320\265\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272.mdo" @@ -0,0 +1,52 @@ + + + + + + + + НазначениеХарактеристик + + ru + Назначение характеристик + + + + Use + Order + + + Use + + + + + + Use + Ref + + + Use + + + + + true + BothWays + + Товары + + ru + Товары + + + + + Контрагенты + + ru + Контрагенты + + + + diff --git "a/fixtures/demo-configuration/src/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" new file mode 100644 index 000000000..bc9f7f92c --- /dev/null +++ "b/fixtures/demo-configuration/src/Enums/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\272\320\260\320\267\320\276\320\262/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\320\227\320\260\320\272\320\260\320\267\320\276\320\262.mdo" @@ -0,0 +1,69 @@ + + + + + + + + СостоянияЗаказов + + ru + Состояния заказов + + + true + + Use + Order + + + Use + + + + + + Use + Ref + + + Use + + + + + true + BothWays + + Открыт + + ru + Открыт + + + + + ВРаботе + + ru + В работе + + + + + Выполнен + + ru + Выполнен + + + + + Закрыт + + ru + Закрыт + + + + diff --git "a/fixtures/demo-configuration/src/ExchangePlans/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265.mdo" "b/fixtures/demo-configuration/src/ExchangePlans/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265.mdo" new file mode 100644 index 000000000..90680147c --- /dev/null +++ "b/fixtures/demo-configuration/src/ExchangePlans/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265.mdo" @@ -0,0 +1,164 @@ + + + + + + + + + + Мобильные + + ru + Мобильные устройства + + + ExchangePlan.Мобильные.StandardAttribute.Description + ExchangePlan.Мобильные.StandardAttribute.Code + DontUse + + Use + ThisNode + + + Use + + + + + + Use + ReceivedNo + + + Use + + + + + + Use + SentNo + + + Use + + + + + + Use + Ref + + + Use + + + + + + Use + DeletionMark + + + Use + + + + + + Use + Description + + + ShowError + Use + + + + + + Use + Code + + + ShowError + Use + + + + + DontUse + Managed + Use + 10 + Variable + 25 + + Catalog.Встречи + Allow + + + Catalog.Контрагенты + Allow + + + Catalog.Пользователи + Allow + + + Catalog.Регионы + Allow + + + InformationRegister.КурсыВалют + Allow + + + Document.Заказ + Allow + + + Catalog.ХранимыеФайлы + Allow + + + Catalog.Товары + Allow + + + Catalog.Склады + Allow + + + Constant.УчетПоСкладам + Allow + + + Catalog.Организации + Allow + + + Catalog.ВидыЦен + Allow + + + InformationRegister.МобильныеОтчеты + Allow + + + InformationRegister.ЦеныТоваров + Allow + + + Catalog.Валюты + Allow + + + Constant.НомерПриложенияGoogleCloud + Allow + + AsDescription + InDialog + BothWays + diff --git "a/fixtures/demo-configuration/src/FilterCriteria/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\260/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\260.mdo" "b/fixtures/demo-configuration/src/FilterCriteria/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\260/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\260.mdo" new file mode 100644 index 000000000..e0dc38d36 --- /dev/null +++ "b/fixtures/demo-configuration/src/FilterCriteria/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\260/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\232\320\276\320\275\321\202\321\200\320\260\320\263\320\265\320\275\321\202\320\260.mdo" @@ -0,0 +1,29 @@ + + + + + + + ДокументыКонтрагента + + ru + Документы контрагента + + + + CatalogRef.Контрагенты + + true + Document.ПриходТовара.Attribute.Поставщик + Document.РасходТовара.Attribute.Покупатель + Document.Оплата.Attribute.Поставщик + Document.ПоступлениеДенег.Attribute.Покупатель + + ru + Документы + + + ru + Документы этого контрагента + + diff --git "a/fixtures/demo-configuration/src/FunctionalOptions/\320\222\320\260\320\273\321\216\321\202\320\275\321\213\320\271\320\243\321\207\320\265\321\202/\320\222\320\260\320\273\321\216\321\202\320\275\321\213\320\271\320\243\321\207\320\265\321\202.mdo" "b/fixtures/demo-configuration/src/FunctionalOptions/\320\222\320\260\320\273\321\216\321\202\320\275\321\213\320\271\320\243\321\207\320\265\321\202/\320\222\320\260\320\273\321\216\321\202\320\275\321\213\320\271\320\243\321\207\320\265\321\202.mdo" new file mode 100644 index 000000000..252c9052b --- /dev/null +++ "b/fixtures/demo-configuration/src/FunctionalOptions/\320\222\320\260\320\273\321\216\321\202\320\275\321\213\320\271\320\243\321\207\320\265\321\202/\320\222\320\260\320\273\321\216\321\202\320\275\321\213\320\271\320\243\321\207\320\265\321\202.mdo" @@ -0,0 +1,17 @@ + + + ВалютныйУчет + + ru + Валютный учет + + + Catalog.Организации.Attribute.ВалютныйУчет + Document.ПриходТовара.Attribute.Валюта + Document.РасходТовара.Attribute.Валюта + Document.Оплата.Attribute.Валюта + Document.ПоступлениеДенег.Attribute.Валюта + Catalog.Валюты + InformationRegister.КурсыВалют + Document.Заказ.Attribute.Валюта + diff --git "a/fixtures/demo-configuration/src/FunctionalOptions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" "b/fixtures/demo-configuration/src/FunctionalOptions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" new file mode 100644 index 000000000..2caf7e737 --- /dev/null +++ "b/fixtures/demo-configuration/src/FunctionalOptions/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\242\320\276\321\200\320\263\320\276\320\262\321\213\320\274\320\236\320\261\320\276\321\200\321\203\320\264\320\276\320\262\320\260\320\275\320\270\320\265\320\274.mdo" @@ -0,0 +1,14 @@ + + + РаботаСТорговымОборудованием + + ru + Работа с торговым оборудованием + + + Constant.РаботаСТорговымОборудованием + true + Catalog.НастройкиТорговогоОборудования + CommonCommand.УстановитьСканерШтрихкодов + CommonCommand.НастроитьСканерШтрихКодов + diff --git "a/fixtures/demo-configuration/src/FunctionalOptions/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274.mdo" "b/fixtures/demo-configuration/src/FunctionalOptions/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274.mdo" new file mode 100644 index 000000000..9e894fde5 --- /dev/null +++ "b/fixtures/demo-configuration/src/FunctionalOptions/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274/\320\243\321\207\320\265\321\202\320\237\320\276\320\241\320\272\320\273\320\260\320\264\320\260\320\274.mdo" @@ -0,0 +1,16 @@ + + + УчетПоСкладам + + ru + Учет по складам + + + Constant.УчетПоСкладам + true + Catalog.Склады + Document.ПриходТовара.Attribute.Склад + Document.РасходТовара.Attribute.Склад + AccumulationRegister.ТоварныеЗапасы.Dimension.Склад + Document.Заказ.Attribute.Склад + diff --git "a/fixtures/demo-configuration/src/FunctionalOptionsParameters/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\321\217/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/FunctionalOptionsParameters/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\321\217/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\321\217.mdo" new file mode 100644 index 000000000..183dc20cf --- /dev/null +++ "b/fixtures/demo-configuration/src/FunctionalOptionsParameters/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\321\217/\320\236\321\200\320\263\320\260\320\275\320\270\320\267\320\260\321\206\320\270\321\217.mdo" @@ -0,0 +1,10 @@ + + + Организация + + ru + Организация + + + Catalog.Организации + diff --git "a/fixtures/demo-configuration/src/HTTPServices/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Module.bsl" "b/fixtures/demo-configuration/src/HTTPServices/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Module.bsl" new file mode 100644 index 000000000..2446dceb0 --- /dev/null +++ "b/fixtures/demo-configuration/src/HTTPServices/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Module.bsl" @@ -0,0 +1,67 @@ + +Функция ВызовМетодаPOST(Запрос) + + Перем Ответ; + + + Артикул = Запрос.ПараметрыЗапроса.Получить("Article"); + Если Артикул = Неопределено Тогда + Ответ = Новый HTTPСервисОтвет(400); + Ответ.УстановитьТелоИзСтроки("Не задан параметр Article"); + Возврат Ответ; + КонецЕсли; + + Товар = ПолучитьТоварПоАртикулу(Артикул); + Если Товар = Неопределено Тогда + Ответ = Новый HTTPСервисОтвет(404); + Ответ.УстановитьТелоИзСтроки("Товар не найден"); + Возврат Ответ; + КонецЕсли; + + ИмяМетода = Запрос.ПараметрыURL["ИмяМетода"]; + + Если ИмяМетода = "SetDescription" Тогда + ТипСодержимого = Запрос.Заголовки.Получить("Content-Type"); + Если ТипСодержимого <> "text/html" И ТипСодержимого <> "text/plain" Тогда + // Сообщаем клиенту, что не поддерживаем такой тип содержимого + Ответ = Новый HTTPСервисОтвет(415); + Иначе + Товар.Описание = Запрос.ПолучитьТелоКакСтроку(); + Товар.Записать(); + Ответ = Новый HTTPСервисОтвет(204); + КонецЕсли; + ИначеЕсли ИмяМетода = "GetDescription" Тогда + Ответ = Новый HTTPСервисОтвет(200); + Ответ.УстановитьТелоИзСтроки(Товар.Описание); + Ответ.Заголовки["Content-Type"] = "text/html"; + Иначе + Ответ = Новый HTTPСервисОтвет(404); + Ответ.УстановитьТелоИзСтроки("Неизвестное имя метода"); + КонецЕсли; + + + Возврат Ответ; +КонецФункции + + + +Функция ПолучитьТоварПоАртикулу(Артикул) + + ТекстЗапроса = "ВЫБРАТЬ Ссылка + | ИЗ Справочник.Товары + | ГДЕ Артикул = &Артикул"; + + Запрос = Новый Запрос(ТекстЗапроса); + Запрос.УстановитьПараметр("Артикул", Артикул); + + Результат = Запрос.Выполнить(); + Выборка = Результат.Выбрать(); + + Если Выборка.Следующий() Тогда + Возврат Выборка.Ссылка.ПолучитьОбъект(); + Иначе + Возврат Неопределено; + КонецЕсли; + +КонецФункции + diff --git "a/fixtures/demo-configuration/src/HTTPServices/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/HTTPServices/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" new file mode 100644 index 000000000..8342bfd05 --- /dev/null +++ "b/fixtures/demo-configuration/src/HTTPServices/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\236\320\277\320\270\321\201\320\260\320\275\320\270\321\217\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" @@ -0,0 +1,30 @@ + + + ОписанияТоваров + + ru + Описания товаров + + + ProductDescriptions + 20 + + V1_ВызовМетода + + ru + V1 вызов метода + + + + + POST + + ru + POST + + + POST + ВызовМетодаPOST + + + diff --git "a/fixtures/demo-configuration/src/HTTPServices/\320\242\320\276\320\262\320\260\321\200\321\213/Module.bsl" "b/fixtures/demo-configuration/src/HTTPServices/\320\242\320\276\320\262\320\260\321\200\321\213/Module.bsl" new file mode 100644 index 000000000..1bf10a291 --- /dev/null +++ "b/fixtures/demo-configuration/src/HTTPServices/\320\242\320\276\320\262\320\260\321\200\321\213/Module.bsl" @@ -0,0 +1,216 @@ + +Функция ПутьКТоваруGET(Запрос) + + Перем Ответ, Выборка, СтрокаXML; + + Попытка + + Если Запрос.ПараметрыURL["*"] = "" Тогда + Выборка = ПолучитьТоварыПоКодуИРодителю(, Справочники.Товары.ПустаяСсылка()); + СтрокаXML = СоздатьXMLПоВыборке(Выборка); + Иначе + + Параметры = РазложитьСтрокуВМассивПодстрок(Запрос.ПараметрыURL["*"], "/"); + Родитель = Неопределено; + Для НомерЧастьПути = 0 По Параметры.Количество()-1 Цикл + Выборка + = ПолучитьТоварыПоКодуИРодителю(Параметры[НомерЧастьПути], Родитель); + + Если Выборка.Следующий() Тогда + //Дошли до последнего сегмента в пути. + // Отдельный товар выводим, группу раскрываем и выводим + Если НомерЧастьПути = Параметры.Количество()-1 Тогда + Если Выборка.ЭтоГруппа Тогда + Выборка = ПолучитьТоварыПоКодуИРодителю(,Выборка.ПолучитьОбъект().Ссылка); + СтрокаXML = СоздатьXMLПоВыборке(Выборка); + Иначе + СтрокаXML = СоздатьXMLПоЭлементу(Выборка.ПолучитьОбъект()); + КонецЕсли + Иначе + // Продолжаем движение по сегментам пути. + //Для группы получаем дочерние товары и группы + Если Выборка.ЭтоГруппа Тогда + Родитель = Выборка.Ссылка; + Иначе + Ответ = Новый HTTPСервисОтвет(400); + Ответ.УстановитьТелоИзСтроки( + "Элемент " + Параметры[НомерЧастьПути] + " не является группой" ); + Возврат Ответ; + КонецЕсли + КонецЕсли + Иначе + // Элемент (товар или группа) не найден + Ответ = Новый HTTPСервисОтвет(404); + Возврат Ответ; + КонецЕсли; + + КонецЦикла; + КонецЕсли; + + Ответ = Новый HTTPСервисОтвет(200); + Ответ.УстановитьТелоИзСтроки(СтрокаXML); + // Помогает клиенту понять, что же за данные к нему пришли + // Браузеры, например, применят удобный подсветку XML-синтаксиса + Ответ.Заголовки.Вставить("Content-type", "application/xml"); + + Исключение + // В диагностике ошибки хотим оставить только сообщение, + // без строки и модуля. + // Это не обязательно лучшая практика, во многих случаях + // вполне можно вернуть потребителю эту информацию. + Ответ = Новый HTTPСервисОтвет(500); + Информация = ИнформацияОбОшибке(); + Сообщение = Информация.Описание; + Если Информация.Причина <> Неопределено Тогда + Сообщение = Сообщение + ":" + Информация.Причина.Описание; + КонецЕсли; + Ответ.УстановитьТелоИзСтроки(Сообщение); + КонецПопытки; + + Возврат Ответ; + + + +КонецФункции + +Функция СоздатьXMLПоВыборке(Выборка) + + Перем ЕстьЕщеЭлементы, ЗаписьXML, Строка; + + ЗаписьXML = Новый ЗаписьXML(); + ЗаписьXML.УстановитьСтроку(); + ЗаписьXML.ЗаписатьОбъявлениеXML(); + ЗаписьXML.ЗаписатьНачалоЭлемента("Products"); + + ЕстьЕщеЭлементы = Выборка.Следующий(); + Пока ЕстьЕщеЭлементы Цикл + ЗаписатьXML(ЗаписьXML, Выборка.ПолучитьОбъект()); + ЕстьЕщеЭлементы = Выборка.Следующий(); + КонецЦикла; + + ЗаписьXML.ЗаписатьКонецЭлемента(); + Строка = ЗаписьXML.Закрыть(); + + Возврат Строка; + +КонецФункции + +Функция СоздатьXMLПоЭлементу(Элемент) + + ЗаписьXML = Новый ЗаписьXML(); + ЗаписьXML.УстановитьСтроку(); + ЗаписьXML.ЗаписатьОбъявлениеXML(); + ЗаписьXML.ЗаписатьНачалоЭлемента("Products"); + ЗаписатьXML(ЗаписьXML, Элемент); + ЗаписьXML.ЗаписатьКонецЭлемента(); + Строка = ЗаписьXML.Закрыть(); + Возврат Строка; + +КонецФункции + + +Функция ПолучитьТоварыПоКодуИРодителю(Код = "", Родитель = Неопределено) + + + Отбор = Новый Структура(); + Если Код <> "" Тогда + Отбор.Вставить("Код", Код); + КонецЕсли; + + Если Родитель <> Неопределено Тогда + Выборка = Справочники.Товары.Выбрать(Родитель,, Отбор); + Иначе + Выборка = Справочники.Товары.Выбрать(,, Отбор); + КонецЕсли; + + + Возврат Выборка; + +КонецФункции // ПолучитьТоварыПоИмениИРодителю() + +Функция РазложитьСтрокуВМассивПодстрок(Знач Стр,Разделитель = ",", УдалятьПустыеСтроки = Истина) Экспорт + + Массив = Новый Массив(); + ИзмененнаяСтрока = СтрЗаменить(Стр, Разделитель, Символы.ПС); + + Для Счетчик = 1 По СтрЧислоВхождений(ИзмененнаяСтрока, Символы.ПС)+1 Цикл + Строка = СтрПолучитьСтроку(ИзмененнаяСтрока, Счетчик); + Если Строка <> "" Тогда + Массив.Добавить(Строка); + КонецЕсли; + КонецЦикла; + + Возврат Массив; + +КонецФункции + +Функция ПутьКТоваруDELETE(Запрос) + + Перем Ответ, Выборка; + + Попытка + + Если Запрос.ПараметрыURL["*"] = "" Тогда + // Все товары удалять запретим + Ответ = Новый HTTPСервисОтвет(400); + Ответ.УстановитьТелоИзСтроки("Нельзя удалить все товары!"); + Возврат Ответ; + Иначе + + Параметры = РазложитьСтрокуВМассивПодстрок(Запрос.ПараметрыURL["*"], "/"); + Родитель = Неопределено; + Для НомерЧастьПути = 0 По Параметры.Количество()-1 Цикл + Выборка + = ПолучитьТоварыПоКодуИРодителю(Параметры[НомерЧастьПути], Родитель); + + Если Выборка.Следующий() Тогда + //Дошли до последнего сегмента в пути. + // Отдельный товар выводим, группу раскрываем и выводим + Если НомерЧастьПути = Параметры.Количество()-1 Тогда + Выборка.ПолучитьОбъект().УстановитьПометкуУдаления(Истина); + Если Выборка.ЭтоГруппа Тогда + ВыборкаДочерних = ПолучитьТоварыПоКодуИРодителю(,Выборка.ПолучитьОбъект().Ссылка); + ЕстьЕщеЭлементы = ВыборкаДочерних.Следующий(); + Пока ЕстьЕщеЭлементы Цикл + ВыборкаДочерних.ПолучитьОбъект().УстановитьПометкуУдаления(Истина); + ЕстьЕщеЭлементы = Выборка.Следующий(); + КонецЦикла; + КонецЕсли + Иначе + // Продолжаем движение по сегментам пути. + //Для группы получаем дочерние товары и группы + Если Выборка.ЭтоГруппа Тогда + Родитель = Выборка.Ссылка; + Иначе + Ответ = Новый HTTPСервисОтвет(400); + Ответ.УстановитьТелоИзСтроки( + "Элемент " + Параметры[НомерЧастьПути] + " не является группой" ); + Возврат Ответ; + КонецЕсли + КонецЕсли + Иначе + // Элемент (товар или группа) не найден + Ответ = Новый HTTPСервисОтвет(404); + Возврат Ответ; + КонецЕсли; + + КонецЦикла; + КонецЕсли; + + // Код ответа 204 - No Content + Ответ = Новый HTTPСервисОтвет(204); + + + Исключение + Ответ = Новый HTTPСервисОтвет(500); + Информация = ИнформацияОбОшибке(); + Сообщение = Информация.Описание; + Если Информация.Причина <> Неопределено Тогда + Сообщение = Сообщение + ":" + Информация.Причина.Описание; + КонецЕсли; + Ответ.УстановитьТелоИзСтроки(Сообщение); + КонецПопытки; + + Возврат Ответ; + +КонецФункции diff --git "a/fixtures/demo-configuration/src/HTTPServices/\320\242\320\276\320\262\320\260\321\200\321\213/\320\242\320\276\320\262\320\260\321\200\321\213.mdo" "b/fixtures/demo-configuration/src/HTTPServices/\320\242\320\276\320\262\320\260\321\200\321\213/\320\242\320\276\320\262\320\260\321\200\321\213.mdo" new file mode 100644 index 000000000..2f687c0c1 --- /dev/null +++ "b/fixtures/demo-configuration/src/HTTPServices/\320\242\320\276\320\262\320\260\321\200\321\213/\320\242\320\276\320\262\320\260\321\200\321\213.mdo" @@ -0,0 +1,39 @@ + + + Товары + + ru + Товары + + + Products + 20 + + ПутьКТовару + + ru + Путь к товару + + + + + GET + + ru + GET + + + ПутьКТоваруGET + + + DELETE + + ru + DELETE + + + DELETE + ПутьКТоваруDELETE + + + diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Form.form" "b/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Form.form" new file mode 100644 index 000000000..85422d8bd --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Forms/\320\242\320\265\320\272\321\203\321\211\320\270\320\265\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Form.form" @@ -0,0 +1,422 @@ + + + + Список + 1 + true + true + + true + + + Список + + true + false + None + + Валюта + 4 + + <key>ru</key> + <value>Валюта</value> + + true + true + + true + + + + Список.Валюта + + + true + + ВалютаExtendedTooltip + 14 + true + true + + true + + Label + true + true + + Left + + + + Валюта_КонтекстноеМеню + 5 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + + Курс + 6 + + <key>ru</key> + <value>Курс</value> + + true + true + + true + + + + Список.Курс + + + true + + КурсExtendedTooltip + 15 + true + true + + true + + Label + true + true + + Left + + + + Курс_КонтекстноеМеню + 7 + true + true + + true + + true + + LabelField + Enter + true + Left + true + + true + true + + + None + + Список_КоманднаяПанель + 3 + true + true + + true + + Left + true + + + true + true + + true + + СписокСтрокаПоиска + 16 + + СписокСтрокаПоискаРасширеннаяПодсказка + 18 + true + true + + true + + Label + true + true + + Left + + + + СписокСтрокаПоискаКонтекстноеМеню + 17 + true + true + + true + + true + + СписокСтрокаПоиска + + true + + + + true + true + + true + + СписокСостояниеПросмотра + 19 + + СписокСостояниеПросмотраРасширеннаяПодсказка + 21 + true + true + + true + + Label + true + true + + Left + + + + СписокСостояниеПросмотраКонтекстноеМеню + 20 + true + true + + true + + true + + ViewStatusAddition + СписокСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокУправлениеПоиском + 22 + + СписокУправлениеПоискомРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + СписокУправлениеПоискомКонтекстноеМеню + 23 + true + true + + true + + true + + SearchControlAddition + СписокУправлениеПоиском + + true + + + + СписокExtendedTooltip + 13 + true + true + + true + + Label + true + true + + Left + + + + Список_КонтекстноеМеню + 2 + true + true + + true + + true + + true + true + true + true + 10 + true + MultiRow +
true
+ 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + + Style.BorderColor + + None + None + None + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + +
+ + Форма_КоманднаяПанель + -1 + + Обновить + 8 + true + true + + true + + false + + ОбновитьExtendedTooltip + 11 + true + true + + true + + Label + true + true + + Left + + + Form.Item.Список.StandardCommand.Refresh + PictureAndText + false + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + КомандыСписка + 10 + true + true + + true + + + КомандыСпискаExtendedTooltip + 12 + true + true + + true + + Label + true + true + + Left + + + + Item.Список + + + true + true + + true + + Left + + true + true + Vertical + true + true + true + true + true + + Список + 1 + + DynamicList + + + true + + + true + +
true
+ + InformationRegister.КурсыВалют.SliceLast + true + true + true + +
+ + + + + +
diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Help/ru.html" "b/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Help/ru.html" new file mode 100644 index 000000000..7131e5c85 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/Help/ru.html" @@ -0,0 +1 @@ +В этом регистре находится информация об актуальных курсах валют. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202.mdo" "b/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202.mdo" new file mode 100644 index 000000000..6b70d794e --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202/\320\232\321\203\321\200\321\201\321\213\320\222\320\260\320\273\321\216\321\202.mdo" @@ -0,0 +1,157 @@ + + + + + + + + + + + + КурсыВалют + + ru + Курсы валют + + + Use + true + InDialog + + Use + Active + + + Use + + + + + + Use + LineNumber + + + Use + + + + + + Use + Recorder + + + Use + + + + + + Use + Period + + + ShowError + Use + + + + + Day + true + true + + + ru + + + + ru + Курс на дату + + + ru + Курс на дату + + + ru + Курсы валют + + + ru + Курсы, используемые при расчетах с контрагентами в валюте + + + Курс + + ru + Курс + + + + Number + + 10 + 2 + true + + + + ru + Курс валюты + + + + 1 + + + ShowError + DontUse + Use + Use + Use + + 0 + + + + Валюта + + ru + Валюта + + + + CatalogRef.Валюты + + + ru + Валюта + + + + + ShowError + true + Use + Use + true + + Catalog.Валюты.EmptyRef + + true + true + + + ТекущиеКурсыВалют + + ru + Текущие курсы валют + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213.mdo" "b/fixtures/demo-configuration/src/InformationRegisters/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213.mdo" new file mode 100644 index 000000000..821c9c9e3 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213/\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\265\320\236\321\202\321\207\320\265\321\202\321\213.mdo" @@ -0,0 +1,178 @@ + + + + + + + + + + + + МобильныеОтчеты + + ru + Мобильные отчеты + + + Use + InDialog + + Use + Active + + + Use + + + + + + Use + LineNumber + + + Use + + + + + + Use + Recorder + + + Use + + + + + + Use + Period + + + ShowError + Use + + + + + Managed + + Содержимое + + ru + Содержимое + + + + ValueStorage + + + + + Use + Use + + + + Настройки + + ru + Настройки + + + + String + + + + + + Use + Use + + + + + + ОбновлятьПриОбмене + + ru + Обновлять при обмене + + + + Boolean + + + + + Use + Use + true + + true + + + + ИнформацияРасшифровки + + ru + Информация расшифровки + + + + String + + + + + + Use + Use + + + + + + Вид + + ru + Вид + + + + EnumRef.ВидыМобильныхОтчетов + + + + + Use + Use + + true + + + Получатель + + ru + Получатель + + + + String + + 40 + + + + + + Use + Use + + true + + diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\222\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\222\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274.mdo" "b/fixtures/demo-configuration/src/InformationRegisters/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\222\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\222\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274.mdo" new file mode 100644 index 000000000..750e532a9 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\222\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\222\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274.mdo" @@ -0,0 +1,60 @@ + + + + + + + + + + + + СостояниеВходящихПисем + + ru + Состояние входящих писем + + + Use + InDialog + Managed + + Прочитано + + ru + Прочитано + + + + Boolean + + + + + Use + Use + + + + Письмо + + ru + Письмо + + + + CatalogRef.ВходящиеПисьма + + + + + ShowError + true + Use + Use + true + + true + true + + diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274.mdo" "b/fixtures/demo-configuration/src/InformationRegisters/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274.mdo" new file mode 100644 index 000000000..2386db281 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274/\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\265\320\230\321\201\321\205\320\276\320\264\321\217\321\211\320\270\321\205\320\237\320\270\321\201\320\265\320\274.mdo" @@ -0,0 +1,101 @@ + + + + + + + + + + + + СостояниеИсходящихПисем + + ru + Состояние исходящих писем + + + Use + InDialog + + Use + Active + + + Use + + + + + + Use + LineNumber + + + Use + + + + + + Use + Recorder + + + Use + + + + + + Use + Period + + + ShowError + Use + + + + + Managed + + Отправлено + + ru + Отправлено + + + + Boolean + + + + + Use + Use + + + + Письмо + + ru + Письмо + + + + CatalogRef.ИсходящиеПисьма + + + + + ShowError + true + Use + Use + true + + true + true + + diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Form.form" "b/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Form.form" new file mode 100644 index 000000000..bd4580d44 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\277\320\270\321\201\320\270/Form.form" @@ -0,0 +1,211 @@ + + + + Товар + 2 + true + true + + true + + + + Запись.Объект + + + + ТоварExtendedTooltip + 8 + true + true + + true + + Label + true + true + + Left + + + + Товар_КонтекстноеМеню + 5 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + ВидХарактеристики + 3 + true + true + + true + + + + Запись.ВидХарактеристики + + + + ВидХарактеристикиExtendedTooltip + 9 + true + true + + true + + Label + true + true + + Left + + + + ВидХарактеристики_КонтекстноеМеню + 6 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + + + Значение + 4 + true + true + + true + + + + Запись.Значение + + + + ЗначениеExtendedTooltip + 10 + true + true + + true + + Label + true + true + + Left + + + + Значение_КонтекстноеМеню + 7 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Владелец + + Запись.ВидХарактеристики + + + + Style.BorderColor + + + + Запись.ВидХарактеристики + + + + + + Форма_КоманднаяПанель + -1 + true + true + + true + + Left + true + + LockOwnerWindow + true + true + Vertical + true + true + true + true + true + + Запись + 1 + + InformationRegisterRecordManager.Характеристики + + + true + + + true + +
true
+
+ + + + +
diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/Help/ru.html" "b/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/Help/ru.html" new file mode 100644 index 000000000..a0c8dc0f8 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/Help/ru.html" @@ -0,0 +1 @@ +В этом регистре находится информация о различных характеристиках на товары предприятия. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270.mdo" "b/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270.mdo" new file mode 100644 index 000000000..3c4962913 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270.mdo" @@ -0,0 +1,181 @@ + + + + + + + + + + + + Характеристики + + ru + Характеристики + + + Use + true + BothWays + + Use + Active + + + Use + + + + + + Use + LineNumber + + + Use + + + + + + Use + Recorder + + + Use + + + + + + Use + Period + + + ShowError + Use + + + + + true + + + ru + + + + ru + Значение характеристики + + + ru + Характеристики + + + ru + Характеристики + + + ru + Дополнительные характеристики + + + Значение + + ru + Значение + + + + Characteristic.ВидыХарактеристик + + + ru + Значение характеристики товара + + + + + + Отбор.Владелец + InformationRegister.Характеристики.Dimension.ВидХарактеристики + + + InformationRegister.Характеристики.Dimension.ВидХарактеристики + + Use + Use + + + + Объект + + ru + Объект + + + + CatalogRef.Контрагенты + CatalogRef.Товары + + + ru + Товар + + + + + ShowError + true + Use + Use + true + + Catalog.Товары.EmptyRef + + true + true + + + ВидХарактеристики + + ru + Вид характеристики + + + + ChartOfCharacteristicTypesRef.ВидыХарактеристик + + + ru + Характеристика товара + + + + + ShowError + + ОбъектОтбораВидовХарактеристик + InformationRegister.Характеристики.Dimension.Объект + + true + Use + Use + + ChartOfCharacteristicTypes.ВидыХарактеристик.EmptyRef + + true + + + ФормаЗаписи + + ru + Форма записи + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" new file mode 100644 index 000000000..03868ea69 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" @@ -0,0 +1,2 @@ + +

В этом регистре представлена информация о различных ценах на товары предприятия.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" new file mode 100644 index 000000000..3deb618f1 --- /dev/null +++ "b/fixtures/demo-configuration/src/InformationRegisters/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\246\320\265\320\275\321\213\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" @@ -0,0 +1,166 @@ + + + + + + + + + + + + ЦеныТоваров + + ru + Цены товаров + + + Use + true + InDialog + + Use + Active + + + Use + + + + + + Use + LineNumber + + + Use + + + + + + Use + Recorder + + + Use + + + + + + Use + Period + + + ShowError + Use + + + + + Day + true + true + + + ru + + + true + + ru + Цена на дату + + + ru + Цены товаров + + + ru + Цены товаров и услуг + + + ru + Цены товаров и услуг + + + Цена + + ru + Цена + + + + Number + + 10 + 2 + true + + + + ru + Цена товара + + + + + DontUse + Use + Use + Use + + 0 + + + + Товар + + ru + Товар + + + + CatalogRef.Товары + + + ru + Товар + + + + + ShowError + true + Use + Use + true + + Catalog.Товары.EmptyRef + + true + true + + + ВидЦен + + ru + Вид цен + + + + CatalogRef.ВидыЦен + + + + + ShowError + Use + Use + + Catalog.ВидыЦен.EmptyRef + + true + + diff --git "a/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" "b/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" new file mode 100644 index 000000000..5c3f0e9fa --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Help/ru.html" @@ -0,0 +1 @@ +Этот отчет позволяет анализировать зависимость продаж одних товаров от других товаров \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" "b/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" new file mode 100644 index 000000000..f10588558 --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" @@ -0,0 +1,229 @@ + + + + ИсточникДанных1 + Local + + + НаборДанных1 + + Товар + Товар + + true + + + + КоличествоОборот + КоличествоОборот + + + Покупатель + Покупатель + + + Период + Период + + 1 + Main + + + ИсточникДанных1 + ВЫБРАТЬ + ПродажиОбороты.Период, + ПродажиОбороты.Товар, + ПродажиОбороты.КоличествоОборот +ИЗ + РегистрНакопления.Продажи.Обороты(, , День, ) КАК ПродажиОбороты + + + КоличествоОборот + Сумма(КоличествоОборот) + + + НачалоПериода + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Начало периода</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + 0001-01-01T00:00:00 + false + + + КонецПериода + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Конец периода</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + 0001-01-01T00:00:00 + false + + + СравниваемыйТовар + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Сравниваемый товар</v8:content> + </v8:item> + + + d4p1:CatalogRef.Товары + + + false + true + Always + + + Основной + Основной + + + + КоличествоОборот + + + + + OrGroup + + Товар + Equal + ПараметрыДанных.СравниваемыйТовар + + + Товар + InList + + -1 + + c448d545-266b-4682-a661-c0fb430ab616 + + + ru + Товары + + + + + + + + false + СравниваемыйТовар + + fd4b3896-8dd5-444b-94df-63f9cafe5306 + + + + + + + + + ЛинииТрендаВДиаграмме + + + + Solid + + true + true + + + auto + auto + + WithoutBorder + + auto + + + + + + + + + + + ТипДиаграммы + Scatter + + ТипДиаграммы.СерияНаОсиТочек + ПараметрыДанных.СравниваемыйТовар + + + ТипДиаграммы.ПалитраЦветов + Soft + + + + false + ВыводитьПараметрыДанных + DontOutput + + + ВыводитьОтбор + DontOutput + + + + + + + Период + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + + + Товар + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" new file mode 100644 index 000000000..1c513c2d6 --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262/\320\222\320\267\320\260\320\270\320\274\320\276\321\201\320\262\321\217\320\267\321\214\320\237\321\200\320\276\320\264\320\260\320\266\320\242\320\276\320\262\320\260\321\200\320\276\320\262.mdo" @@ -0,0 +1,30 @@ + + + + + + + ВзаимосвязьПродажТоваров + + ru + Взаимосвязь продаж товаров + + + true + Report.ВзаимосвязьПродажТоваров.Template.ОсновнаяСхемаКомпоновкиДанных + true + + + ru + + + + ОсновнаяСхемаКомпоновкиДанных + + ru + Основная схема компоновки данных + + + DataCompositionSchema + + diff --git "a/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/Help/ru.html" "b/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/Help/ru.html" new file mode 100644 index 000000000..8f89f8f00 --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/Help/ru.html" @@ -0,0 +1 @@ +Этот отчет позволяет проследить динамику продаж по товарам предприятия. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" "b/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" new file mode 100644 index 000000000..3938e64df --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" @@ -0,0 +1,543 @@ + + + + ИсточникДанных1 + Local + + + НаборДанных1 + + Период + Период + + 1 + Main + + + + Покупатель + Покупатель + + + СуммаОборот + СуммаОборот + + + Товар + Товар + + ИсточникДанных1 + ВЫБРАТЬ + ПродажиОбороты.СуммаОборот, + ПродажиОбороты.Период, + ПродажиОбороты.Покупатель, + ПродажиОбороты.Товар +ИЗ + РегистрНакопления.Продажи.Обороты(, , День, ) КАК ПродажиОбороты + + + СуммаОборот + Сумма(СуммаОборот) + + + НачалоПериода + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Начало периода</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + + true + &Период.ДатаНачала + + + КонецПериода + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Конец периода</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + + true + &Период.ДатаОкончания + + + Период + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Период</v8:content> + </v8:item> + + + v8:StandardPeriod + + + ThisYear + + false + + + ДиаграммаПоПериодам + + + ru + Диаграмма по периодам + + + + + + СуммаОборот + + + + + false + Покупатель + Equal + Справочник.Контрагенты.ПустаяСсылка + 984bc0af-8755-459d-b3ba-28e0f41ddb15 + + + false + Товар + Equal + Справочник.Товары.ПустаяСсылка + 39f6fc0e-a6b6-41f7-89fe-cb0b9e17d66c + + Normal + 55d3424a-5753-4379-99f1-4bd5cf8af806 + + + + false + НачалоПериода + + Custom + 0001-01-01T00:00:00 + + + + Период + + ThisYear + + 971f3f1d-b077-4616-bb86-bb8efb215b5a + + + + + Период + Asc + + + + + + + + + ЛинииТрендаВДиаграмме + + + + Solid + + #2D3AED + true + true + + + auto + auto + + WithoutBorder + + auto + + + + + + + МаркерВДиаграмме + None + + + + + + + ТипДиаграммы + Line + + ТипДиаграммы.РежимСглаживания + SmoothCurve + + + + + + + + Период + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + + + + + Формат + + + ru + ДФ=dd.MM.yyyy + + + + + + + + + + + + + + + ПродажиТоваровПоПокупателям + + + ru + Продажи товаров по покупателям + + + + + + СуммаОборот + + + + Normal + 0f3fa251-788a-40af-be94-91ae48093a64 + + + + false + НачалоПериода + + Custom + 0001-01-01T00:00:00 + + + + Период + + ThisYear + + a65b8d71-acb1-45ab-beb3-29e6dbee347b + + + + + Период + Asc + + Normal + cfd01a01-c2c0-429a-80ad-7094efcceb85 + + + Normal + 5dee628d-6f08-4aa2-8dad-9cff2035af13 + + + + ТипДиаграммы + Line + + + + + + Товар + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + + Покупатель + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + b1d3d9a1-9ccb-4fbd-9a90-010ec2f17e42 + + + + ДиаграммаПоПериодамВСравненииСЖелаемымУровнем + + + ru + Диаграмма по периодам в сравнении с желаемым уровнем + + + + + + СуммаОборот + + + + + false + Покупатель + Equal + Справочник.Контрагенты.ПустаяСсылка + 984bc0af-8755-459d-b3ba-28e0f41ddb15 + + + false + Товар + Equal + Справочник.Товары.ПустаяСсылка + 39f6fc0e-a6b6-41f7-89fe-cb0b9e17d66c + + Normal + 55d3424a-5753-4379-99f1-4bd5cf8af806 + + + + false + НачалоПериода + + Custom + 0001-01-01T00:00:00 + + + + Период + + ThisYear + + 971f3f1d-b077-4616-bb86-bb8efb215b5a + + + + + Период + Asc + + + + + + + + + МаркерВДиаграмме + None + + + + + + + ТипДиаграммы + Line + + ТипДиаграммы.РежимСглаживания + SmoothCurve + + + ТипДиаграммы.ИнформационныеИнтервалыЗначений + + + 0 + 10000 + + + + + auto + auto + + WithoutBorder + + auto + + #FF3800 + auto + 0.0 + 1.0 + false + false + + + 10000 + 20000 + + + + + auto + auto + + WithoutBorder + + auto + + #FFC700 + auto + 0.0 + 1.0 + false + false + + + 20000 + 100000 + + + # + Желаемый уровень продаж + + + + + LeftBottom + + auto + auto + + WithoutBorder + + auto + + #79FE00 + auto + 0.0 + 1.0 + false + false + + + + + ТипДиаграммы.ИнформационныеЛинииТочек + + + 2012-09-03T00:00:00 + + + # + Старт рекламной компании + + + + + + auto + auto + + WithoutBorder + + auto + + auto + false + + + + + + + + + + Период + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + + + + + Формат + + + ru + ДФ=dd.MM.yyyy + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266.mdo" "b/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266.mdo" new file mode 100644 index 000000000..9b71b34ec --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266/\320\224\320\270\320\275\320\260\320\274\320\270\320\272\320\260\320\237\321\200\320\276\320\264\320\260\320\266.mdo" @@ -0,0 +1,34 @@ + + + + + + + ДинамикаПродаж + + ru + Динамика продаж + + + true + Report.ДинамикаПродаж.Template.ОсновнаяСхемаКомпоновкиДанных + true + + + ru + + + + ru + Отчет по динамике продаж товаров (объемы продаж по периодам) + + + ОсновнаяСхемаКомпоновкиДанных + + ru + Основная схема компоновки данных + + + DataCompositionSchema + + diff --git "a/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/Help/ru.html" "b/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/Help/ru.html" new file mode 100644 index 000000000..40142b67c --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/Help/ru.html" @@ -0,0 +1,2 @@ + +

Отчет формирует документы по оплате на предприятии. С его помощью можно прослеживать и контролировать оплату за приобретенную продукцию.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" "b/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" new file mode 100644 index 000000000..22894b70e --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" @@ -0,0 +1,112 @@ + + + + ИсточникДанных1 + Local + + + НаборДанных1 + + Дата + Дата + + + ПометкаУдаления + ПометкаУдаления + + + Номер + Номер + + + Проведен + Проведен + + + Ссылка + Ссылка + + + Валюта + Валюта + + + Поставщик + Поставщик + + + РасчетныйСчет + РасчетныйСчет + + + РасчетныйСчетПоставщика + РасчетныйСчетПоставщика + + + Сумма + Сумма + + ИсточникДанных1 + ВЫБРАТЬ + Оплата.Ссылка, + Оплата.ПометкаУдаления, + Оплата.Номер, + Оплата.Дата, + Оплата.Проведен, + Оплата.Поставщик, + Оплата.РасчетныйСчетПоставщика, + Оплата.РасчетныйСчет, + Оплата.Валюта, + Оплата.Сумма +ИЗ + Документ.Оплата КАК Оплата + + + Основной + Основной + + + + Дата + + + Номер + + + Поставщик + + + РасчетныйСчетПоставщика + + + Сумма + + + + + false + Поставщик + Equal + Справочник.Контрагенты.ПустаяСсылка + 24bc68b4-973a-4827-95bc-86c17b45e4be + + + false + РасчетныйСчетПоставщика + Equal + Справочник.РасчетныеСчетаКонтрагентов.ПустаяСсылка + 6c14d314-61d5-4ea1-a685-3c99f9dfe564 + + d1e8efb5-cfc5-4bf2-a291-ae5c6afd2965 + + + + + + + + + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260.mdo" "b/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260.mdo" new file mode 100644 index 000000000..4cdcd6521 --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260/\320\224\320\276\320\272\321\203\320\274\320\265\320\275\321\202\321\213\320\236\320\277\320\273\320\260\321\202\320\260.mdo" @@ -0,0 +1,30 @@ + + + + + + + ДокументыОплата + + ru + Отчет по оплатам + + + true + Report.ДокументыОплата.Template.ОсновнаяСхемаКомпоновкиДанных + true + + + ru + + + + ОсновнаяСхемаКомпоновкиДанных + + ru + Основная схема компоновки данных + + + DataCompositionSchema + + diff --git "a/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Commands/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\237\320\276\320\241\320\272\320\273\320\260\320\264\321\203/CommandModule.bsl" "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Commands/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\237\320\276\320\241\320\272\320\273\320\260\320\264\321\203/CommandModule.bsl" new file mode 100644 index 000000000..f121cd1bd --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Commands/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\237\320\276\320\241\320\272\320\273\320\260\320\264\321\203/CommandModule.bsl" @@ -0,0 +1,8 @@ + +&НаКлиенте +Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) + + ПараметрыФормы = Новый Структура("Отбор,КлючНазначенияИспользования,СформироватьПриОткрытии", Новый Структура("Склад", ПараметрКоманды), "ОстаткиПоСкладу", Истина); + ОткрытьФорму("Отчет.ОстаткиТоваровНаСкладах.Форма", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно); + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Help/ru.html" "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Help/ru.html" new file mode 100644 index 000000000..683e5f04b --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Help/ru.html" @@ -0,0 +1 @@ +Этот отчет информирует вас об остатках товаров на складах предприятия. С его помощью можно контролировать остатки товаров на складах и вовремя пополнять запасы. \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" new file mode 100644 index 000000000..31c8459b7 --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" @@ -0,0 +1,202 @@ + + + + ИсточникДанных1 + Local + + + НаборДанных1 + + КоличествоОстаток + КоличествоОстаток + + + Склад + Склад + + true + + + + Товар + Товар + + true + + + ИсточникДанных1 + ВЫБРАТЬ + ТоварныеЗапасыОстатки.Товар, + ТоварныеЗапасыОстатки.Склад, + ТоварныеЗапасыОстатки.КоличествоОстаток +ИЗ + РегистрНакопления.ТоварныеЗапасы.Остатки КАК ТоварныеЗапасыОстатки + + + КоличествоОстаток + Сумма(КоличествоОстаток) + + + Период + Период + + xs:dateTime + + DateTime + + + + false + + + Основной + Основной + + + + КоличествоОстаток + + + Склад + + + Товар + + + + + false + Товар + Equal + Справочник.Товары.ПустаяСсылка + c8f51e23-7c5c-4375-8ee2-5a5e9adcb951 + + + false + Склад + Equal + Справочник.Склады.ПустаяСсылка + 3b9bdd51-85ab-41fb-a348-83d02ddddc88 + + Normal + f93843d0-b93d-47c7-90b4-8a3a464a90bd + + + + false + Период + + Custom + 0001-01-01T00:00:00 + + Normal + af7fd334-6f69-4a84-91c3-5d78e89b8331 + Дата остатков + + + + + Товар + Asc + + + Склад + Asc + + Normal + d0dc2c15-a477-42b9-9dc4-2613fd09f13d + + + + + + КоличествоОстаток + + + + + КоличествоОстаток + Less + 0 + + + + + ЦветТекста + #FF0000 + + + + Normal + 0b74ae3f-7b84-4885-ac11-0e4c2765dfa4 + + + + false + МакетОформления + Основной + + + ТипДиаграммы + Column3D + + ТипДиаграммы.ВидПодписей + SeriesPercent + + + ТипДиаграммы.АвтоРаздвижениеСерий + All + + + ТипДиаграммы.РасположениеЛегенды + None + + + + + + + + Склад + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + Normal + + + + + + + + 15aceb25-fedc-4dea-ac2c-85373dafb7db + Разворот по складу + + + + + Товар + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Templates/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\273\321\217\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\236\321\202\321\207\320\265\321\202\320\260/Template.dcsat" "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Templates/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\273\321\217\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\236\321\202\321\207\320\265\321\202\320\260/Template.dcsat" new file mode 100644 index 000000000..120bb073d --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/Templates/\320\236\321\204\320\276\321\200\320\274\320\273\320\265\320\275\320\270\320\265\320\224\320\273\321\217\320\234\320\276\320\261\320\270\320\273\321\214\320\275\320\276\320\263\320\276\320\236\321\202\321\207\320\265\321\202\320\260/Template.dcsat" @@ -0,0 +1,1355 @@ + + + + ЗаголовокГруппировки + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + ПодвалГруппировки + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + ЗаголовокИерархическойГруппировки + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + ПодвалИерархическойГруппировки + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + ЗаголовокГруппировкиСписка + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + Шрифт + + + + + + + + ПодвалГруппировкиСписка + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + Шрифт + + + + + + + + ЗаголовокИерархическойГруппировкиСписка + + + 1 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 2 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 3 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + + + ПодвалИерархическойГруппировкиСписка + + + 1 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 2 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 3 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + + + ЗаголовокГруппировкиКолонки + + + 0 + + + ЦветФона + #FAFAFA + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + РежимИзмененияРазмераКолонки + QuickChange + + + + + + + ПодвалГруппировкиКолонки + + + 0 + + + ЦветФона + #FAFAFA + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + РежимИзмененияРазмераКолонки + QuickChange + + + + + + + ЗаголовокИерархическойГруппировкиКолонки + + + 0 + + + ЦветФона + #FAFAFA + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + РежимИзмененияРазмераКолонки + QuickChange + + + + + + + ПодвалИерархическойГруппировкиКолонки + + + 0 + + + ЦветФона + #FAFAFA + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + РежимИзмененияРазмераКолонки + QuickChange + + + + + + + ДетальныеЗаписи + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + + + РесурсыЗаголовкаГруппировки + + + 1 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + РесурсыПодвалаГруппировки + + + 1 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + РесурсыЗаголовкаИерархическойГруппировки + + + 1 + + + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + ВертикальноеПоложение + Center + + + МинимальнаяВысота + 0 + + + + + + + РесурсыПодвалаИерархическойГруппировки + + + 1 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + РесурсыДетальныхЗаписей + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + + + ИтогПоРесурсамЗаголовкаГруппировки + + + 1 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + ИтогПоРесурсамПодвалаГруппировки + + + 1 + + + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + ИтогПоРесурсамЗаголовкаИерархическойГруппировки + + + 1 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + ИтогПоРесурсамПодвалаИерархическойГруппировки + + + 1 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + + + + + false + ИтогПоРесурсамДетальныхЗаписей + + + 0 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + + + ОбщиеИтогиПоВертикали + + + 1 + + + ЦветФона + #D9D9D9 + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + 2 + + + false + ЦветФона + auto + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + + + + + ОбщиеИтогиПоВертикалиСписка + + + 1 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 2 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 3 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + + + ЗаголовокТаблицы + + + 0 + + + ЦветФона + #FAFAFA + + + ЦветТекста + #4D4D4D + + + ЦветГраницы + #E6E6E6 + + + СтильГраницы + + Solid + + + + Шрифт + + + + РежимИзмененияРазмераКолонки + QuickChange + + + + + + + ПоУмолчанию + + + + Заголовок + + + 1 + + + ЦветТекста + #009646 + + + Шрифт + + + + + + 2 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 0 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + 3 + + + Шрифт + + + + + + + + Информация + + + 0 + + + ЦветТекста + #4D4D4D + + + Шрифт + + + + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205.mdo" "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205.mdo" new file mode 100644 index 000000000..76e18df95 --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205/\320\236\321\201\321\202\320\260\321\202\320\272\320\270\320\242\320\276\320\262\320\260\321\200\320\276\320\262\320\235\320\260\320\241\320\272\320\273\320\260\320\264\320\260\321\205.mdo" @@ -0,0 +1,58 @@ + + + + + + + ОстаткиТоваровНаСкладах + + ru + Остатки товаров + + + true + Report.ОстаткиТоваровНаСкладах.Template.ОсновнаяСхемаКомпоновкиДанных + true + + + ru + + + + ru + Отчет по остаткам товаров на складах + + + ОсновнаяСхемаКомпоновкиДанных + + ru + Основная схема компоновки данных + + + DataCompositionSchema + + + ОформлениеДляМобильногоОтчета + + ru + Оформление для мобильного отчета + + + DataCompositionAppearanceTemplate + + + ОстаткиПоСкладу + + ru + Остатки по складу + + + FormCommandBarImportant + + CatalogRef.Склады + + Multiple + Auto + + + diff --git "a/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/Help/ru.html" "b/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/Help/ru.html" new file mode 100644 index 000000000..110ea5c1a --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/Help/ru.html" @@ -0,0 +1,2 @@ + +

Этот отчет позволяет контролировать взаиморасчеты на предприятии. С его помощью можно прослеживать и контролировать дебиторскую и кредиторскую задолженности.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" "b/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" new file mode 100644 index 000000000..bf0ca18c1 --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/Templates/\320\236\321\201\320\275\320\276\320\262\320\275\320\260\321\217\320\241\321\205\320\265\320\274\320\260\320\232\320\276\320\274\320\277\320\276\320\275\320\276\320\262\320\272\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Template.dcs" @@ -0,0 +1,381 @@ + + + + ИсточникДанных1 + Local + + + НаборДанных1 + + Валюта + Валюта + + true + + + + Контрагент + Контрагент + + true + + + + СуммаКонечныйОстаток + СуммаКонечныйОстаток + + true + Сумма + ClosingBalance + + + + СуммаРасход + СуммаРасход + + + СуммаНачальныйОстаток + СуммаНачальныйОстаток + + true + Сумма + OpeningBalance + + + + СуммаПриход + СуммаПриход + + + СуммаОборот + СуммаОборот + + + ПериодДень + ПериодДень + + 5 + Additional + + + + ПериодПолугодие + ПериодПолугодие + + 10 + Additional + + + + ПериодЧас + ПериодЧас + + 4 + Additional + + + + ПериодМинута + ПериодМинута + + 3 + Additional + + + + ПериодМесяц + ПериодМесяц + + 8 + Additional + + + + ПериодКвартал + ПериодКвартал + + 9 + Additional + + + + Регистратор + Регистратор + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Документ</v8:content> + </v8:item> + + + 1 + Main + + + + ПериодСекунда + ПериодСекунда + + 2 + Main + + + + ПериодДекада + ПериодДекада + + 7 + Additional + + + + ПериодНеделя + ПериодНеделя + + 6 + Additional + + + + ПериодГод + ПериодГод + + 11 + Additional + + + ИсточникДанных1 + ВЫБРАТЬ + ВзаиморасчетыОстаткиИОбороты.Контрагент, + ВзаиморасчетыОстаткиИОбороты.Валюта, + ВзаиморасчетыОстаткиИОбороты.СуммаНачальныйОстаток, + ВзаиморасчетыОстаткиИОбороты.СуммаКонечныйОстаток, + ВзаиморасчетыОстаткиИОбороты.СуммаОборот, + ВзаиморасчетыОстаткиИОбороты.СуммаПриход, + ВзаиморасчетыОстаткиИОбороты.СуммаРасход, + ВзаиморасчетыОстаткиИОбороты.Регистратор, + ВзаиморасчетыОстаткиИОбороты.ПериодСекунда, + ВзаиморасчетыОстаткиИОбороты.ПериодМинута, + ВзаиморасчетыОстаткиИОбороты.ПериодЧас, + ВзаиморасчетыОстаткиИОбороты.ПериодДень, + ВзаиморасчетыОстаткиИОбороты.ПериодНеделя, + ВзаиморасчетыОстаткиИОбороты.ПериодДекада, + ВзаиморасчетыОстаткиИОбороты.ПериодМесяц, + ВзаиморасчетыОстаткиИОбороты.ПериодКвартал, + ВзаиморасчетыОстаткиИОбороты.ПериодПолугодие, + ВзаиморасчетыОстаткиИОбороты.ПериодГод +ИЗ + РегистрНакопления.Взаиморасчеты.ОстаткиИОбороты(, , Авто, , ) КАК ВзаиморасчетыОстаткиИОбороты + + + СуммаКонечныйОстаток + Сумма(СуммаКонечныйОстаток) + + + СуммаНачальныйОстаток + Сумма(СуммаНачальныйОстаток) + + + СуммаОборот + Сумма(СуммаОборот) + + + СуммаПриход + Сумма(СуммаПриход) + + + СуммаРасход + Сумма(СуммаРасход) + + + НачалоПериода + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Начало периода</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + + true + &Период.ДатаНачала + + + КонецПериода + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Конец периода</v8:content> + </v8:item> + + + xs:dateTime + + DateTime + + + + true + &Период.ДатаОкончания + + + Период + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Период</v8:content> + </v8:item> + + + v8:StandardPeriod + + + ThisMonth + + false + + + Основной + Основной + + + + Контрагент + + + СуммаНачальныйОстаток + + + СуммаПриход + + + СуммаРасход + + + СуммаКонечныйОстаток + + + Регистратор + + Normal + d62f5b54-9e39-416a-87fa-0aec409ec991 + + + + false + Контрагент + Equal + Справочник.Контрагенты.ПустаяСсылка + 5c7cb6a2-3af9-4efc-b20e-c9b98682adce + + Normal + 9e8a1a91-598e-458d-a182-ce53f012caf6 + + + + Период + + ThisMonth + + 917a975b-ef05-402b-b34b-21b15e31cb8f + + + + Normal + cbc6ec0e-4db7-448b-9da4-e27eeacf6e9a + + + Normal + 7b81b967-cc1d-4339-b019-fef36ad83598 + + + + + + Валюта + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + РасположениеОбщихИтогов + None + + + + + + + Контрагент + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + + + + + + + Регистратор + Items + None + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + Регистратор + NotEqual + + + + + ПериодСекунда + Asc + + + Регистратор + Asc + + + + + + + + + ВыводитьОтбор + DontOutput + + + + + Normal + 22089c44-c42e-4f9e-bcf2-08d5e86b4dec + Normal + 52767b57-e9e9-4f65-aca2-5306b930dba8 + + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274.mdo" "b/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274.mdo" new file mode 100644 index 000000000..53c86d12d --- /dev/null +++ "b/fixtures/demo-configuration/src/Reports/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274/\320\236\321\202\321\207\320\265\321\202\320\237\320\276\320\222\320\267\320\260\320\270\320\274\320\276\321\200\320\260\321\201\321\207\320\265\321\202\320\260\320\274.mdo" @@ -0,0 +1,38 @@ + + + + + + + ОтчетПоВзаиморасчетам + + ru + Отчет по взаиморасчетам + + + true + Report.ОтчетПоВзаиморасчетам.Template.ОсновнаяСхемаКомпоновкиДанных + true + + + ru + + + + ru + Взаиморасчеты + + + ru + Отчет по взаиморасчетам с контрагентами + + + ОсновнаяСхемаКомпоновкиДанных + + ru + Основная схема компоновки данных + + + DataCompositionSchema + + diff --git "a/fixtures/demo-configuration/src/Roles/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200/Rights.rights" "b/fixtures/demo-configuration/src/Roles/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200/Rights.rights" new file mode 100644 index 000000000..b3acb58fa --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200/Rights.rights" @@ -0,0 +1,6 @@ + + + true + true + true + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Roles/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200.mdo" "b/fixtures/demo-configuration/src/Roles/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200.mdo" new file mode 100644 index 000000000..1df08d49e --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200/\320\220\320\264\320\274\320\270\320\275\320\270\321\201\321\202\321\200\320\260\321\202\320\276\321\200.mdo" @@ -0,0 +1,9 @@ + + + Администратор + + ru + Администратор + + + diff --git "a/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274/Rights.rights" "b/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274/Rights.rights" new file mode 100644 index 000000000..c0d7a16b3 --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274/Rights.rights" @@ -0,0 +1,3335 @@ + + + false + true + true + + Catalog.Встречи + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + ExchangePlan.Мобильные + + Read + true + + + View + true + + + + Subsystem.Финансы + + View + true + + + + Catalog.РасчетныеСчета + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.РасходТовара.Attribute.Склад + + Edit + false + + + + Catalog.Контрагенты + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ТолькоЗащищеннаяАутентификацияSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.Предприятие + + View + true + + + + DataProcessor.ЭлектроннаяПочта + + Use + true + + + View + true + + + + Constant.ТаймаутИнтернетПочты + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + ChartOfCharacteristicTypes.ВидыХарактеристик + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + + Constant.ПортSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Document.РасходТовара.TabularSection.Товары.Attribute.Цена + + Edit + false + + + + Document.ПоступлениеДенег.Attribute.РасчетныйСчет + + Edit + false + + + + Constant.ИспользоватьAPNS + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ИспользоватьGCM + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Пользователи + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.ПочтовыеВложения + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.Характеристики + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.НастройкиТорговогоОборудования + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ПоступлениеДенег.Attribute.Покупатель + + Edit + false + + + + Catalog.Регионы + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ПортIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + CommonForm.ФормаПодбора + + View + true + + + + Report.ОтчетПоВзаиморасчетам + + Use + true + + + View + true + + + + Constant.СертификатМобильногоПриложенияIOS + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Document.РасходТовара.TabularSection.Товары.Attribute.Сумма + + Edit + false + + + + Document.РасходТовара.Attribute.ОбоснованиеОтгрузки + + Edit + false + + + + AccumulationRegister.ТоварныеЗапасы + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + TotalsControl + true + + + + Constant.ПользовательSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.ХранилищеВариантовОтчетов + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ТолькоЗащищеннаяАутентификацияIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + CommonCommand.УстановитьРасширениеРаботыСФайлами + + View + true + + + + InformationRegister.КурсыВалют + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.Заказ + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ПриходТовара + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.SSLSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.ИсходящиеПисьма + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.SSLIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Document.ПоступлениеДенег.Attribute.Сумма + + Edit + false + + + + Catalog.Банки + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ИспользоватьPushУведомления + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.ХранимыеФайлы + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.КодНовогоУзлаПланаОбмена + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Товары + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.РасходТовара.Attribute.ВидЦен + + Edit + false + + + + Constant.SSLPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.ТоварныеЗапасы.Subsystem.Характеристики + + View + true + + + + Catalog.Товары.Command.ПечатьШтрихкода + + View + true + + + + Constant.ПользовательPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Склады + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ИспользоватьIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.АдресSMTPСервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.ТоварныеЗапасы + + View + true + + + + Catalog.Встречи.Command.ОткрытьКалендарь + + View + true + + + + Document.Оплата + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.РасходТовара.Attribute.Покупатель + + Edit + false + + + + CommonForm.НастройкаПочты + + View + true + + + + Catalog.МобильныеУстройства + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + + Constant.ТолькоЗащищеннаяАутентификацияPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ИмяОтправителяПочтовогоСообщения + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + DataProcessor.Путеводитель + + Use + true + + + View + true + + + + Catalog.ХранилищеВариантовОтчетов.Command.ОткрытьОтчет + + View + true + + + + Constant.ПарольPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Организации + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.ВидыЦен + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.МобильныеОтчеты + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + SessionParameter.ТекущийПользователь + + Get + true + + + + DataProcessor.Путеводитель.Command.ПутеводительПоКонфигурации + + View + true + + + + Constant.ЛогинСервисаПередачиPushУведомлений + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Document.РасходТовара.Attribute.Валюта + + Edit + false + + + + Constant.ПарольIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + InformationRegister.ЦеныТоваров + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.ВходящиеПисьма + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Configuration.ДемонстрационноеПриложение + + UpdateDataBaseConfiguration + true + + + ExclusiveMode + true + + + ActiveUsers + true + + + EventLog + true + + + ThinClient + true + + + WebClient + true + + + MobileClient + true + + + ThickClient + true + + + ExternalConnection + true + + + Automation + true + + + SaveUserData + true + + + InteractiveOpenExtDataProcessors + true + + + InteractiveOpenExtReports + true + + + Output + true + + + + Constant.КлючCервераОтправителяGCM + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Document.РасходТовара.TabularSection.Товары.Attribute.Товар + + Edit + false + + + + Document.РасходТовара.TabularSection.Товары.Attribute.Количество + + Edit + false + + + + AccumulationRegister.Взаиморасчеты + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + TotalsControl + true + + + + Document.ПоступлениеДенег.Attribute.Валюта + + Edit + false + + + + Document.РасходТовара + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ОперацияПоУчетуТоваров + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.АдресPOP3Сервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + FilterCriterion.ДокументыКонтрагента + + View + true + + + + Catalog.Валюты + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.АдресIMAPСервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.НомерПриложенияGoogleCloud + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + CommonCommand.НастроитьСканерШтрихКодов + + View + true + + + + Subsystem.Финансы.Subsystem.Банк + + View + true + + + + Catalog.ЗначенияХарактеристик + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Report.ОстаткиТоваровНаСкладах + + Use + true + + + View + true + + + + Constant.ПарольSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ПользовательIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + DocumentJournal.ФинансовыеДокументы + + Read + true + + + View + true + + + + CommonCommand.УстановитьСканерШтрихкодов + + View + true + + + + Document.ПоступлениеДенег.Attribute.РасчетныйСчетПокупателя + + Edit + false + + + + Subsystem.Закупки + + View + true + + + + DataProcessor.НастройкиПользователя + + Use + true + + + View + true + + + + InformationRegister.СостояниеВходящихПисем + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.СостояниеИсходящихПисем + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.РасчетныеСчетаКонтрагентов + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ПоступлениеДенег + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ПортPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274.mdo" "b/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274.mdo" new file mode 100644 index 000000000..a4ff45da2 --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\227\320\260\320\272\321\203\320\277\320\272\320\260\320\274.mdo" @@ -0,0 +1,9 @@ + + + МенеджерПоЗакупкам + + ru + Менеджер по закупкам + + + diff --git "a/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274/Rights.rights" "b/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274/Rights.rights" new file mode 100644 index 000000000..27b5b6cce --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274/Rights.rights" @@ -0,0 +1,3439 @@ + + + false + true + true + + Catalog.Встречи + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + ExchangePlan.Мобильные + + Read + true + + + Update + true + + + + Subsystem.Финансы + + View + true + + + + Catalog.РасчетныеСчета + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ПриходТовара.TabularSection.Товары.Attribute.Товар + + Edit + false + + + + Catalog.Контрагенты + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ПриходТовара.TabularSection.Товары.Attribute.Количество + + Edit + false + + + + Constant.ТолькоЗащищеннаяАутентификацияSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.Предприятие + + View + true + + + + DataProcessor.ЭлектроннаяПочта + + Use + true + + + View + true + + + + Constant.ТаймаутИнтернетПочты + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + ChartOfCharacteristicTypes.ВидыХарактеристик + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + + WebService.MAExchange.Operation.НовыйИдентификаторПодписчикаУведомлений + + Use + true + + + + Constant.ПортSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ИспользоватьAPNS + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ИспользоватьGCM + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Пользователи + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + AccumulationRegister.Продажи + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + TotalsControl + true + + + + Document.Оплата.Attribute.Поставщик + + Edit + false + + + + Catalog.ПочтовыеВложения + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.Характеристики + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.НастройкиТорговогоОборудования + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.Регионы + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ПортIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + CommonForm.ФормаПодбора + + View + true + + + + Report.ОтчетПоВзаиморасчетам + + Use + true + + + View + true + + + + Constant.СертификатМобильногоПриложенияIOS + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.ТоварныеЗапасы.Subsystem.Цены + + View + true + + + + AccumulationRegister.ТоварныеЗапасы + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + TotalsControl + true + + + + Constant.ПользовательSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.ХранилищеВариантовОтчетов + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + DocumentJournal.ДокументыПродаж + + Read + true + + + View + true + + + + Constant.ТолькоЗащищеннаяАутентификацияIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + CommonCommand.УстановитьРасширениеРаботыСФайлами + + View + true + + + + InformationRegister.КурсыВалют + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.Заказ + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ПриходТовара + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.SSLSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Document.Оплата.Attribute.Валюта + + Edit + false + + + + Catalog.ИсходящиеПисьма + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.SSLIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Document.ПриходТовара.Attribute.Склад + + Edit + false + + + + Catalog.Банки + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ИспользоватьPushУведомления + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.ХранимыеФайлы + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.РасходТовара.Command.ПечатьРасходнойНакладной + + View + true + + + + Constant.КодНовогоУзлаПланаОбмена + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Товары + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.SSLPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.ТоварныеЗапасы.Subsystem.Характеристики + + View + true + + + + Document.ПриходТовара.Attribute.Поставщик + + Edit + false + + + + Constant.ПользовательPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Склады + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ИспользоватьIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.АдресSMTPСервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.ТоварныеЗапасы + + View + true + + + + Catalog.Встречи.Command.ОткрытьКалендарь + + View + true + + + + Document.Оплата + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.УчетПоСкладам + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + CommonForm.НастройкаПочты + + View + true + + + + Catalog.МобильныеУстройства + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + + Constant.ТолькоЗащищеннаяАутентификацияPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ИмяОтправителяПочтовогоСообщения + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + DataProcessor.Путеводитель + + Use + true + + + View + true + + + + Catalog.ХранилищеВариантовОтчетов.Command.ОткрытьОтчет + + View + true + + + + Subsystem.Продажи + + View + true + + + + Document.ПриходТовара.TabularSection.Товары.Attribute.Сумма + + Edit + false + + + + Constant.ПарольPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Report.ДинамикаПродаж + + Use + true + + + View + true + + + + Document.Оплата.Attribute.Сумма + + Edit + false + + + + Catalog.Организации + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + WebService.MAExchange.Operation.ЗаписатьДанные + + Use + true + + + + Catalog.ВидыЦен + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.МобильныеОтчеты + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + SessionParameter.ТекущийПользователь + + Get + true + + + + DataProcessor.Путеводитель.Command.ПутеводительПоКонфигурации + + View + true + + + + Constant.ЛогинСервисаПередачиPushУведомлений + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ПарольIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + InformationRegister.ЦеныТоваров + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.ВходящиеПисьма + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ПриходТовара.TabularSection.Товары.Attribute.Цена + + Edit + false + + + + WebService.MAExchange.Operation.НачатьОбмен + + Use + true + + + + Configuration.ДемонстрационноеПриложение + + UpdateDataBaseConfiguration + true + + + ExclusiveMode + true + + + ActiveUsers + true + + + EventLog + true + + + ThinClient + true + + + WebClient + true + + + MobileClient + true + + + ThickClient + true + + + ExternalConnection + true + + + Automation + true + + + SaveUserData + true + + + InteractiveOpenExtDataProcessors + true + + + InteractiveOpenExtReports + true + + + Output + true + + + + Constant.КлючCервераОтправителяGCM + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + AccumulationRegister.Взаиморасчеты + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + TotalsControl + true + + + + Catalog.Товары.Attribute.Поставщик + + Edit + false + + + + Document.РасходТовара + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ОперацияПоУчетуТоваров + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.Оплата.Attribute.РасчетныйСчетПоставщика + + Edit + false + + + + Constant.АдресPOP3Сервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + FilterCriterion.ДокументыКонтрагента + + View + true + + + + Catalog.Валюты + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.АдресIMAPСервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + WebService.MAExchange.Operation.ПолучитьДанные + + Use + true + + + + Constant.НомерПриложенияGoogleCloud + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.Финансы.Subsystem.Банк + + View + true + + + + CommonForm.НастройкаПомощникаНеотработанныхЗаказов + + View + true + + + + Catalog.ЗначенияХарактеристик + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.Оплата.Attribute.РасчетныйСчет + + Edit + false + + + + Report.ОстаткиТоваровНаСкладах + + Use + true + + + View + true + + + + Constant.ПарольSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ПользовательIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + DocumentJournal.ФинансовыеДокументы + + Read + true + + + View + true + + + + Document.ПриходТовара.Attribute.Валюта + + Edit + false + + + + DataProcessor.НастройкиПользователя + + Use + true + + + View + true + + + + InformationRegister.СостояниеВходящихПисем + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.СостояниеИсходящихПисем + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.РасчетныеСчетаКонтрагентов + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + WebService.MAExchange.Operation.ПолучитьОтчет + + Use + true + + + + Document.ПоступлениеДенег + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ПортPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274.mdo" "b/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274.mdo" new file mode 100644 index 000000000..32360f873 --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\237\321\200\320\276\320\264\320\260\320\266\320\260\320\274.mdo" @@ -0,0 +1,9 @@ + + + МенеджерПоПродажам + + ru + Менеджер по продажам + + + diff --git "a/fixtures/demo-configuration/src/Roles/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/Rights.rights" "b/fixtures/demo-configuration/src/Roles/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/Rights.rights" new file mode 100644 index 000000000..3f906883d --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/Rights.rights" @@ -0,0 +1,6 @@ + + + true + true + false + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Roles/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272.mdo" "b/fixtures/demo-configuration/src/Roles/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272.mdo" new file mode 100644 index 000000000..39970fa2c --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272.mdo" @@ -0,0 +1,9 @@ + + + Помощник + + ru + Помощник + + + diff --git "a/fixtures/demo-configuration/src/Roles/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206/Rights.rights" "b/fixtures/demo-configuration/src/Roles/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206/Rights.rights" new file mode 100644 index 000000000..19ca8b622 --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206/Rights.rights" @@ -0,0 +1,2644 @@ + + + false + true + true + + Catalog.Встречи + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.КурсыВалют.Resource.Курс + + Edit + false + + + + Catalog.РасчетныеСчета + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.Контрагенты + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.Контрагенты.StandardAttribute.Predefined + + Edit + false + + + + Catalog.Контрагенты.StandardAttribute.Ref + + Edit + false + + + + Catalog.Контрагенты.StandardAttribute.DeletionMark + + Edit + false + + + + Catalog.Контрагенты.StandardAttribute.IsFolder + + Edit + false + + + + Catalog.Контрагенты.StandardAttribute.Owner + + Edit + false + + + + Catalog.Контрагенты.StandardAttribute.Parent + + Edit + false + + + + Catalog.Контрагенты.StandardAttribute.Description + + Edit + false + + + + Catalog.Контрагенты.StandardAttribute.Code + + Edit + false + + + + Constant.ТолькоЗащищеннаяАутентификацияSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Subsystem.Предприятие + + View + true + + + + DataProcessor.ЭлектроннаяПочта + + Use + true + + + View + true + + + + Constant.ТаймаутИнтернетПочты + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + ChartOfCharacteristicTypes.ВидыХарактеристик + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + + Constant.ПортSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + InformationRegister.Характеристики.Dimension.Объект + + Edit + false + + + + Constant.ИспользоватьAPNS + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ИспользоватьGCM + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Пользователи + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.ПочтовыеВложения + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.Характеристики + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.НастройкиТорговогоОборудования + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.Регионы + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + AccumulationRegister.ТоварныеЗапасы.Dimension.Товар + + Edit + false + + + + Constant.ПортIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + CommonForm.ФормаПодбора + + View + true + + + + InformationRegister.ЦеныТоваров.Dimension.ВидЦен + + Edit + false + + + + Constant.СертификатМобильногоПриложенияIOS + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + AccumulationRegister.ТоварныеЗапасы.Dimension.Склад + + Edit + false + + + + Document.РасходТовара.Attribute.ОбоснованиеОтгрузки + + Edit + false + + + + AccumulationRegister.ТоварныеЗапасы + + Read + true + + + View + true + + + + Constant.ПользовательSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.ХранилищеВариантовОтчетов + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ТолькоЗащищеннаяАутентификацияIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + CommonCommand.УстановитьРасширениеРаботыСФайлами + + View + true + + + + InformationRegister.КурсыВалют + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.Заказ + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Document.ПриходТовара + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.SSLSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.РасчетныеСчетаКонтрагентов.Attribute.Банк + + Edit + false + + + + Catalog.ИсходящиеПисьма + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.SSLIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Банки + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ИспользоватьPushУведомления + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.ХранимыеФайлы + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + AccumulationRegister.ТоварныеЗапасы.Resource.Количество + + Edit + false + + + + Document.РасходТовара.Command.ПечатьРасходнойНакладной + + View + true + + + + InformationRegister.Характеристики.Dimension.ВидХарактеристики + + Edit + false + + + + InformationRegister.ЦеныТоваров.Dimension.Товар + + Edit + false + + + + Constant.КодНовогоУзлаПланаОбмена + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Товары + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.Товары.StandardAttribute.Predefined + + Edit + false + + + + Catalog.Товары.StandardAttribute.Ref + + Edit + false + + + + Catalog.Товары.StandardAttribute.DeletionMark + + Edit + false + + + + Catalog.Товары.StandardAttribute.IsFolder + + Edit + false + + + + Catalog.Товары.StandardAttribute.Owner + + Edit + false + + + + Catalog.Товары.StandardAttribute.Parent + + Edit + false + + + + Catalog.Товары.StandardAttribute.Description + + Edit + false + + + + Catalog.Товары.StandardAttribute.Code + + Edit + false + + + + Constant.SSLPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ПользовательPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Склады + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ИспользоватьIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + InformationRegister.ЦеныТоваров.Resource.Цена + + Edit + false + + + + Constant.АдресSMTPСервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Встречи.Command.ОткрытьКалендарь + + View + true + + + + Document.Оплата + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + CommonForm.НастройкаПочты + + View + true + + + + Catalog.МобильныеУстройства + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + + Constant.ТолькоЗащищеннаяАутентификацияPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ИмяОтправителяПочтовогоСообщения + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + DataProcessor.Путеводитель + + Use + true + + + View + true + + + + Catalog.ХранилищеВариантовОтчетов.Command.ОткрытьОтчет + + View + true + + + + Subsystem.Продажи + + View + true + + + + InformationRegister.Характеристики.Resource.Значение + + Edit + false + + + + Constant.ПарольPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Организации + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + WebService.MAExchange.Operation.ЗаписатьДанные + + Use + true + + + + Catalog.ВидыЦен + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.МобильныеОтчеты + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + SessionParameter.ТекущийПользователь + + Get + true + + + + DataProcessor.Путеводитель.Command.ПутеводительПоКонфигурации + + View + true + + + + Constant.ЛогинСервисаПередачиPushУведомлений + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ПарольIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + InformationRegister.ЦеныТоваров + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.ВходящиеПисьма + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveDelete + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InputByString + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + WebService.MAExchange.Operation.НачатьОбмен + + Use + true + + + + Configuration.ДемонстрационноеПриложение + + UpdateDataBaseConfiguration + true + + + ExclusiveMode + true + + + ActiveUsers + true + + + EventLog + true + + + ThinClient + true + + + WebClient + true + + + MobileClient + true + + + ThickClient + true + + + ExternalConnection + true + + + Automation + true + + + SaveUserData + true + + + InteractiveOpenExtDataProcessors + true + + + InteractiveOpenExtReports + true + + + Output + true + + + + Constant.КлючCервераОтправителяGCM + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.РасчетныеСчета.Attribute.Номер + + Edit + false + + + + Catalog.РасчетныеСчета.Attribute.Банк + + Edit + false + + + + Document.РасходТовара + + Read + true + + + Insert + true + + + Update + true + + + Delete + true + + + Posting + true + + + UndoPosting + true + + + View + true + + + InteractiveInsert + true + + + Edit + true + + + InteractiveSetDeletionMark + true + + + InteractiveClearDeletionMark + true + + + InteractiveDeleteMarked + true + + + InteractivePosting + true + + + InteractivePostingRegular + true + + + InteractiveUndoPosting + true + + + InteractiveChangeOfPosted + true + + + InputByString + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.ХранимыеФайлы.Attribute.ДанныеФайла + + Edit + false + + + + Document.ОперацияПоУчетуТоваров + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.АдресPOP3Сервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.Валюты + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.АдресIMAPСервера + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + WebService.MAExchange.Operation.ПолучитьДанные + + Use + true + + + + Constant.НомерПриложенияGoogleCloud + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Catalog.ЗначенияХарактеристик + + Read + true + + + View + true + + + InteractiveDeletePredefinedData + true + + + InteractiveSetDeletionMarkPredefinedData + true + + + InteractiveClearDeletionMarkPredefinedData + true + + + InteractiveDeleteMarkedPredefinedData + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ПарольSMTP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + Constant.ПользовательIMAP + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + + InformationRegister.КурсыВалют.Dimension.Валюта + + Edit + false + + + + DataProcessor.НастройкиПользователя + + Use + true + + + View + true + + + + InformationRegister.СостояниеВходящихПисем + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + InformationRegister.СостояниеИсходящихПисем + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.РасчетныеСчетаКонтрагентов.Attribute.Номер + + Edit + false + + + + Catalog.РасчетныеСчетаКонтрагентов + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Catalog.ХранимыеФайлы.Attribute.ИмяФайла + + Edit + false + + + + Document.ПоступлениеДенег + + Read + true + + + View + true + + + ReadDataHistory + true + + + ReadDataHistoryOfMissingData + true + + + UpdateDataHistoryVersionComment + true + + + ViewDataHistory + true + + + EditDataHistoryVersionComment + true + + + SwitchToDataHistoryVersion + true + + + + Constant.ПортPOP3 + + Read + true + + + Update + true + + + View + true + + + Edit + true + + + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/Roles/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206.mdo" "b/fixtures/demo-configuration/src/Roles/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206.mdo" new file mode 100644 index 000000000..18833fb35 --- /dev/null +++ "b/fixtures/demo-configuration/src/Roles/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206/\320\237\321\200\320\276\320\264\320\260\320\262\320\265\321\206.mdo" @@ -0,0 +1,9 @@ + + + Продавец + + ru + Продавец + + + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/Schedule.schedule" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/Schedule.schedule" new file mode 100644 index 000000000..c440871b5 --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/Schedule.schedule" @@ -0,0 +1,22 @@ + + + Mon + Tue + Wed + Thu + Fri + Sat + Sun + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266.mdo" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266.mdo" new file mode 100644 index 000000000..d89d4d727 --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266.mdo" @@ -0,0 +1,15 @@ + + + ОбновлениеАгрегатовПродаж + + ru + Обновление агрегатов продаж + + + CommonModule.РегламентныеЗаданияАгрегатов.ОбновлениеАгрегатовПродаж + + 1 + true + 3 + 10 + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/Schedule.schedule" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/Schedule.schedule" new file mode 100644 index 000000000..d7bfcd0dc --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/Schedule.schedule" @@ -0,0 +1,22 @@ + + + Mon + Tue + Wed + Thu + Fri + Sat + Sun + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224.mdo" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224.mdo" new file mode 100644 index 000000000..26ced39f9 --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224.mdo" @@ -0,0 +1,16 @@ + + + ОбновлениеИндексаППД + + ru + Обновление индекса ППД + + + CommonModule.РаботаСПолнотекстовымПоиском.ОбновлениеИндексаПолнотекстовогоПоиска + + + true + true + 3 + 10 + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Schedule.schedule" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Schedule.schedule" new file mode 100644 index 000000000..e7576448c --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205/Schedule.schedule" @@ -0,0 +1,22 @@ + + + Mon + Tue + Wed + Thu + Fri + Sat + Sun + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205.mdo" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205.mdo" new file mode 100644 index 000000000..1b03bffdd --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205/\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\321\201\321\202\320\276\321\200\320\270\320\270\320\224\320\260\320\275\320\275\321\213\321\205.mdo" @@ -0,0 +1,16 @@ + + + ОбновлениеИсторииДанных + + ru + Обновление истории данных + + + CommonModule.РаботаСИсториейДанных.ОбновлениеИсторииДанных + + + true + true + 3 + 10 + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/Schedule.schedule" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/Schedule.schedule" new file mode 100644 index 000000000..fdfc5fc19 --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/Schedule.schedule" @@ -0,0 +1,22 @@ + + + Mon + Tue + Wed + Thu + Fri + Sat + Sun + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266.mdo" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266.mdo" new file mode 100644 index 000000000..617ca85b2 --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266/\320\237\320\265\321\200\320\265\321\201\321\202\321\200\320\276\320\265\320\275\320\270\320\265\320\220\320\263\321\200\320\265\320\263\320\260\321\202\320\276\320\262\320\237\321\200\320\276\320\264\320\260\320\266.mdo" @@ -0,0 +1,15 @@ + + + ПерестроениеАгрегатовПродаж + + ru + Перестроение агрегатов продаж + + + CommonModule.РегламентныеЗаданияАгрегатов.ПерестроениеАгрегатовПродаж + + 1 + true + 3 + 10 + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213/Schedule.schedule" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213/Schedule.schedule" new file mode 100644 index 000000000..b1606af45 --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213/Schedule.schedule" @@ -0,0 +1,22 @@ + + + Mon + Tue + Wed + Thu + Fri + Sat + Sun + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213.mdo" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213.mdo" new file mode 100644 index 000000000..181e1eebd --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\235\320\265\320\276\321\202\321\200\320\260\320\261\320\276\321\202\320\260\320\275\320\275\321\213\320\265\320\227\320\260\320\272\320\260\320\267\321\213.mdo" @@ -0,0 +1,15 @@ + + + ПомощникНеотработанныеЗаказы + + ru + Помощник неотработанные заказы + + + CommonModule.Помощник.ПомощникНеотработанныеЗаказы + + 1 + true + 3 + 10 + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/Schedule.schedule" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/Schedule.schedule" new file mode 100644 index 000000000..ed61c7c28 --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/Schedule.schedule" @@ -0,0 +1,22 @@ + + + Mon + Tue + Wed + Thu + Fri + Sat + Sun + Jan + Feb + Mar + Apr + May + Jun + Jul + Aug + Sep + Oct + Nov + Dec + diff --git "a/fixtures/demo-configuration/src/ScheduledJobs/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224.mdo" "b/fixtures/demo-configuration/src/ScheduledJobs/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224.mdo" new file mode 100644 index 000000000..8fda2ada2 --- /dev/null +++ "b/fixtures/demo-configuration/src/ScheduledJobs/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224/\320\241\320\273\320\270\321\217\320\275\320\270\320\265\320\230\320\275\320\264\320\265\320\272\321\201\320\260\320\237\320\237\320\224.mdo" @@ -0,0 +1,16 @@ + + + СлияниеИндексаППД + + ru + Слияние индекса ППД + + + CommonModule.РаботаСПолнотекстовымПоиском.СлияниеИндексаПолнотекстовогоПоиска + + + true + true + 3 + 10 + diff --git "a/fixtures/demo-configuration/src/SessionParameters/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214.mdo" "b/fixtures/demo-configuration/src/SessionParameters/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214.mdo" new file mode 100644 index 000000000..fb14242bc --- /dev/null +++ "b/fixtures/demo-configuration/src/SessionParameters/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214/\320\242\320\265\320\272\321\203\321\211\320\270\320\271\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214.mdo" @@ -0,0 +1,12 @@ + + + ТекущийПользователь + + ru + Текущий пользователь + + + + CatalogRef.Пользователи + + diff --git "a/fixtures/demo-configuration/src/SessionParameters/\320\257\321\211\320\270\320\272IMAP/\320\257\321\211\320\270\320\272IMAP.mdo" "b/fixtures/demo-configuration/src/SessionParameters/\320\257\321\211\320\270\320\272IMAP/\320\257\321\211\320\270\320\272IMAP.mdo" new file mode 100644 index 000000000..82753b3d3 --- /dev/null +++ "b/fixtures/demo-configuration/src/SessionParameters/\320\257\321\211\320\270\320\272IMAP/\320\257\321\211\320\270\320\272IMAP.mdo" @@ -0,0 +1,13 @@ + + + ЯщикIMAP + + ru + Ящик IMAP + + + + String + + + diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Form.form" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Form.form" new file mode 100644 index 000000000..ffd9a579f --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Form.form" @@ -0,0 +1,605 @@ + + + + <key>ru</key> + <value>Выбор варианта отчета</value> + + + СписокНастроек + 15 + true + true + + true + + + СписокНастроек + + false + Top + Add + Change + Copy + EndEdit + MoveDown + MoveUp + Pickup + SortListAsc + SortListDesc + + Представление + 18 + true + true + + true + + + + СписокНастроек.Presentation + + + + ПредставлениеExtendedTooltip + 25 + true + true + + true + + Label + true + true + + Left + + + + ПредставлениеКонтекстноеМеню + 19 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + None + + СписокНастроекКоманднаяПанель + 17 + true + true + + true + + Left + true + + + Selection + СписокНастроекВыбор + + + BeforeAddRow + СписокНастроекПередНачаломДобавления + + + BeforeDeleteRow + СписокНастроекПередУдалением + + + BeforeRowChange + СписокНастроекПередНачаломИзменения + + + true + true + + true + + СписокНастроекСтрокаПоиска + 30 + + СписокНастроекСтрокаПоискаРасширеннаяПодсказка + 32 + true + true + + true + + Label + true + true + + Left + + + + СписокНастроекСтрокаПоискаКонтекстноеМеню + 31 + true + true + + true + + true + + СписокНастроекСтрокаПоиска + + true + + + + true + true + + true + + СписокНастроекСостояниеПросмотра + 33 + + СписокНастроекСостояниеПросмотраРасширеннаяПодсказка + 35 + true + true + + true + + Label + true + true + + Left + + + + СписокНастроекСостояниеПросмотраКонтекстноеМеню + 34 + true + true + + true + + true + + ViewStatusAddition + СписокНастроекСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокНастроекУправлениеПоиском + 36 + + СписокНастроекУправлениеПоискомРасширеннаяПодсказка + 38 + true + true + + true + + Label + true + true + + Left + + + + СписокНастроекУправлениеПоискомКонтекстноеМеню + 37 + true + true + + true + + true + + SearchControlAddition + СписокНастроекУправлениеПоиском + + true + + + + СписокНастроекExtendedTooltip + 24 + true + true + + true + + Label + true + true + + Left + + + + СписокНастроекКонтекстноеМеню + 16 + + Удалить + 21 + true + true + + true + + false + + УдалитьExtendedTooltip + 23 + true + true + + true + + Label + true + true + + Left + + + Form.Item.СписокНастроек.StandardCommand.Delete + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + true + true + + true + + true + + true + true + 40 + true + true + 10 + true + 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + + Style.BorderColor + + None + None + None + + + Группа + 22 + + Загрузить + 13 + true + true + + true + + false + + ЗагрузитьExtendedTooltip + 27 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Загрузить + Auto + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Отменить + 14 + true + true + + true + + false + + ОтменитьExtendedTooltip + 28 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Cancel + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Справка + 20 + true + true + + true + + false + + СправкаExtendedTooltip + 29 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + ГруппаExtendedTooltip + 26 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + true + Vertical + true + true + true + true + true + + СтандартныеНастройки + + <key>ru</key> + <value>Стандартные настройки</value> + + 3 + + ValueList + + + true + + + true + + + + + + + КлючОбъекта + + <key>ru</key> + <value>Ключ объекта</value> + + 4 + + String + + + + true + + + true + + + + СписокНастроек + + <key>ru</key> + <value>Список вариантов</value> + + 5 + + ValueList + + + true + + + true + + + + + + + КлючТекущихНастроек + + <key>ru</key> + <value>Ключ текущих настроек</value> + + 1 + + String + + + + true + + + true + + + + Загрузить + + <key>ru</key> + <value>Выбрать</value> + + 1 + + ru + Выбрать вариант отчета + + + true + + + + ЗагрузитьВыполнить + + + Auto + + + КлючОбъекта + + String + + + + + КлючТекущихНастроек + + String + + + + + СтандартныеНастройки + + ValueList + + + + + + + diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Help/ru.html" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Help/ru.html" new file mode 100644 index 000000000..cbffa8568 --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Help/ru.html" @@ -0,0 +1,4 @@ + +

Выбор варианта отчета

+

Выберите в списке вариантов отчета вариант и нажмите кнопку "Выбрать".

+

 

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Module.bsl" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Module.bsl" new file mode 100644 index 000000000..cb297d86c --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\227\320\260\320\263\321\200\321\203\320\267\320\272\320\270/Module.bsl" @@ -0,0 +1,153 @@ +//////////////////////////////////////////////////////////////////////////////// +// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ +// + +&НаКлиенте +Процедура ВыбратьНастройку() + + Если Элементы.СписокНастроек.ТекущаяСтрока <> Неопределено Тогда + + Закрыть(Новый ВыборНастроек(Элементы.СписокНастроек.ТекущиеДанные.Значение)); + + Иначе + + Закрыть(); + + КонецЕсли; + +КонецПроцедуры + +&НаСервере +Процедура ЗаполнитьСписокНастроек() + + СписокНастроек = Новый СписокЗначений; + + Для каждого Элемент Из СтандартныеНастройки Цикл + + СписокНастроек.Добавить(Элемент.Значение, Элемент.Представление); + + КонецЦикла; + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ХранилищеВариантовОтчетов.Код КАК Код, + | ХранилищеВариантовОтчетов.Наименование КАК Наименование + |ИЗ + | Справочник.ХранилищеВариантовОтчетов КАК ХранилищеВариантовОтчетов + |ГДЕ + | ХранилищеВариантовОтчетов.КлючОбъекта = &КлючОбъекта"; + + Запрос.Параметры.Вставить("КлючОбъекта", КлючОбъекта); + + РезультатЗапроса = Запрос.Выполнить(); + Выборка = РезультатЗапроса.Выбрать(); + + Пока Выборка.Следующий() Цикл + + СписокНастроек.Добавить(Выборка.Код, Выборка.Наименование); + + КонецЦикла; + + СписокНастроек.СортироватьПоПредставлению(); + +КонецПроцедуры + +&НаСервере +Процедура УдалитьНастройку(Ключ) + + УдаляемыйЭлемент = Справочники.ХранилищеВариантовОтчетов.НайтиПоКоду(Ключ); + + Если УдаляемыйЭлемент <> Справочники.ХранилищеВариантовОтчетов.ПустаяСсылка() Тогда + + УдаляемыйЭлемент.ПолучитьОбъект().Удалить(); + ЗаполнитьСписокНастроек(); + + КонецЕсли; + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаКлиенте +Процедура ЗагрузитьВыполнить() + + ВыбратьНастройку(); + +КонецПроцедуры + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + КлючОбъекта = Параметры.КлючОбъекта; + КлючТекущихНастроек = Параметры.КлючТекущихНастроек; + СтандартныеНастройки = Параметры.СтандартныеНастройки; + + ЗаполнитьСписокНастроек(); + + Элемент = СписокНастроек.НайтиПоЗначению(КлючТекущихНастроек); + Если Элемент <> Неопределено Тогда + + Элементы.СписокНастроек.ТекущаяСтрока = Элемент.ПолучитьИдентификатор(); + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПередНачаломИзменения(Элемент, Отказ) + + Отказ = Истина; + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПередУдалением(Элемент, Отказ) + + Отказ = Истина; + + Если Элементы.СписокНастроек.ТекущаяСтрока <> Неопределено Тогда + + Если СтандартныеНастройки.НайтиПоЗначению(СписокНастроек.НайтиПоИдентификатору(Элементы.СписокНастроек.ТекущаяСтрока).Значение) <> Неопределено Тогда + + ПоказатьПредупреждение(, НСтр("ru = ""Стандартный вариант не может быть удален"""), Неопределено); + + Иначе + Оповещение = Новый ОписаниеОповещения( + "СписокНастроекПередУдалениемВопросЗавершение", + ЭтотОбъект); + + ПоказатьВопрос(Оповещение, + НСтр("ru = ""Удалить вариант """) + СписокНастроек.НайтиПоИдентификатору(Элементы.СписокНастроек.ТекущаяСтрока).Представление + "?", + РежимДиалогаВопрос.ДаНет); + + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПередУдалениемВопросЗавершение(Результат, Параметры) Экспорт + Если Результат = КодВозвратаДиалога.Да Тогда + УдалитьНастройку( + СписокНастроек.НайтиПоИдентификатору( + Элементы.СписокНастроек.ТекущаяСтрока).Значение); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + ВыбратьНастройку(); + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПередНачаломДобавления(Элемент, Отказ, Копирование) + + Отказ = Истина; + +КонецПроцедуры diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/ExtInfo/ListSettings.dcss" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/ExtInfo/ListSettings.dcss" new file mode 100644 index 000000000..4b5775fcb --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Attributes/\320\241\320\277\320\270\321\201\320\276\320\272\320\235\320\260\321\201\321\202\321\200\320\276\320\265\320\272/ExtInfo/ListSettings.dcss" @@ -0,0 +1,17 @@ + + + + Normal + dfcece9d-5077-440b-b6b3-45a5cb4538eb + + + Normal + 88619765-ccb3-46c6-ac52-38e9c992ebd4 + + + Normal + b75fecce-942b-4aed-abc9-e6a02e460fb3 + + Normal + 911b6018-f537-43e8-a417-da56b22f9aec + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Form.form" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Form.form" new file mode 100644 index 000000000..aa196adea --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Form.form" @@ -0,0 +1,689 @@ + + + + <key>ru</key> + <value>Сохранение варианта отчета</value> + + + СписокНастроек + 2 + + <key>ru</key> + <value>Ранее сохраненные варианты</value> + + true + true + + true + + + СписокНастроек + + false + Top + CancelSearch + Change + Copy + Create + Find + ListSettings + OutputList + Refresh + SetDeletionMark + + Наименование + 4 + true + true + + true + + + + СписокНастроек.Description + + + + НаименованиеExtendedTooltip + 16 + true + true + + true + + Label + true + true + + Left + + + + НаименованиеКонтекстноеМеню + 5 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + None + + СписокНастроекКоманднаяПанель + 10 + true + true + + true + + Left + true + + + Selection + СписокНастроекВыбор + + + BeforeAddRow + СписокНастроекПередНачаломДобавления + + + BeforeDeleteRow + СписокНастроекПередУдалением + + + OnActivateRow + СписокНастроекПриАктивизацииСтроки + + + BeforeRowChange + СписокНастроекПередНачаломИзменения + + + true + true + + true + + СписокНастроекСтрокаПоиска + 22 + + СписокНастроекСтрокаПоискаРасширеннаяПодсказка + 24 + true + true + + true + + Label + true + true + + Left + + + + СписокНастроекСтрокаПоискаКонтекстноеМеню + 23 + true + true + + true + + true + + СписокНастроекСтрокаПоиска + + true + + + + true + true + + true + + СписокНастроекСостояниеПросмотра + 25 + + СписокНастроекСостояниеПросмотраРасширеннаяПодсказка + 27 + true + true + + true + + Label + true + true + + Left + + + + СписокНастроекСостояниеПросмотраКонтекстноеМеню + 26 + true + true + + true + + true + + ViewStatusAddition + СписокНастроекСостояниеПросмотра + + true + Left + + + + true + true + + true + + СписокНастроекУправлениеПоиском + 28 + + СписокНастроекУправлениеПоискомРасширеннаяПодсказка + 30 + true + true + + true + + Label + true + true + + Left + + + + СписокНастроекУправлениеПоискомКонтекстноеМеню + 29 + true + true + + true + + true + + SearchControlAddition + СписокНастроекУправлениеПоиском + + true + + + + СписокНастроекExtendedTooltip + 15 + true + true + + true + + Label + true + true + + Left + + + + СписокНастроекКонтекстноеМеню + 3 + + Удалить + 12 + true + true + + true + + false + + УдалитьExtendedTooltip + 14 + true + true + + true + + Label + true + true + + Left + + + Form.Item.СписокНастроек.StandardCommand.Delete + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + true + true + + true + + + true + true + 40 + true + true + 10 + true + 1 + 1 + AutoUse + AutoUse + true + true + true + Auto + Auto + true + true + true + + Style.BorderColor + + None + None + None + + 60 + + 0001-01-01T00:00:00 + 0001-01-01T00:00:00 + + + + + + ИмяСохраняемойНастройки + 1 + + <key>ru</key> + <value>Имя сохраняемого варианта</value> + + true + true + + true + + + + ИмяСохраняемойНастройки + + + true + Top + + ИмяСохраняемойНастройкиExtendedTooltip + 17 + true + true + + true + + Label + true + true + + Left + + + + ИмяСохраняемойНастройкиКонтекстноеМеню + 6 + true + true + + true + + true + + InputField + Enter + true + Left + true + Left + + true + true + true + true + true + + Style.BorderColor + + + + + Группа + 13 + + Сохранить + 7 + true + true + + true + + false + + СохранитьExtendedTooltip + 19 + true + true + + true + + Label + true + true + + Left + + + Form.Command.Сохранить + Auto + true + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Отменить + 9 + true + true + + true + + false + + ОтменитьExtendedTooltip + 20 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Cancel + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + + Справка + 11 + true + true + + true + + false + + СправкаExtendedTooltip + 21 + true + true + + true + + Label + true + true + + Left + + + Form.StandardCommand.Help + Auto + true + true + UserCmds + + Style.ButtonTextColor + + + Style.ButtonBackColor + + + Style.BorderColor + + + true + true + + true + + + ГруппаExtendedTooltip + 18 + true + true + + true + + Label + true + true + + Left + + + CommandBar + + Right + + + None + + ФормаКоманднаяПанель + -1 + true + true + + true + + Left + true + + + OnCreateAtServer + ПриСозданииНаСервере + + DefaultButton + true + Vertical + true + true + true + true + true + + СписокНастроек + + <key>ru</key> + <value>Список настроек</value> + + 1 + + DynamicList + + + true + + + true + + + ВЫБРАТЬ + ХранилищеВариантовОтчетов.Наименование, + ХранилищеВариантовОтчетов.Код +ИЗ + Справочник.ХранилищеВариантовОтчетов КАК ХранилищеВариантовОтчетов +ГДЕ + ХранилищеВариантовОтчетов.КлючОбъекта = &КлючОбъекта + + Catalog.ХранилищеВариантовОтчетов + true + true + true + true + true + + + + ИмяСохраняемойНастройки + + <key>ru</key> + <value>Имя сохраняемой настройки</value> + + 2 + + String + + 64 + + + + true + + + true + + + + КлючОбъекта + + <key>ru</key> + <value>Ключ объекта</value> + + 3 + + String + + + + true + + + true + + + + Инициализация + + <key>ru</key> + <value>Инициализация</value> + + 4 + + Boolean + + + true + + + true + + + + Сохранить + + <key>ru</key> + <value>Сохранить</value> + + 1 + + ru + Сохранить + + + true + + + + СохранитьВыполнить + + + Auto + + + КлючОбъекта + + String + + + + + КлючТекущихНастроек + + String + + + + + + + + diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Help/ru.html" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Help/ru.html" new file mode 100644 index 000000000..9f7be48e4 --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Help/ru.html" @@ -0,0 +1,4 @@ + +

Сохранение варианта отчета

+

Если нужно заменить ранее сохраненный вариант, то выберите в списке уже существующий вариант и нажмите на кнопку "Сохранить".

+

Если нужно сделать новый вариант, то введите имя нового варианта и нажмите на кнопку "Сохранить". Если вариант с введенным именем уже существует, то он будет заменен на текущий вариант.

\ No newline at end of file diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Module.bsl" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Module.bsl" new file mode 100644 index 000000000..d68192834 --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\276\321\205\321\200\320\260\320\275\320\265\320\275\320\270\321\217/Module.bsl" @@ -0,0 +1,215 @@ +//////////////////////////////////////////////////////////////////////////////// +// ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ +// + +&НаСервере +Функция НайтиНастройкуПоИмени(ИмяСохраняемойНастройки) + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ХранилищеВариантовОтчетов.Код КАК Код + |ИЗ + | Справочник.ХранилищеВариантовОтчетов КАК ХранилищеВариантовОтчетов + |ГДЕ + | ХранилищеВариантовОтчетов.КлючОбъекта = &КлючОбъекта + | И ХранилищеВариантовОтчетов.Наименование = &Наименование"; + + Запрос.Параметры.Вставить("КлючОбъекта", КлючОбъекта); + Запрос.Параметры.Вставить("Наименование", ИмяСохраняемойНастройки); + РезультатЗапроса = Запрос.Выполнить(); + + Если РезультатЗапроса.Пустой() Тогда + + Возврат Неопределено; + + Иначе + + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Возврат Выборка.Код; + + КонецЕсли; + +КонецФункции + +&НаСервере +Функция СоздатьНовуюНастройку(ИмяНастройки) + + Элемент = Справочники.ХранилищеВариантовОтчетов.СоздатьЭлемент(); + Элемент.КлючОбъекта = КлючОбъекта; + Элемент.Наименование = ИмяНастройки; + Элемент.Записать(); + Возврат Элемент.Код; + +КонецФункции + +&НаКлиенте +Процедура ВыбратьНастройкуСохранения() + + КодСохраняемойНастройки = НайтиНастройкуПоИмени(ИмяСохраняемойНастройки); + + // Уже была настройка с таким именем. + Если КодСохраняемойНастройки <> Неопределено Тогда + + // Спросим у пользователя, нужно ли затереть настройку. + ТекстВопроса = НСтр("ru = 'Заменить вариант ""%1""?'", "ru"); + ТекстВопроса = СтрЗаменить(ТекстВопроса, "%1", ИмяСохраняемойНастройки); + Оповещение = Новый ОписаниеОповещения( + "ВыбратьНастройкуСохраненияВопросЗавершение", + ЭтотОбъект, + КодСохраняемойНастройки); + ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет); + Возврат; + + Иначе + + // Еще не было настройки с таким именем - сделаем новую + КодСохраняемойНастройки = СоздатьНовуюНастройку(ИмяСохраняемойНастройки) + + КонецЕсли; + + Закрыть(Новый ВыборНастроек(КодСохраняемойНастройки)); + +КонецПроцедуры + +&НаКлиенте +Процедура ВыбратьНастройкуСохраненияВопросЗавершение(Результат, КодСохраняемойНастройки) Экспорт + Если Результат = КодВозвратаДиалога.Да Тогда + Закрыть(Новый ВыборНастроек(КодСохраняемойНастройки)); + КонецЕсли; +КонецПроцедуры + +&НаСервере +Процедура УдалитьНастройку(Ссылка) + + Ссылка.ПолучитьОбъект().Удалить(); + +КонецПроцедуры + +//////////////////////////////////////////////////////////////////////////////// +// ОБРАБОТЧИКИ СОБЫТИЙ +// + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + Перем КлючТекущихНастроек; + + Инициализация = Истина; + + КлючОбъекта = Параметры.КлючОбъекта; + КлючТекущихНастроек = Параметры.КлючТекущихНастроек; + + СписокНастроек.Параметры.УстановитьЗначениеПараметра("КлючОбъекта", КлючОбъекта); + + Элемент = Справочники.ХранилищеВариантовОтчетов.НайтиПоКоду(КлючТекущихНастроек); + + Если Элемент <> Справочники.ХранилищеВариантовОтчетов.ПустаяСсылка() Тогда + + Элементы.СписокНастроек.ТекущаяСтрока = Элемент; + ИмяСохраняемойНастройки = Элемент.Наименование; + + Иначе + // Не найден вариант. Дадим сделаем новое имя варианта + ИндексВарианта = 1; + Пока Истина Цикл + + ИмяСохраняемойНастройки = "Вариант"; + + Если ИндексВарианта <> 1 Тогда + + ИмяСохраняемойНастройки = ИмяСохраняемойНастройки + " " + Строка(ИндексВарианта); + + КонецЕсли; + + Если Справочники.ХранилищеВариантовОтчетов.НайтиПоНаименованию(ИмяСохраняемойНастройки) = Справочники.ХранилищеВариантовОтчетов.ПустаяСсылка() Тогда + // Нет такого имени варианта + + Прервать; + + КонецЕсли; + + ИндексВарианта = ИндексВарианта + 1; + + КонецЦикла; + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПриАктивизацииСтроки(Элемент) + + Если НЕ Инициализация Тогда + + Если Элемент.ТекущиеДанные <> Неопределено Тогда + + ИмяСохраняемойНастройки = Элемент.ТекущиеДанные.Наименование; + + Иначе + + ИмяСохраняемойНастройки = ""; + + КонецЕсли; + + Иначе + + Инициализация = Ложь; + + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СохранитьВыполнить() + + ВыбратьНастройкуСохранения(); + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) + + СтандартнаяОбработка = Ложь; + ВыбратьНастройкуСохранения(); + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПередНачаломИзменения(Элемент, Отказ) + + Отказ = Истина; + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПередУдалением(Элемент, Отказ) + + Отказ = Истина; + + Если Элементы.СписокНастроек.ТекущаяСтрока <> Неопределено Тогда + Оповещение = Новый ОписаниеОповещения( + "СписокНастроекПередУдалениемВопросЗавершение", + ЭтотОбъект); + ПоказатьВопрос(Оповещение, + НСтр("ru = ""Удалить вариант """) + Элементы.СписокНастроек.ТекущиеДанные.Наименование + "?", + РежимДиалогаВопрос.ДаНет); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПередУдалениемВопросЗавершение(Результат) Экспорт + Если Результат = КодВозвратаДиалога.Да Тогда + УдалитьНастройку(Элементы.СписокНастроек.ТекущаяСтрока); + Элементы.СписокНастроек.Обновить(); + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура СписокНастроекПередНачаломДобавления(Элемент, Отказ, Копирование) + + Отказ = Истина; + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/ManagerModule.bsl" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/ManagerModule.bsl" new file mode 100644 index 000000000..787165d8d --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/ManagerModule.bsl" @@ -0,0 +1,144 @@ +Процедура ОбработкаЗагрузки(КлючОбъекта, КлючНастроек, Настройка, ОписаниеНастройки, Пользователь) + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ХранилищеВариантовОтчетов.ВариантОтчета, + | ХранилищеВариантовОтчетов.Наименование + |ИЗ + | Справочник.ХранилищеВариантовОтчетов КАК ХранилищеВариантовОтчетов + |ГДЕ + | ХранилищеВариантовОтчетов.КлючОбъекта = &КлючОбъекта + | И ХранилищеВариантовОтчетов.Код = &Код"; + + Запрос.Параметры.Вставить("КлючОбъекта", КлючОбъекта); + Запрос.Параметры.Вставить("Код", КлючНастроек); + РезультатЗапроса = Запрос.Выполнить(); + + Если НЕ РезультатЗапроса.Пустой() Тогда + + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + Настройка = Выборка.ВариантОтчета.Получить(); + + Если ОписаниеНастройки <> Неопределено Тогда + + ОписаниеНастройки.Представление = Выборка.Наименование; + + КонецЕсли; + + КонецЕсли; + +КонецПроцедуры + +Процедура ОбработкаСохранения(КлючОбъекта, КлючНастроек, Настройка, ОписаниеНастройки, Пользователь) + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ХранилищеВариантовОтчетов.Ссылка + |ИЗ + | Справочник.ХранилищеВариантовОтчетов КАК ХранилищеВариантовОтчетов + |ГДЕ + | ХранилищеВариантовОтчетов.КлючОбъекта = &КлючОбъекта + | И ХранилищеВариантовОтчетов.Код = &Код"; + + Запрос.Параметры.Вставить("КлючОбъекта", КлючОбъекта); + Запрос.Параметры.Вставить("Код", КлючНастроек); + РезультатЗапроса = Запрос.Выполнить(); + + Если НЕ РезультатЗапроса.Пустой() Тогда + + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + НастройкаОбъект = Выборка.Ссылка.ПолучитьОбъект(); + НастройкаОбъект.ВариантОтчета = Новый ХранилищеЗначения(Настройка, Новый СжатиеДанных()); + + Если ОписаниеНастройки <> Неопределено Тогда + + НастройкаОбъект.Наименование = ОписаниеНастройки.Представление; + + КонецЕсли; + + НастройкаОбъект.Записать(); + + КонецЕсли; + +КонецПроцедуры + +Процедура ОбработкаПолученияОписания(КлючОбъекта, КлючНастроек, ОписаниеНастройки, Пользователь) + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ХранилищеВариантовОтчетов.Наименование КАК Наименование + |ИЗ + | Справочник.ХранилищеВариантовОтчетов КАК ХранилищеВариантовОтчетов + |ГДЕ + | ХранилищеВариантовОтчетов.КлючОбъекта = &КлючОбъекта + | И ХранилищеВариантовОтчетов.Код = &Код"; + + Запрос.Параметры.Вставить("КлючОбъекта", КлючОбъекта); + Запрос.Параметры.Вставить("Код", КлючНастроек); + + ОписаниеНастройки.КлючОбъекта = КлючОбъекта; + ОписаниеНастройки.КлючНастроек = КлючНастроек; + + РезультатЗапроса = Запрос.Выполнить(); + + Если НЕ РезультатЗапроса.Пустой() Тогда + + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + ОписаниеНастройки.Представление = Выборка.Наименование; + + КонецЕсли; + +КонецПроцедуры + +Процедура ОбработкаУстановкиОписания(КлючОбъекта, КлючНастроек, ОписаниеНастройки, Пользователь) + + Перем НастройкаОбъект; + + ОписаниеНастройки.КлючОбъекта = КлючОбъекта; + ОписаниеНастройки.КлючНастроек = КлючНастроек; + + Если КлючНастроек <> Неопределено Тогда + + Запрос = Новый Запрос; + Запрос.Текст = "ВЫБРАТЬ + | ХранилищеВариантовОтчетов.Ссылка + |ИЗ + | Справочник.ХранилищеВариантовОтчетов КАК ХранилищеВариантовОтчетов + |ГДЕ + | ХранилищеВариантовОтчетов.КлючОбъекта = &КлючОбъекта + | И ХранилищеВариантовОтчетов.Код = &Код"; + + Запрос.Параметры.Вставить("КлючОбъекта", КлючОбъекта); + Запрос.Параметры.Вставить("Код", КлючНастроек); + + РезультатЗапроса = Запрос.Выполнить(); + + Если НЕ РезультатЗапроса.Пустой() Тогда + + Выборка = РезультатЗапроса.Выбрать(); + Выборка.Следующий(); + НастройкаОбъект = Выборка.Ссылка.ПолучитьОбъект(); + + КонецЕсли; + + Иначе + + НастройкаОбъект = Справочники.ХранилищеВариантовОтчетов.СоздатьЭлемент(); + НастройкаОбъект.КлючОбъекта = ОписаниеНастройки.КлючОбъекта; + НастройкаОбъект.УстановитьНовыйКод(); + ОписаниеНастройки.КлючНастроек = НастройкаОбъект.Код; + + КонецЕсли; + + Если НастройкаОбъект <> Неопределено Тогда + + НастройкаОбъект.Наименование = ОписаниеНастройки.Представление; + НастройкаОбъект.Записать(); + + КонецЕсли; + +КонецПроцедуры + diff --git "a/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" new file mode 100644 index 000000000..0c2d2221f --- /dev/null +++ "b/fixtures/demo-configuration/src/SettingsStorages/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262/\320\245\321\200\320\260\320\275\320\270\320\273\320\270\321\211\320\265\320\222\320\260\321\200\320\270\320\260\320\275\321\202\320\276\320\262\320\236\321\202\321\207\320\265\321\202\320\276\320\262.mdo" @@ -0,0 +1,44 @@ + + + + + + ХранилищеВариантовОтчетов + + ru + Хранилище вариантов отчетов + + + SettingsStorage.ХранилищеВариантовОтчетов.Form.ФормаСохранения + SettingsStorage.ХранилищеВариантовОтчетов.Form.ФормаЗагрузки + + ФормаСохранения + + ru + Форма сохранения + + + + + ru + + + PersonalComputer + MobileDevice + + + ФормаЗагрузки + + ru + Форма загрузки + + + + + ru + + + PersonalComputer + MobileDevice + + diff --git "a/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.mdo" "b/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.mdo" new file mode 100644 index 000000000..250fbf10d --- /dev/null +++ "b/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.mdo" @@ -0,0 +1,15 @@ + + + ЦветТекстаВажнойИнформации + + ru + Цвет текста важной информации + + + + + 150 + 70 + + + diff --git "a/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\235\320\276\321\200\320\274\320\260\320\273\321\214\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\235\320\276\321\200\320\274\320\260\320\273\321\214\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\235\320\276\321\200\320\274\320\260\320\273\321\214\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\235\320\276\321\200\320\274\320\260\320\273\321\214\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..d035f9200 --- /dev/null +++ "b/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\235\320\276\321\200\320\274\320\260\320\273\321\214\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\235\320\276\321\200\320\274\320\260\320\273\321\214\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217.mdo" @@ -0,0 +1,15 @@ + + + ЦветТекстаНормальногоСостояния + + ru + Цвет текста нормального состояния + + + + + 150 + 70 + + + diff --git "a/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\236\321\210\320\270\320\261\320\276\321\207\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\236\321\210\320\270\320\261\320\276\321\207\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\236\321\210\320\270\320\261\320\276\321\207\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\236\321\210\320\270\320\261\320\276\321\207\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217.mdo" new file mode 100644 index 000000000..3084fd8a8 --- /dev/null +++ "b/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\236\321\210\320\270\320\261\320\276\321\207\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\236\321\210\320\270\320\261\320\276\321\207\320\275\320\276\320\263\320\276\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217.mdo" @@ -0,0 +1,14 @@ + + + ЦветТекстаОшибочногоСостояния + + ru + Цвет текста ошибочного состояния + + + + + Style.SpecialTextColor + + + diff --git "a/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\241\321\203\321\211\320\265\321\201\321\202\320\262\320\265\320\275\320\275\321\213\321\205\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\271\320\224\320\260\320\275\320\275\321\213\321\205/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\241\321\203\321\211\320\265\321\201\321\202\320\262\320\265\320\275\320\275\321\213\321\205\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\271\320\224\320\260\320\275\320\275\321\213\321\205.mdo" "b/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\241\321\203\321\211\320\265\321\201\321\202\320\262\320\265\320\275\320\275\321\213\321\205\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\271\320\224\320\260\320\275\320\275\321\213\321\205/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\241\321\203\321\211\320\265\321\201\321\202\320\262\320\265\320\275\320\275\321\213\321\205\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\271\320\224\320\260\320\275\320\275\321\213\321\205.mdo" new file mode 100644 index 000000000..7f8822621 --- /dev/null +++ "b/fixtures/demo-configuration/src/StyleItems/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\241\321\203\321\211\320\265\321\201\321\202\320\262\320\265\320\275\320\275\321\213\321\205\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\271\320\224\320\260\320\275\320\275\321\213\321\205/\320\246\320\262\320\265\321\202\320\242\320\265\320\272\321\201\321\202\320\260\320\241\321\203\321\211\320\265\321\201\321\202\320\262\320\265\320\275\320\275\321\213\321\205\320\230\320\267\320\274\320\265\320\275\320\265\320\275\320\270\320\271\320\224\320\260\320\275\320\275\321\213\321\205.mdo" @@ -0,0 +1,14 @@ + + + ЦветТекстаСущественныхИзмененийДанных + + ru + Цвет текста существенных изменений данных + + + + + Web.DarkOrange + + + diff --git "a/fixtures/demo-configuration/src/StyleItems/\320\250\321\200\320\270\321\204\321\202\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270/\320\250\321\200\320\270\321\204\321\202\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.mdo" "b/fixtures/demo-configuration/src/StyleItems/\320\250\321\200\320\270\321\204\321\202\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270/\320\250\321\200\320\270\321\204\321\202\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.mdo" new file mode 100644 index 000000000..da427911c --- /dev/null +++ "b/fixtures/demo-configuration/src/StyleItems/\320\250\321\200\320\270\321\204\321\202\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270/\320\250\321\200\320\270\321\204\321\202\320\222\320\260\320\266\320\275\320\276\320\271\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\270.mdo" @@ -0,0 +1,19 @@ + + + ШрифтВажнойИнформации + + ru + Шрифт важной информации + + + Font + + + Style.NormalTextFont + true + false + false + false + + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\227\320\260\320\272\321\203\320\277\320\272\320\270/CommandInterface.cmi" "b/fixtures/demo-configuration/src/Subsystems/\320\227\320\260\320\272\321\203\320\277\320\272\320\270/CommandInterface.cmi" new file mode 100644 index 000000000..62d329569 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\227\320\260\320\272\321\203\320\277\320\272\320\270/CommandInterface.cmi" @@ -0,0 +1,150 @@ + + + + + Document.ПриходТовара.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.Контрагенты.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.Товары.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.OpenList + + + Role.Продавец + + + + + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Document.ПриходТовара.StandardCommand.Create + + true + + Role.Продавец + + + + + Catalog.Контрагенты.StandardCommand.Create + + true + + Role.Продавец + + + + + Catalog.Товары.StandardCommand.Create + + true + + Role.Продавец + + + + + Catalog.Товары.StandardCommand.CreateFolder + + + Role.Продавец + + + + + Catalog.Контрагенты.StandardCommand.CreateFolder + + + Role.Продавец + + + + + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.Create + + + Role.Продавец + + + + + Report.ОстаткиТоваровНаСкладах.StandardCommand.Open + + true + + Role.Продавец + + + + + Report.ОтчетПоВзаиморасчетам.StandardCommand.Open + + true + + Role.Продавец + + + + + + + NavigationPanelImportant + Document.ПриходТовара.StandardCommand.OpenList + + + NavigationPanelSeeAlso + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenList + + + + + NavigationPanelOrdinary + Catalog.Контрагенты.StandardCommand.OpenList + Catalog.Товары.StandardCommand.OpenList + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.OpenList + + + ActionsPanelCreate + Document.ПриходТовара.StandardCommand.Create + Catalog.Контрагенты.StandardCommand.Create + Catalog.Товары.StandardCommand.Create + Catalog.Товары.StandardCommand.CreateFolder + Catalog.Контрагенты.StandardCommand.CreateFolder + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.Create + + + ActionsPanelTools + CommonCommand.УстановитьСканерШтрихкодов + CommonCommand.НастроитьСканерШтрихКодов + + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\227\320\260\320\272\321\203\320\277\320\272\320\270/\320\227\320\260\320\272\321\203\320\277\320\272\320\270.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\227\320\260\320\272\321\203\320\277\320\272\320\270/\320\227\320\260\320\272\321\203\320\277\320\272\320\270.mdo" new file mode 100644 index 000000000..1f3e838b2 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\227\320\260\320\272\321\203\320\277\320\272\320\270/\320\227\320\260\320\272\321\203\320\277\320\272\320\270.mdo" @@ -0,0 +1,23 @@ + + + Закупки + + ru + Закупки + + + true + true + + CommonPicture.ПодсистемаЗакупки + + Catalog.Товары + Catalog.Контрагенты + Catalog.РасчетныеСчетаКонтрагентов + Document.ПриходТовара + Report.ОстаткиТоваровНаСкладах + Report.ОтчетПоВзаиморасчетам + AccumulationRegister.ТоварныеЗапасы + CommonCommand.УстановитьСканерШтрихкодов + CommonCommand.НастроитьСканерШтрихКодов + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/CommandInterface.cmi" "b/fixtures/demo-configuration/src/Subsystems/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/CommandInterface.cmi" new file mode 100644 index 000000000..0cf6de8a4 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/CommandInterface.cmi" @@ -0,0 +1,2 @@ + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217.mdo" new file mode 100644 index 000000000..ebf90369c --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217/\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217.mdo" @@ -0,0 +1,14 @@ + + + Интеграция + + ru + Интеграция + + true + true + CommonModule.РегистрацияОшибок + CommonModule.ИнтеграцияМагазин + CommonModule.Интеграция + Document.РасходТовара + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/CommandInterface.cmi" "b/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/CommandInterface.cmi" new file mode 100644 index 000000000..be4f181ae --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/CommandInterface.cmi" @@ -0,0 +1,300 @@ + + + + + Catalog.Организации.StandardCommand.OpenList + + true + + + + Catalog.Банки.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.Валюты.StandardCommand.OpenList + + true + + Role.Продавец + + + + + InformationRegister.КурсыВалют.StandardCommand.OpenList + + true + + Role.Продавец + + + + + ChartOfCharacteristicTypes.ВидыХарактеристик.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.ЗначенияХарактеристик.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.ВидыЦен.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.Регионы.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.Встречи.Command.ОткрытьКалендарь + + + + Catalog.Встречи.StandardCommand.OpenList + + + + InformationRegister.Характеристики.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.ХранимыеФайлы.StandardCommand.OpenList + + true + + Role.Продавец + + + + + InformationRegister.ЦеныТоваров.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.НастройкиТорговогоОборудования.StandardCommand.OpenList + + true + + + + Catalog.ХранилищеВариантовОтчетов.StandardCommand.OpenList + + + true + Role.Администратор + + + + + Catalog.РасчетныеСчета.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.Банки.StandardCommand.Create + + + Role.Продавец + + + + + Catalog.Валюты.StandardCommand.Create + + + Role.Продавец + + + + + ChartOfCharacteristicTypes.ВидыХарактеристик.StandardCommand.Create + + + Role.Продавец + + + + + Catalog.ВидыЦен.StandardCommand.Create + + + Role.Продавец + + + + + InformationRegister.Характеристики.StandardCommand.Create + + + Role.Продавец + + + + + Catalog.ЗначенияХарактеристик.StandardCommand.Create + + + Role.Продавец + + + + + InformationRegister.КурсыВалют.StandardCommand.Create + + + Role.Продавец + + + + + Catalog.РасчетныеСчета.StandardCommand.Create + + + Role.Продавец + + + + + Catalog.Регионы.StandardCommand.Create + + + Role.Продавец + + + + + Catalog.ХранимыеФайлы.StandardCommand.Create + + + Role.Продавец + + + + + InformationRegister.ЦеныТоваров.StandardCommand.Create + + + Role.Продавец + + + + + DataProcessor.УдалениеПомеченныхОбъектов.StandardCommand.Open + + + + DataProcessor.УправлениеАгрегатамиПродаж.StandardCommand.Open + + + + DataProcessor.УправлениеПолнотекстовымПоиском.StandardCommand.Open + + + + + + NavigationPanelImportant + Catalog.Организации.StandardCommand.OpenList + + + NavigationPanelSeeAlso + InformationRegister.Характеристики.StandardCommand.OpenList + Catalog.ХранимыеФайлы.StandardCommand.OpenList + InformationRegister.ЦеныТоваров.StandardCommand.OpenList + Catalog.НастройкиТорговогоОборудования.StandardCommand.OpenList + Catalog.ХранилищеВариантовОтчетов.StandardCommand.OpenList + Catalog.РасчетныеСчета.StandardCommand.OpenList + + + + + NavigationPanelImportant + Catalog.Организации.StandardCommand.OpenList + + + NavigationPanelOrdinary + Catalog.Банки.StandardCommand.OpenList + Catalog.Валюты.StandardCommand.OpenList + InformationRegister.КурсыВалют.StandardCommand.OpenList + Catalog.ВходящиеПисьма.StandardCommand.OpenList + Catalog.ИсходящиеПисьма.StandardCommand.OpenList + ChartOfCharacteristicTypes.ВидыХарактеристик.StandardCommand.OpenList + Catalog.ЗначенияХарактеристик.StandardCommand.OpenList + Catalog.ВидыЦен.StandardCommand.OpenList + Catalog.Регионы.StandardCommand.OpenList + Catalog.Встречи.Command.ОткрытьКалендарь + Catalog.Встречи.StandardCommand.OpenList + Catalog.Пользователи.StandardCommand.OpenList + Catalog.МобильныеУстройства.StandardCommand.OpenList + + + NavigationPanelSeeAlso + InformationRegister.Характеристики.StandardCommand.OpenList + Catalog.ХранимыеФайлы.StandardCommand.OpenList + InformationRegister.ЦеныТоваров.StandardCommand.OpenList + Catalog.НастройкиТорговогоОборудования.StandardCommand.OpenList + Catalog.ХранилищеВариантовОтчетов.StandardCommand.OpenList + Catalog.РасчетныеСчета.StandardCommand.OpenList + + + ActionsPanelTools + DataProcessor.СписокАктивныхПользователей.StandardCommand.Open + DataProcessor.ЖурналРегистрации.StandardCommand.Open + CommonForm.НастройкаПочты.StandardCommand.Open + DataProcessor.НастройкиПользователя.StandardCommand.Open + CommonCommand.ОбщиеНастройки + DataProcessor.ПроведениеДокументов.StandardCommand.Open + DataProcessor.УдалениеПомеченныхОбъектов.StandardCommand.Open + DataProcessor.УправлениеАгрегатамиПродаж.StandardCommand.Open + DataProcessor.УправлениеНастройкамиФорм.StandardCommand.Open + DataProcessor.УправлениеПолнотекстовымПоиском.StandardCommand.Open + DataProcessor.УправлениеСистемойВзаимодействия.StandardCommand.Open + CommonCommand.УстановитьРасширениеРаботыСФайлами + CommonCommand.УстановитьРасширениеРаботыСКриптографией + DataProcessor.АдминистративныйСервис.Command.АдминистративныйСервис + CommonCommand.УстановитьВидимостьОбъектовЧерезODataAPI + CommonForm.НастройкаPushУведомлений.StandardCommand.Open + DataProcessor.ЭлектроннаяПочта.StandardCommand.Open + CommonForm.НастройкиМобильногоУстройства.StandardCommand.Open + + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265.mdo" new file mode 100644 index 000000000..ffce6a8ae --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265/\320\237\321\200\320\265\320\264\320\277\321\200\320\270\321\217\321\202\320\270\320\265.mdo" @@ -0,0 +1,73 @@ + + + Предприятие + + ru + Предприятие + + + true + true + + ru + Наше предприятие, юридические лица, контрагенты + + + CommonPicture.ПодсистемаПредприятие + + FilterCriterion.ДокументыКонтрагента + Catalog.Валюты + Catalog.Регионы + Catalog.ВидыЦен + Catalog.ЗначенияХарактеристик + Catalog.Банки + Catalog.РасчетныеСчета + Catalog.ХранимыеФайлы + Catalog.НастройкиТорговогоОборудования + Catalog.ХранилищеВариантовОтчетов + Catalog.Организации + DataProcessor.УправлениеПолнотекстовымПоиском + DataProcessor.АдминистративныйСервис + DataProcessor.ПроведениеДокументов + DataProcessor.СписокАктивныхПользователей + DataProcessor.ЖурналРегистрации + DataProcessor.УдалениеПомеченныхОбъектов + DataProcessor.УправлениеНастройкамиФорм + InformationRegister.КурсыВалют + InformationRegister.Характеристики + InformationRegister.ЦеныТоваров + ChartOfCharacteristicTypes.ВидыХарактеристик + CommonCommand.УстановитьРасширениеРаботыСФайлами + DataProcessor.НастройкиПользователя + DataProcessor.УправлениеАгрегатамиПродаж + Catalog.ВходящиеПисьма + Catalog.ИсходящиеПисьма + Catalog.ПочтовыеВложения + DataProcessor.ЭлектроннаяПочта + CommonForm.НастройкаПочты + InformationRegister.СостояниеВходящихПисем + CommonCommand.УстановитьРасширениеРаботыСКриптографией + ExchangePlan.Мобильные + InformationRegister.МобильныеОтчеты + Catalog.Пользователи + CommonCommand.УстановитьВидимостьОбъектовЧерезODataAPI + CommonForm.НастройкаPushУведомлений + CommonCommand.ОбщиеНастройки + Enum.PushУведомления + Constant.ИспользоватьPushУведомления + Constant.ИспользоватьAPNS + Constant.СертификатМобильногоПриложенияIOS + Constant.ИспользоватьGCM + Constant.НомерПриложенияGoogleCloud + Constant.КлючCервераОтправителяGCM + Constant.ЛогинСервисаПередачиPushУведомлений + Constant.ИдентификаторПриложенияWNS + Constant.КлючПриложенияWNS + Constant.МаркерДоступаWNS + Constant.ИспользоватьWNS + Catalog.Встречи + DataProcessor.УправлениеСистемойВзаимодействия + Constant.ПериодПроверкиНеотработанныхЗаказов + Catalog.МобильныеУстройства + CommonForm.НастройкиМобильногоУстройства + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/CommandInterface.cmi" "b/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/CommandInterface.cmi" new file mode 100644 index 000000000..119ac75ec --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/CommandInterface.cmi" @@ -0,0 +1,160 @@ + + + + + DocumentJournal.ДокументыПродаж.StandardCommand.OpenList + + true + + + + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.OpenList + + + + AccumulationRegister.Продажи.StandardCommand.OpenList + + true + + Role.Продавец + + + + + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Document.Заказ.StandardCommand.Create + + true + + Role.Продавец + + + + + Document.РасходТовара.StandardCommand.Create + + true + + + + Catalog.Контрагенты.StandardCommand.Create + + true + + Role.Продавец + + + + + Catalog.Товары.StandardCommand.Create + + true + + Role.Продавец + + + + + Catalog.Контрагенты.StandardCommand.CreateFolder + + + Role.Продавец + + + + + Catalog.Товары.StandardCommand.CreateFolder + + + Role.Продавец + + + + + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.Create + + + Role.Продавец + + + + + Report.ДинамикаПродаж.StandardCommand.Open + + true + + Role.Продавец + + + + + Report.ОстаткиТоваровНаСкладах.StandardCommand.Open + + true + + Role.Продавец + + + + + Report.ОтчетПоВзаиморасчетам.StandardCommand.Open + + true + + Role.Продавец + + + + + + + NavigationPanelImportant + DocumentJournal.ДокументыПродаж.StandardCommand.OpenList + + + NavigationPanelSeeAlso + AccumulationRegister.Продажи.StandardCommand.OpenList + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenList + + + + + NavigationPanelImportant + DocumentJournal.ДокументыПродаж.StandardCommand.OpenList + + + NavigationPanelOrdinary + Document.Заказ.StandardCommand.OpenList + Document.РасходТовара.StandardCommand.OpenList + Catalog.Контрагенты.StandardCommand.OpenList + Catalog.Товары.StandardCommand.OpenList + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.OpenList + Enum.СостоянияЗаказов.StandardCommand.OpenList + + + ActionsPanelCreate + Document.Заказ.StandardCommand.Create + Document.РасходТовара.StandardCommand.Create + Catalog.Контрагенты.StandardCommand.Create + Catalog.Товары.StandardCommand.Create + Catalog.Контрагенты.StandardCommand.CreateFolder + Catalog.Товары.StandardCommand.CreateFolder + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.Create + + + ActionsPanelReports + Report.ДинамикаПродаж.StandardCommand.Open + Report.ОстаткиТоваровНаСкладах.StandardCommand.Open + Report.ОтчетПоВзаиморасчетам.StandardCommand.Open + Report.ВзаимосвязьПродажТоваров.StandardCommand.Open + + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" new file mode 100644 index 000000000..abea9c6fb --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\237\321\200\320\276\320\264\320\260\320\266\320\270/\320\237\321\200\320\276\320\264\320\260\320\266\320\270.mdo" @@ -0,0 +1,27 @@ + + + Продажи + + ru + Продажи + + + true + true + + CommonPicture.ПодсистемаПродажи + + Catalog.Товары + Catalog.Контрагенты + Catalog.РасчетныеСчетаКонтрагентов + Document.РасходТовара + Report.ОстаткиТоваровНаСкладах + Report.ДинамикаПродаж + Report.ОтчетПоВзаиморасчетам + AccumulationRegister.ТоварныеЗапасы + AccumulationRegister.Продажи + Document.Заказ + Enum.СостоянияЗаказов + DocumentJournal.ДокументыПродаж + Report.ВзаимосвязьПродажТоваров + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/CommandInterface.cmi" "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/CommandInterface.cmi" new file mode 100644 index 000000000..28651cb26 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/CommandInterface.cmi" @@ -0,0 +1,74 @@ + + + + + Catalog.Товары.StandardCommand.OpenList + + true + + + + Document.ОперацияПоУчетуТоваров.StandardCommand.OpenList + + true + + + + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Document.ОперацияПоУчетуТоваров.StandardCommand.Create + + true + + + + Catalog.Товары.StandardCommand.Create + + true + + + + Catalog.Склады.StandardCommand.Create + + true + + + + + + NavigationPanelImportant + Catalog.Товары.StandardCommand.OpenList + Document.ОперацияПоУчетуТоваров.StandardCommand.OpenList + + + + + NavigationPanelImportant + Catalog.Товары.StandardCommand.OpenList + Document.ОперацияПоУчетуТоваров.StandardCommand.OpenList + + + NavigationPanelOrdinary + Catalog.Склады.StandardCommand.OpenList + AccumulationRegister.ТоварныеЗапасы.StandardCommand.OpenList + + + ActionsPanelCreate + Document.ОперацияПоУчетуТоваров.StandardCommand.Create + Catalog.Товары.StandardCommand.Create + Catalog.Товары.StandardCommand.CreateFolder + Catalog.Склады.StandardCommand.Create + + + + Subsystem.ТоварныеЗапасы.Subsystem.Характеристики + Subsystem.ТоварныеЗапасы.Subsystem.Цены + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/CommandInterface.cmi" "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/CommandInterface.cmi" new file mode 100644 index 000000000..16230c8a5 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/CommandInterface.cmi" @@ -0,0 +1,9 @@ + + + + + Catalog.ЗначенияХарактеристик.StandardCommand.OpenList + + + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270.mdo" new file mode 100644 index 000000000..d75c2e47f --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270/\320\245\320\260\321\200\320\260\320\272\321\202\320\265\321\200\320\270\321\201\321\202\320\270\320\272\320\270.mdo" @@ -0,0 +1,15 @@ + + + Характеристики + + ru + Характеристики + + + true + true + Catalog.ЗначенияХарактеристик + InformationRegister.Характеристики + ChartOfCharacteristicTypes.ВидыХарактеристик + Subsystem.ТоварныеЗапасы + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\246\320\265\320\275\321\213/\320\246\320\265\320\275\321\213.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\246\320\265\320\275\321\213/\320\246\320\265\320\275\321\213.mdo" new file mode 100644 index 000000000..eb4fdca76 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/Subsystems/\320\246\320\265\320\275\321\213/\320\246\320\265\320\275\321\213.mdo" @@ -0,0 +1,14 @@ + + + Цены + + ru + Цены + + + true + true + Catalog.ВидыЦен + InformationRegister.ЦеныТоваров + Subsystem.ТоварныеЗапасы + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" new file mode 100644 index 000000000..232af172c --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213/\320\242\320\276\320\262\320\260\321\200\320\275\321\213\320\265\320\227\320\260\320\277\320\260\321\201\321\213.mdo" @@ -0,0 +1,25 @@ + + + ТоварныеЗапасы + + ru + Товарные запасы + + + true + true + + ru + Товарные запасы и цены + + + CommonPicture.ПодсистемаТоварныеЗапасы + + Catalog.Товары + Catalog.Склады + Document.ОперацияПоУчетуТоваров + Report.ОстаткиТоваровНаСкладах + AccumulationRegister.ТоварныеЗапасы + Цены + Характеристики + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/CommandInterface.cmi" "b/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/CommandInterface.cmi" new file mode 100644 index 000000000..93b9c8ada --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/CommandInterface.cmi" @@ -0,0 +1,202 @@ + + + + + DocumentJournal.ФинансовыеДокументы.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Document.Оплата.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Document.ПоступлениеДенег.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.Контрагенты.StandardCommand.OpenList + + true + + Role.Продавец + + + + + InformationRegister.КурсыВалют.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.OpenList + + + Role.Продавец + + + + + Catalog.Банки.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.Валюты.StandardCommand.OpenList + + true + + Role.Продавец + + + + + AccumulationRegister.Взаиморасчеты.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Document.Оплата.StandardCommand.Create + + true + + Role.Продавец + + + + + Document.ПоступлениеДенег.StandardCommand.Create + + true + + Role.Продавец + + + + + Catalog.Контрагенты.StandardCommand.Create + + true + + Role.Продавец + + + + + InformationRegister.КурсыВалют.StandardCommand.Create + + true + + Role.Продавец + + + + + Catalog.Контрагенты.StandardCommand.CreateFolder + + + Role.Продавец + + + + + Catalog.Банки.StandardCommand.Create + + + Role.Продавец + + + + + Catalog.Валюты.StandardCommand.Create + + + Role.Продавец + + + + + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.Create + + + Role.Продавец + + + + + Report.ОтчетПоВзаиморасчетам.StandardCommand.Open + + true + + Role.Продавец + + + + + + + NavigationPanelImportant + DocumentJournal.ФинансовыеДокументы.StandardCommand.OpenList + + + NavigationPanelSeeAlso + AccumulationRegister.Взаиморасчеты.StandardCommand.OpenList + + + + + NavigationPanelImportant + DocumentJournal.ФинансовыеДокументы.StandardCommand.OpenList + + + NavigationPanelOrdinary + Document.Оплата.StandardCommand.OpenList + Document.ПоступлениеДенег.StandardCommand.OpenList + Catalog.Контрагенты.StandardCommand.OpenList + InformationRegister.КурсыВалют.StandardCommand.OpenList + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.OpenList + Catalog.Банки.StandardCommand.OpenList + Catalog.Валюты.StandardCommand.OpenList + + + ActionsPanelCreate + Document.Оплата.StandardCommand.Create + Document.ПоступлениеДенег.StandardCommand.Create + Catalog.Контрагенты.StandardCommand.Create + InformationRegister.КурсыВалют.StandardCommand.Create + Catalog.Контрагенты.StandardCommand.CreateFolder + Catalog.Банки.StandardCommand.Create + Catalog.Валюты.StandardCommand.Create + Catalog.РасчетныеСчетаКонтрагентов.StandardCommand.Create + + + + Subsystem.Финансы.Subsystem.Банк + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Subsystems/\320\221\320\260\320\275\320\272/CommandInterface.cmi" "b/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Subsystems/\320\221\320\260\320\275\320\272/CommandInterface.cmi" new file mode 100644 index 000000000..543b32197 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Subsystems/\320\221\320\260\320\275\320\272/CommandInterface.cmi" @@ -0,0 +1,22 @@ + + + + + Catalog.РасчетныеСчета.StandardCommand.OpenList + + true + + Role.Продавец + + + + + Catalog.РасчетныеСчета.StandardCommand.Create + + + Role.Продавец + + + + + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Subsystems/\320\221\320\260\320\275\320\272/\320\221\320\260\320\275\320\272.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Subsystems/\320\221\320\260\320\275\320\272/\320\221\320\260\320\275\320\272.mdo" new file mode 100644 index 000000000..cc7d256b3 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/Subsystems/\320\221\320\260\320\275\320\272/\320\221\320\260\320\275\320\272.mdo" @@ -0,0 +1,13 @@ + + + Банк + + ru + Банк + + + true + true + Catalog.РасчетныеСчета + Subsystem.Финансы + diff --git "a/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/\320\244\320\270\320\275\320\260\320\275\321\201\321\213.mdo" "b/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/\320\244\320\270\320\275\320\260\320\275\321\201\321\213.mdo" new file mode 100644 index 000000000..89982ac22 --- /dev/null +++ "b/fixtures/demo-configuration/src/Subsystems/\320\244\320\270\320\275\320\260\320\275\321\201\321\213/\320\244\320\270\320\275\320\260\320\275\321\201\321\213.mdo" @@ -0,0 +1,30 @@ + + + Финансы + + ru + Финансы + + + true + true + + ru + Расчеты с контрагентами, счета, банки + + + CommonPicture.ПодсистемаФинансы + + Catalog.Контрагенты + Catalog.РасчетныеСчетаКонтрагентов + Catalog.Банки + Document.Оплата + Document.ПоступлениеДенег + DocumentJournal.ФинансовыеДокументы + Report.ОтчетПоВзаиморасчетам + Report.ДокументыОплата + InformationRegister.КурсыВалют + AccumulationRegister.Взаиморасчеты + Catalog.Валюты + Банк + diff --git a/fixtures/demo-configuration/src/WebServices/MAExchange/MAExchange.mdo b/fixtures/demo-configuration/src/WebServices/MAExchange/MAExchange.mdo new file mode 100644 index 000000000..601d26ea2 --- /dev/null +++ b/fixtures/demo-configuration/src/WebServices/MAExchange/MAExchange.mdo @@ -0,0 +1,249 @@ + + + MAExchange + + ru + MAExchange + + + http://localhost/ws1 + + XDTOPackage.ОбменСМобильнымУстройством + + + http://v8.1c.ru/8.1/data-composition-system/details + + + http://v8.1c.ru/8.1/data/core + + + http://v8.1c.ru/8.1/data/enterprise/current-config + + + http://v8.1c.ru/8.3/data/ext + + ws1.1cws + 20 + + НачатьОбмен + + ru + Начать обмен + + + + string + http://www.w3.org/2001/XMLSchema + + true + НачатьОбмен + Managed + + КодУзла + + ru + Код узла + + + + string + http://www.w3.org/2001/XMLSchema + + + + НаименованиеМобильногоКомпьютера + + ru + Наименование мобильного компьютера + + + + string + http://www.w3.org/2001/XMLSchema + + true + + + НомерОтправленного + + ru + Номер отправленного + + + + decimal + http://www.w3.org/2001/XMLSchema + + true + + + НомерПринятого + + ru + Номер принятого + + + + decimal + http://www.w3.org/2001/XMLSchema + + true + + + Версия + + ru + Версия + + + + string + http://www.w3.org/2001/XMLSchema + + + + + ПолучитьДанные + + ru + Получить данные + + + + ValueStorage + http://v8.1c.ru/8.1/data/core + + ПолучитьДанные + Managed + + КодУзла + + ru + Код узла + + + + string + http://www.w3.org/2001/XMLSchema + + + + + ЗаписатьДанные + + ru + Записать данные + + + + string + http://www.w3.org/2001/XMLSchema + + true + ЗаписатьДанные + Managed + + КодУзла + + ru + Код узла + + + + string + http://www.w3.org/2001/XMLSchema + + + + ДанныеМобильногоПриложения + + ru + Данные мобильного приложения + + + + ValueStorage + http://v8.1c.ru/8.1/data/core + + + + + ПолучитьОтчет + + ru + Получить отчет + + + + SpreadsheetDocument + http://v8.1c.ru/8.2/data/spreadsheet + + ПолучитьОтчет + Managed + + Настройки + + ru + Настройки + + + + string + http://www.w3.org/2001/XMLSchema + + + + ИнформацияРасшифровки + + ru + Информация расшифровки + + + + string + http://www.w3.org/2001/XMLSchema + + Out + + + + НовыйИдентификаторПодписчикаУведомлений + + ru + Новый идентификатор подписчика уведомлений + + + + string + http://www.w3.org/2001/XMLSchema + + true + НовыйИдентификаторПодписчикаУведомлений + Managed + + КодУзла + + ru + Код узла + + + + string + http://www.w3.org/2001/XMLSchema + + + + ИдентификаторXDTO + + ru + Идентификатор XDTO + + + + DeliverableNotificationSubscriberID + http://v8.1c.ru/8.3/data/ext + + true + + + diff --git a/fixtures/demo-configuration/src/WebServices/MAExchange/Module.bsl b/fixtures/demo-configuration/src/WebServices/MAExchange/Module.bsl new file mode 100644 index 000000000..8d304e992 --- /dev/null +++ b/fixtures/demo-configuration/src/WebServices/MAExchange/Module.bsl @@ -0,0 +1,167 @@ +// Операция начала обмена +// проверяет, что нужный узел добавлен в план и правильно инициализирован +// +// Параметры: +// КодУзла – идентификатор данного узла, используется как код узла плана обмена +// НаименованиеМобильногоКомпьютера - читаемое представление данного узла, не обязательно, изменяемое, используется как наименование узла плана обмена +// НомерОтправленного - номер последнего отправленного пакета, предназначен для восстановления обмена, если узел был удален +// НомерПринятого - номер последнего принятого пакета, предназначен для восстановления обмена, если узел был удален +// +// Возвращаемое значение: +// нет +// +Функция НачатьОбмен(КодУзла, НаименованиеМобильногоКомпьютера, НомерОтправленного, НомерПринятого, Версия) + + Если Число(Версия) <> 6 Тогда + + ВызватьИсключение(НСтр("ru='Требуется обновление мобильного приложения!'")); + + КонецЕсли; + + Если НЕ ПравоДоступа("Чтение", Метаданные.ПланыОбмена.Мобильные) Тогда + + ВызватьИсключение(НСтр("ru='У пользователя ""'") + Пользователи.ТекущийПользователь() + НСтр("ru='"" нет прав на синхронизацию данных с приложением 1С:Заказы'")); + + КонецЕсли; + + УстановитьПривилегированныйРежим(Истина); + + УзелОбмена = ПланыОбмена.Мобильные.ЭтотУзел().ПолучитьОбъект(); + Если Не ЗначениеЗаполнено(УзелОбмена.Код) Тогда + + УзелОбмена.Код="001"; + УзелОбмена.Наименование="Центральный"; + УзелОбмена.Записать(); + + КонецЕсли; + + УзелОбмена = ПланыОбмена.Мобильные.НайтиПоКоду(КодУзла); + Если УзелОбмена.Пустая() Тогда + + НовыйУзел = ПланыОбмена.Мобильные.СоздатьУзел(); + + НачатьТранзакцию(); + + Блокировка = Новый БлокировкаДанных; + ЭлементБлокировки = Блокировка.Добавить("Константа.КодНовогоУзлаПланаОбмена"); + ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный; + Блокировка.Заблокировать(); + + КодНовогоУзла = Константы.КодНовогоУзлаПланаОбмена.Получить(); + Если КодНовогоУзла = 0 Тогда + КодНовогоУзла = 2; + КонецЕсли; + Константы.КодНовогоУзлаПланаОбмена.Установить(КодНовогоУзла + 1); + + ЗафиксироватьТранзакцию(); + + Если СтрДлина(КодНовогоУзла) < 3 Тогда + НовыйУзел.Код = Формат(КодНовогоУзла, "ЧЦ=3; ЧВН="); + Иначе + НовыйУзел.Код = КодНовогоУзла; + КонецЕсли; + НовыйУзел.Наименование = НаименованиеМобильногоКомпьютера; + НовыйУзел.НомерОтправленного = НомерОтправленного; + НовыйУзел.НомерПринятого = НомерПринятого; + НовыйУзел.Записать(); + ОбменМобильныеПереопределяемый.ЗарегистрироватьИзмененияДанных(НовыйУзел.Ссылка); + УзелОбмена = НовыйУзел.Ссылка; + + Иначе + + Если УзелОбмена.ПометкаУдаления ИЛИ + УзелОбмена.Наименование <> НаименованиеМобильногоКомпьютера Тогда + + Узел = УзелОбмена.ПолучитьОбъект(); + Узел.ПометкаУдаления = Ложь; + Узел.Наименование = НаименованиеМобильногоКомпьютера; + Узел.Записать(); + + КонецЕсли; + + Если УзелОбмена.НомерОтправленного <> НомерОтправленного ИЛИ + УзелОбмена.НомерПринятого <> НомерПринятого Тогда + + Узел = УзелОбмена.ПолучитьОбъект(); + Узел.НомерОтправленного = НомерОтправленного; + Узел.НомерПринятого = НомерПринятого; + Узел.Записать(); + ОбменМобильныеПереопределяемый.ЗарегистрироватьИзмененияДанных(УзелОбмена); + + КонецЕсли; + + КонецЕсли; + Возврат УзелОбмена.Код; +КонецФункции + +// Операция получения данных +// получает пакет изменений предназначенных для данного узла +// +// Параметры: +// КодУзла – код узла, с которым идет обмен +// +// Возвращаемое значение: +// ХранилищеЗначения, в которое помещен пакет обмена +// +Функция ПолучитьДанные(КодУзла) + + УзелОбмена = ПланыОбмена.Мобильные.НайтиПоКоду(КодУзла); + + Если УзелОбмена.Пустая() Тогда + ВызватьИсключение(НСтр("ru='Неизвестное устройство - '") + КодУзла); + КонецЕсли; + ОбменМобильныеПереопределяемый.СформироватьЗаказанныеОтчеты(УзелОбмена); + Возврат ОбменМобильныеОбщее.СформироватьПакетОбмена(УзелОбмена); + +КонецФункции + +// Операция записи данных +// записывает пакет изменений принятых от данного узла +// +// Параметры: +// КодУзла – код узла, с которым идет обмен +// ДанныеМобильногоПриложения - ХранилищеЗначения, в которое помещен пакет обмена +// +// Возвращаемое значение: +// нет +// +Функция ЗаписатьДанные(КодУзла, ДанныеМобильногоПриложения) + + УзелОбмена = ПланыОбмена.Мобильные.НайтиПоКоду(КодУзла); + + Если УзелОбмена.Пустая() Тогда + ВызватьИсключение(НСтр("ru='Неизвестное устройство - '") + КодУзла); + КонецЕсли; + ОбменМобильныеОбщее.ПринятьПакетОбмена(УзелОбмена, ДанныеМобильногоПриложения); + +КонецФункции + +// Операция удаленного получения отчета +// +// Параметры: +// Настройки – настройки отчета, структура сериализованная в XDTO +// +// Возвращаемое значение: +// ТабличныйДокумент - сформированный отчет, сериализованный в XDTO +// +Функция ПолучитьОтчет(Настройки, СтрокаИнформацииРасшифровки) + + ИнформацияРасшифровки = Неопределено; + ТабличныйДокумент = ОбменМобильныеПереопределяемый.СформироватьОтчет(Настройки, ИнформацияРасшифровки); + СтрокаИнформацииРасшифровки = СериализаторXDTO.ЗаписатьXDTO(ИнформацияРасшифровки); + Возврат СериализаторXDTO.ЗаписатьXDTO(ТабличныйДокумент); + +КонецФункции + +Функция НовыйИдентификаторПодписчикаУведомлений(КодУзла, ИдентификаторXDTO) + + Идентификатор = СериализаторXDTO.ПрочитатьXDTO(ИдентификаторXDTO); + УзелОбмена = ПланыОбмена.Мобильные.НайтиПоКоду(КодУзла); + + Если УзелОбмена.Пустая() Тогда + ВызватьИсключение(НСтр("ru='Неизвестное устройство - '") + КодУзла); + КонецЕсли; + + Справочники.МобильныеУстройства.НовыйИдентификаторПодписчикаУведомлений(УзелОбмена, Идентификатор); + +КонецФункции diff --git "a/fixtures/demo-configuration/src/XDTOPackages/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274/Package.xdto" "b/fixtures/demo-configuration/src/XDTOPackages/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274/Package.xdto" new file mode 100644 index 000000000..4928382ec --- /dev/null +++ "b/fixtures/demo-configuration/src/XDTOPackages/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274/Package.xdto" @@ -0,0 +1 @@ + \ No newline at end of file diff --git "a/fixtures/demo-configuration/src/XDTOPackages/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274.mdo" "b/fixtures/demo-configuration/src/XDTOPackages/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274.mdo" new file mode 100644 index 000000000..6481c10f5 --- /dev/null +++ "b/fixtures/demo-configuration/src/XDTOPackages/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274/\320\236\320\261\320\274\320\265\320\275\320\241\320\234\320\276\320\261\320\270\320\273\321\214\320\275\321\213\320\274\320\243\321\201\321\202\321\200\320\276\320\271\321\201\321\202\320\262\320\276\320\274.mdo" @@ -0,0 +1,10 @@ + + + ОбменСМобильнымУстройством + + ru + Обмен с мобильным устройством + + + http://localhost/ws1 + diff --git a/tests/.settings/com.e1c.v8codestyle.bsl.prefs b/tests/.settings/com.e1c.v8codestyle.bsl.prefs new file mode 100644 index 000000000..67c99dfb6 --- /dev/null +++ b/tests/.settings/com.e1c.v8codestyle.bsl.prefs @@ -0,0 +1,3 @@ +addModuleStrictTypesAnnotation=false +createModuleStructure=true +eclipse.preferences.version=1 diff --git a/tests/.settings/templates/common_module.bsl b/tests/.settings/templates/common_module.bsl new file mode 100644 index 000000000..daedcb227 --- /dev/null +++ b/tests/.settings/templates/common_module.bsl @@ -0,0 +1,58 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты + .ДобавитьТест("ТестовыйМетод") + .ДобавитьТест("ТестовыйМетод").СПараметрами(1, 2, 3); + ; + +КонецПроцедуры + +#Область События + +Процедура ПередВсемиТестами() Экспорт + +КонецПроцедуры + +Процедура ПередКаждымТестом() Экспорт + +КонецПроцедуры + +Процедура ПослеКаждогоТеста() Экспорт + +КонецПроцедуры + +Процедура ПослеВсехТестов() Экспорт + +КонецПроцедуры + +#КонецОбласти + +Процедура ТестовыйМетод() Экспорт + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" index 2f4772eab..5cec2fe3b 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\234\320\276\320\272\320\270\321\202\320\276/Module.bsl" @@ -25,7 +25,9 @@ .ДобавитьТест("Обучение_ЦепочкаВызовов") .ДобавитьТест("Проверить") .ДобавитьТест("Прогон_НакоплениеСтатистики").СПараметрами(Истина).СПараметрами(Ложь) - .ДобавитьСерверныйТест("МокированиеМетодовСсылочныхОбъектов") + .ДобавитьСерверныйТест("МокированиеМетодовСсылочныхОбъектов").ВТранзакции() + .ДобавитьТест("ОшибкаПодбораРеакции") + .ДобавитьТест("ИспользованиеПредикатов") ; КонецПроцедуры @@ -50,6 +52,7 @@ .Равно(2); Описание = "Обучение через указание имени и набора параметров"; + Мокито.Обучение(Интеграция) .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров(ЛюбойПараметр, ЛюбойПараметр)) .Вернуть(20) @@ -230,6 +233,76 @@ КонецПроцедуры +Процедура ОшибкаПодбораРеакции() Экспорт + + Мокито.Обучение(Интеграция) + .Когда("ВыполнитьЗапрос") + .ВыброситьИсключение("Не установлен ответ") + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров("api/versions")) + .Вернуть(200) + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров("sessions")) + .Вернуть(200) + .Прогон(); + + ЮТУтверждения.Что(Интеграция.ВыполнитьЗапрос("api/versions")).Равно(200); + ЮТУтверждения.Что(Интеграция.ВыполнитьЗапрос("sessions")).Равно(200); + + Мокито.Обучение(Интеграция, Ложь) + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров("sessions")) + .Вернуть(403) + .Прогон(); + + ЮТУтверждения.Что(Интеграция.ВыполнитьЗапрос("api/versions")).Равно(200); + ЮТУтверждения.Что(Интеграция.ВыполнитьЗапрос("sessions")).Равно(403); + +КонецПроцедуры + +Процедура ИспользованиеПредикатов() Экспорт + + ЛюбойПараметр = Мокито.ЛюбойПараметр(); + УсловиеСтруктура = ЮТест.Предикат() + .ИмеетТип("Структура") + .Реквизит("Флаг").Равно(1) + .Получить(); + Адрес = "service.ru"; + + Мокито.Обучение(Интеграция) + .Когда("ВыполнитьЗапрос") + .ВыброситьИсключение("Не отработал перехват") + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров(ЛюбойПараметр, УсловиеСтруктура)) + .Вернуть(1) + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров(ЛюбойПараметр, ЮТест.Предикат().Реквизит("Флаг").Равно(2))) + .Вернуть(2) + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров(ЛюбойПараметр, ЮТест.Предикат().ИмеетТип("Массив").Реквизит(0).Равно(3))) + .Вернуть(3) + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров(ЛюбойПараметр, ЮТест.Предикат().Равно(4))) + .Вернуть(4) + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров(ЮТест.Предикат().Содержит("com"), ЮТест.Предикат().Равно(4))) + .Вернуть(5) + .Когда("ВыполнитьЗапрос", Мокито.МассивПараметров(ЮТест.Предикат().Содержит("org").Получить(), ЮТест.Предикат().Равно(4))) + .Вернуть(6) + .Прогон() + ; + + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос(Адрес, Новый Структура("Флаг", 1))) + .Равно(1); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос(Адрес, 4)) + .Равно(4); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("service.com", 4)) + .Равно(4); // Не вернет 5, потому что если несколько предиктов в условиях параметров, нужно использовать Получить + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос("service.org", 4)) + .Равно(6); // + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос(Адрес, ЮТОбщий.ЗначениеВМассиве(3))) + .Равно(3); + ЮТест.ОжидаетЧто(Интеграция.ВыполнитьЗапрос(Адрес, Новый Структура("Флаг", 2))) + .Равно(2); + + Мокито.Проверить(Интеграция) + .КоличествоВызовов("ВыполнитьЗапрос").Равно(6) + .КоличествоВызовов("ВыполнитьЗапрос", Мокито.МассивПараметров(ЮТест.Предикат().Содержит("ru"))).Равно(4) + .КоличествоВызовов("ВыполнитьЗапрос", Мокито.МассивПараметров(ЛюбойПараметр, Новый Структура("Флаг", 2))).Равно(1) +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" new file mode 100644 index 000000000..9759628a0 --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/Module.bsl" @@ -0,0 +1,333 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты.ВТранзакции().УдалениеТестовыхДанных() + .ДобавитьТест("ЗначенияРеквизитов") + .ДобавитьТест("ЗначениеРеквизита") + .ДобавитьТест("ТаблицаСодержитЗаписи") + .ДобавитьТест("РезультатЗапроса") + .ДобавитьТест("РезультатПустой") + .ДобавитьТест("Запись") + .ДобавитьТест("Записи") + .ДобавитьТест("ЗначенияРеквизитовЗаписи") + .ДобавитьТест("ЗначениеРеквизитаЗаписи") + ; + +КонецПроцедуры + +Процедура ЗначенияРеквизитов() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Штрихкод") + .Фикция("Поставщик"); + Данные = Конструктор.ДанныеОбъекта(); + Ссылка = Конструктор.Записать(); + + ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитов(Ссылка, "Наименование"); + ЮТест.ОжидаетЧто(ДанныеСсылки) + .ИмеетТип("Структура") + .Заполнено() + .Свойство("Наименование").Равно(Данные.Наименование); + + ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитов(Ссылка, "Штрихкод, Поставщик"); + ЮТест.ОжидаетЧто(ДанныеСсылки) + .ИмеетТип("Структура") + .Заполнено() + .Свойство("Штрихкод").Равно(Данные.Штрихкод) + .Свойство("Поставщик").Равно(Данные.Поставщик); + + ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитов(ПредопределенноеЗначение("Справочник.Товары.ПустаяСсылка"), "Код, Поставщик"); + ЮТест.ОжидаетЧто(ДанныеСсылки) + .ИмеетТип("Структура") + .Заполнено() + .Свойство("Код").Равно(Неопределено) + .Свойство("Поставщик").Равно(Неопределено); + +КонецПроцедуры + +Процедура ЗначениеРеквизита() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Поставщик"); + Данные = Конструктор.ДанныеОбъекта(); + Ссылка = Конструктор.Записать(); + + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизита(Ссылка, "Наименование")) + .ИмеетТип("Строка") + .Заполнено() + .Равно(Данные.Наименование); + + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизита(Ссылка, "Поставщик")) + .Равно(Данные.Поставщик); + + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизита(Ссылка, "Наименование, Поставщик")) + .Равно(Данные.Наименование); + + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизита(ПредопределенноеЗначение("Справочник.Товары.ПустаяСсылка"), "Наименование")) + .Равно(Неопределено); + +КонецПроцедуры + +Процедура ТаблицаСодержитЗаписи() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Поставщик"); + Конструктор.Записать(); + ДанныеСправочника = Конструктор.ДанныеОбъекта(); + + ЮТест.ОжидаетЧто(ЮТЗапросы.ТаблицаСодержитЗаписи("Справочник.Товары")).ЭтоИстина(); + ЮТест.ОжидаетЧто(ЮТЗапросы.ТаблицаСодержитЗаписи("Справочник.МобильныеУстройства")).ЭтоЛожь(); + + ЮТест.ОжидаетЧто( + ЮТЗапросы.ТаблицаСодержитЗаписи("Справочник.Товары", + ЮТест.Предикат() + .Реквизит("Наименование").Равно(ДанныеСправочника.Наименование))) + .ЭтоИстина(); + + ЮТест.ОжидаетЧто( + ЮТЗапросы.ТаблицаСодержитЗаписи("Справочник.Товары", + ЮТест.Предикат() + .Реквизит("Наименование").Равно(1))) + .ЭтоЛожь(); + +КонецПроцедуры + +Процедура РезультатЗапроса() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Поставщик"); + Ссылка = Конструктор.Записать(); + ДанныеСправочника = Конструктор.ДанныеОбъекта(); + + ОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса(); + ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары"; + ОписаниеЗапроса.Условия.Добавить("Ссылка = &Ссылка"); + ОписаниеЗапроса.Условия.Добавить("НЕ ПометкаУдаления"); + ОписаниеЗапроса.ЗначенияПараметров.Вставить("Ссылка", Ссылка); + ОписаниеЗапроса.ВыбираемыеПоля.Добавить("Наименование"); + ОписаниеЗапроса.ВыбираемыеПоля.Добавить("1+1 КАК Число"); + + ЮТест.ОжидаетЧто(ЮТЗапросы.РезультатЗапроса(ОписаниеЗапроса)) + .ИмеетДлину(1) + .Свойство("[0].Наименование").Равно(ДанныеСправочника.Наименование) + .Свойство("[0].Число").Равно(2); + +КонецПроцедуры + +Процедура РезультатПустой() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Поставщик"); + Ссылка = Конструктор.Записать(); + ДанныеСправочника = Конструктор.ДанныеОбъекта(); + + ОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса(); + ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары"; + ОписаниеЗапроса.Условия.Добавить("Ссылка = &Ссылка"); + ОписаниеЗапроса.ЗначенияПараметров.Вставить("Ссылка", Ссылка); + + ЮТест.ОжидаетЧто(ЮТЗапросы.РезультатПустой(ОписаниеЗапроса)).ЭтоЛожь(); + + ОписаниеЗапроса.Условия.Добавить("ПометкаУдаления"); + ЮТест.ОжидаетЧто(ЮТЗапросы.РезультатПустой(ОписаниеЗапроса)).ЭтоИстина(); + +КонецПроцедуры + +Процедура Запись() Экспорт + + // Справочник + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Поставщик"); + Ссылка = Конструктор.Записать(); + ДанныеОбъекта = Конструктор.ДанныеОбъекта(); + + ДанныеЗаписи = ЮТЗапросы.Запись("Справочник.Товары", ЮТест.Предикат() + .Реквизит("Ссылка").Равно(Ссылка)); + + ДанныеЗаписи = ЮТЗапросы.Запись("Справочник.Товары", ЮТест.Предикат() + .Реквизит("Поставщик").Равно(ДанныеОбъекта.Поставщик)); + + ЮТест.ОжидаетЧто(ДанныеЗаписи) + .ИмеетТип("Структура") + .Заполнено() + .Свойство("Ссылка").Равно(Ссылка) + .Свойство("Наименование").Равно(ДанныеОбъекта.Наименование) + .Свойство("Поставщик").Равно(ДанныеОбъекта.Поставщик); + + // Справочник поиск по реквизиту + ДанныеЗаписи = ЮТЗапросы.Запись("Справочник.Товары", ЮТест.Предикат() + .Реквизит("Поставщик").Равно(ДанныеОбъекта.Поставщик)); + + ЮТест.ОжидаетЧто(ДанныеЗаписи) + .Свойство("Ссылка").Равно(Ссылка); + + // Документ, тест на табличную часть + Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара") + .Фикция("Склад") + .Фикция("Организация") + .Фикция("Поставщик") + .ТабличнаяЧасть("Товары") + .ДобавитьСтроку() + .Фикция("Товар") + .Фикция("Цена"); + + Ссылка = Конструктор.Записать(); + ДанныеОбъекта = Конструктор.ДанныеОбъекта(); + + ДанныеЗаписи = ЮТЗапросы.Запись("Документ.ПриходТовара", ЮТест.Предикат() + .Реквизит("Ссылка").Равно(Ссылка)); + + ЮТест.ОжидаетЧто(ДанныеЗаписи) + .Свойство("Ссылка").Равно(Ссылка) + .Свойство("Поставщик").Равно(ДанныеОбъекта.Поставщик) + .Свойство("Товары") + .ИмеетТип("Массив") + .ИмеетДлину(1) + .Свойство("Товары[0].НомерСтроки").Равно(1) + .Свойство("Товары[0].Товар").Равно(ДанныеОбъекта.Товары[0].Товар); + + ДанныеЗаписи = ЮТЗапросы.Запись("Документ.ПриходТовара.Товары", ЮТест.Предикат() + .Реквизит("Товар").Равно(ДанныеОбъекта.Товары[0].Товар)); + ЮТест.ОжидаетЧто(ДанныеЗаписи) + .Свойство("Ссылка").Равно(Ссылка) + .Свойство("Товар").Равно(ДанныеОбъекта.Товары[0].Товар); + + // Регистры + Конструктор = ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют") + .Фикция("Период") + .Фикция("Валюта") + .Фикция("Курс"); + Конструктор.Записать(); + ДанныеОбъекта = Конструктор.ДанныеОбъекта(); + + ДанныеЗаписи = ЮТЗапросы.Запись("РегистрСведений.КурсыВалют", ЮТест.Предикат() + .Реквизит("Валюта").Равно(ДанныеОбъекта.Валюта)); + + ЮТест.ОжидаетЧто(ДанныеЗаписи) + .Свойство("Валюта").Равно(ДанныеОбъекта.Валюта) + .Свойство("Курс").Равно(ДанныеОбъекта.Курс); + +КонецПроцедуры + +Процедура Записи() Экспорт + + ТоварыПоставщика = Новый Соответствие(); + Поставщик = ЮТест.Данные().СоздатьЭлемент("Справочники.Контрагенты"); + + Для Инд = 1 По 5 Цикл + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Установить("Поставщик", Поставщик); + ТоварыПоставщика.Вставить(Конструктор.Записать(), Конструктор.ДанныеОбъекта()); + КонецЦикла; + + Записи = ЮТЗапросы.Записи("Справочник.Товары", ЮТест.Предикат() + .Реквизит("Поставщик").Равно(Поставщик)); + + ЮТест.ОжидаетЧто(Записи) + .ИмеетТип("Массив") + .ИмеетДлину(5); + + Для Каждого Запись Из Записи Цикл + ЮТест.ОжидаетЧто(Запись) + .ИмеетТип("Структура") + .Свойство("Ссылка") + .Свойство("Поставщик").Равно(Поставщик) + .Свойство("Код"); + КонецЦикла; + +КонецПроцедуры + +Процедура ЗначенияРеквизитовЗаписи() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Штрихкод") + .Фикция("Поставщик"); + Данные = Конструктор.ДанныеОбъекта(); + Конструктор.Записать(); + + Предикат = ЮТест.Предикат().Реквизит("Наименование").Равно(Данные.Наименование); + ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитовЗаписи("Справочник.Товары", Предикат, "Наименование"); + ЮТест.ОжидаетЧто(ДанныеСсылки) + .ИмеетТип("Структура") + .Заполнено() + .Свойство("Наименование").Равно(Данные.Наименование); + + Предикат = ЮТест.Предикат() + .Реквизит("Штрихкод").Равно(Данные.Штрихкод) + .Реквизит("Поставщик").Равно(Данные.Поставщик); + ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитовЗаписи("Справочник.Товары", Предикат, "Штрихкод, Поставщик, Поставщик.Наименование"); + ЮТест.ОжидаетЧто(ДанныеСсылки) + .ИмеетТип("Структура") + .Заполнено() + .Свойство("Штрихкод").Равно(Данные.Штрихкод) + .Свойство("Поставщик").Равно(Данные.Поставщик) + .Свойство("ПоставщикНаименование").Равно(Строка(Данные.Поставщик)); + + Предикат = ЮТест.Предикат().Реквизит("Ссылка").Равно(ПредопределенноеЗначение("Справочник.Товары.ПустаяСсылка")); + ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитовЗаписи("Справочник.Товары", Предикат, "Код, Поставщик"); + ЮТест.ОжидаетЧто(ДанныеСсылки) + .ИмеетТип("Структура") + .Заполнено() + .Свойство("Код").Равно(Неопределено) + .Свойство("Поставщик").Равно(Неопределено); + +КонецПроцедуры + +Процедура ЗначениеРеквизитаЗаписи() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Поставщик"); + Данные = Конструктор.ДанныеОбъекта(); + Конструктор.Записать(); + + Предикат = ЮТест.Предикат().Реквизит("Наименование").Равно(Данные.Наименование); + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Наименование")) + .ИмеетТип("Строка") + .Заполнено() + .Равно(Данные.Наименование); + + Предикат = ЮТест.Предикат().Реквизит("Поставщик").Равно(Данные.Поставщик); + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Поставщик")) + .Равно(Данные.Поставщик); + + Предикат = ЮТест.Предикат() + .Реквизит("Наименование").Равно(Данные.Наименование) + .Реквизит("Поставщик").Равно(Данные.Поставщик); + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Наименование, Поставщик")) + .Равно(Данные.Наименование); + + Предикат = ЮТест.Предикат().Реквизит("Ссылка").Равно(ПредопределенноеЗначение("Справочник.Товары.ПустаяСсылка")); + ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Наименование")) + .Равно(Неопределено); + +КонецПроцедуры + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213.mdo" new file mode 100644 index 000000000..47e37a97c --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213/\320\236\320\234_\320\256\320\242\320\227\320\260\320\277\321\200\320\276\321\201\321\213.mdo" @@ -0,0 +1,11 @@ + + + ОМ_ЮТЗапросы + + ru + О м ЮТЗапросы + + true + true + true + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" index 420205ec5..89f752a91 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\232\320\276\320\275\321\201\321\202\321\200\321\203\320\272\321\202\320\276\321\200\320\242\320\265\321\201\321\202\320\276\320\262\321\213\321\205\320\224\320\260\320\275\320\275\321\213\321\205/Module.bsl" @@ -20,11 +20,14 @@ Процедура ИсполняемыеСценарии() Экспорт - ЮТТесты.ВТранзакции() + ЮТТесты.ВТранзакции().УдалениеТестовыхДанных() .ДобавитьТест("ЗаполнитьСправочник") .ДобавитьТест("ЗаполнитьДокумент") + .ДобавитьТест("Фикция") + .ДобавитьТест("ФикцияОбязательныхПолей") + .ДобавитьТест("СоздатьГруппу") ; - + КонецПроцедуры Процедура ЗаполнитьСправочник() Экспорт @@ -35,15 +38,18 @@ Конструктор = ЮТест.Данные().КонструкторОбъекта(Справочники.Товары); #КонецЕсли + НаименованиеПоставщика = ЮТест.Данные().СлучайнаяСтрока(20); Конструктор .Фикция("Наименование") .Фикция("Артикул") - .Фикция("Поставщик") + .Установить("Поставщик", ЮТест.Данные().КонструкторОбъекта("Справочники.Контрагенты") + .Установить("Наименование", НаименованиеПоставщика) + .Записать()) .Фикция("Вид"); ДанныеОбъекта = Конструктор.ДанныеОбъекта(); ЮТест.ОжидаетЧто(ДанныеОбъекта, "Данные создаваемого объекта") - .Свойство("Наименование").Заполнено() + .Свойство("Наименование").Заполнено().НеРавно(НаименованиеПоставщика) .Свойство("Артикул").Заполнено() .Свойство("Поставщик").Заполнено() .Свойство("Вид").Заполнено(); @@ -59,6 +65,8 @@ .Свойство("Вид").Заполнено().Равно(ДанныеОбъекта.Вид); #КонецЕсли + УстановленноеНаименованиеПоставщика = ЮТЗапросы.ЗначениеРеквизита(Ссылка, "Поставщик.Наименование"); + ЮТест.ОжидаетЧто(УстановленноеНаименованиеПоставщика).Равно(НаименованиеПоставщика); КонецПроцедуры Процедура ЗаполнитьДокумент() Экспорт @@ -109,4 +117,82 @@ КонецПроцедуры +Процедура Фикция() Экспорт + + Поставщик = Ютест.Данные().СоздатьЭлемент("Справочники.Контрагенты"); + + Данные = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара") + .Установить("Поставщик", Поставщик) + .Фикция("Дата") + .Фикция("Номер") + .Фикция("Склад") + .Фикция("Валюта") + .ТабличнаяЧасть("Товары") + .ДобавитьСтроку() + .Фикция("Товар", Новый Структура("Поставщик", Поставщик)) + .Фикция("Цена") + .ДанныеОбъекта(); + + ЮТест.ОжидаетЧто(Данные) + .Свойство("Дата").Заполнено() + .Свойство("Номер").Заполнено() + .Свойство("Склад").Заполнено() + .Свойство("Валюта").Заполнено() + .Свойство("Товары[0].Товар").Заполнено(); + + ПоставщикТовара = ЮТЗапросы.ЗначениеРеквизита(Данные.Товары[0].Товар, "Поставщик"); + ЮТест.ОжидаетЧто(ПоставщикТовара).Равно(Поставщик); + +КонецПроцедуры + +Процедура ФикцияОбязательныхПолей() Экспорт + + Данные = ЮТест.Данные().КонструкторОбъекта("Справочники.Контрагенты") + .ФикцияОбязательныхПолей() + .ДанныеОбъекта(); + + ЮТест.ОжидаетЧто(Данные) + .ИмеетДлину(2) + .Свойство("ВидЦен").Заполнено() + .Свойство("Наименование").Заполнено(); + + Данные = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара") + .ФикцияОбязательныхПолей() + .ТабличнаяЧасть("Товары") + .ДобавитьСтроку() + .ФикцияОбязательныхПолей() + .ДанныеОбъекта(); + + ЮТест.ОжидаетЧто(Данные) + .ИмеетДлину(6) + .Свойство("Дата").Заполнено() + .Свойство("Поставщик").Заполнено() + .Свойство("Склад").Заполнено() + .Свойство("Валюта").Заполнено() + .Свойство("Организация").Заполнено() + .Свойство("Товары").Заполнено() + .Свойство("Товары[0]").ИмеетДлину(4); + + Данные = ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют") + .ФикцияОбязательныхПолей() + .ДанныеОбъекта(); + + ЮТест.ОжидаетЧто(Данные) + .ИмеетДлину(3) + .Свойство("Период").Заполнено() + .Свойство("Валюта").Заполнено() + .Свойство("Курс").Заполнено(); +КонецПроцедуры + +Процедура СоздатьГруппу() Экспорт + + Группа = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Установить("ЭтоГруппа", Истина) + .Записать(); + + ЭтоГруппа = ЮТЗапросы.ЗначениеРеквизита(Группа, "ЭтоГруппа"); + ЮТест.ОжидаетЧто(ЭтоГруппа).ЭтоИстина(); + +КонецПроцедуры + #КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" new file mode 100644 index 000000000..734f1f503 --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/Module.bsl" @@ -0,0 +1,82 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты + .ДобавитьТестовыйНабор("Банки") + .ДобавитьТест("БИК") + .ДобавитьТест("НомерСчета") + ; + +КонецПроцедуры + +#Область События + +Процедура ПередВсемиТестами() Экспорт + +КонецПроцедуры + +Процедура ПередКаждымТестом() Экспорт + +КонецПроцедуры + +Процедура ПослеКаждогоТеста() Экспорт + +КонецПроцедуры + +Процедура ПослеВсехТестов() Экспорт + +КонецПроцедуры + +#КонецОбласти + +Процедура БИК() Экспорт + БИК = ЮТТестовыеДанные.Подражатель().Банки().БИК(); + Ютест.ОжидаетЧто(БИК) + .ИмеетТип("Строка") + .Заполнено() + .ИмеетДлину(9) + ; +КонецПроцедуры + +Процедура НомерСчета() Экспорт + БИК = ЮТТестовыеДанные.Подражатель().Банки().БИК(); + КодВалюты = "978"; + НомерСчета = ЮТТестовыеДанные.Подражатель().Банки().НомерСчета(БИК, КодВалюты); + + Ютест.ОжидаетЧто(НомерСчета) + .ИмеетТип("Строка") + .Заполнено() + .ИмеетДлину(20) + ; + + КодВалютыИзСчета = Сред(НомерСчета, 6, 3); + ЮТест.ОжидаетЧто(КодВалютыИзСчета) + .Равно(КодВалюты) + ; + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270.mdo" new file mode 100644 index 000000000..c1dd5b3b9 --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\221\320\260\320\275\320\272\320\270.mdo" @@ -0,0 +1,11 @@ + + + ОМ_ЮТПодражатель_Банки + + ru + О м ЮТПодражатель банки + + true + true + true + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" new file mode 100644 index 000000000..960de25b0 --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/Module.bsl" @@ -0,0 +1,89 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты + .ДобавитьТестовыйНабор("Компании") + .ДобавитьТест("Наименование") + .ДобавитьТест("ИНН") + .ДобавитьТест("КПП") + ; + +КонецПроцедуры + +#Область События + +Процедура ПередВсемиТестами() Экспорт + +КонецПроцедуры + +Процедура ПередКаждымТестом() Экспорт + +КонецПроцедуры + +Процедура ПослеКаждогоТеста() Экспорт + +КонецПроцедуры + +Процедура ПослеВсехТестов() Экспорт + +КонецПроцедуры + +#КонецОбласти + +Процедура Наименование() Экспорт + Имя = ЮТТестовыеДанные.Подражатель().Компании().Наименование(); + Ютест.ОжидаетЧто(Имя) + .ИмеетТип("Строка") + .Заполнено() + ; + + ЮТест.ОжидаетЧто(СтрДлина(Имя)) + .Больше(1) + ; +КонецПроцедуры + +Процедура ИНН() Экспорт + ИНН = ЮТТестовыеДанные.Подражатель().Компании().ИНН("77"); + Ютест.ОжидаетЧто(ИНН) + .ИмеетТип("Строка") + .Заполнено() + .ИмеетДлину(10) + .НачинаетсяС("77") + ; + ЮТЛогирование.Отладка("ИНН: " + ИНН); +КонецПроцедуры + +Процедура КПП() Экспорт + ИНН = ЮТТестовыеДанные.Подражатель().Компании().КПП("7701"); + Ютест.ОжидаетЧто(ИНН) + .ИмеетТип("Строка") + .Заполнено() + .ИмеетДлину(9) + .НачинаетсяС("7701") + ; +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" new file mode 100644 index 000000000..178684980 --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\232\320\276\320\274\320\277\320\260\320\275\320\270\320\270.mdo" @@ -0,0 +1,11 @@ + + + ОМ_ЮТПодражатель_Компании + + ru + О м ЮТПодражатель компании + + true + true + true + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" new file mode 100644 index 000000000..2a1750729 --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/Module.bsl" @@ -0,0 +1,161 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты + .ДобавитьТестовыйНабор("ИменаЛюдей") + .ДобавитьТест("Имя") + .ДобавитьТест("Фамилия") + .ДобавитьТест("Отчество") + .ДобавитьТест("ФИО") + .ДобавитьТест("ИНН") + .ДобавитьТест("СНИЛС") + .ДобавитьТестовыйНабор("Локализации") + .ДобавитьТест("УстановкаЛокализации") + .ДобавитьТест("НесуществующийСловарьПоЛокализации") + .ДобавитьТестовыйНабор("Некорректные параметры") + .ДобавитьТест("НереализованныйПолЧеловека") + ; + +КонецПроцедуры + +#Область События + +Процедура ПередВсемиТестами() Экспорт + +КонецПроцедуры + +Процедура ПередКаждымТестом() Экспорт + +КонецПроцедуры + +Процедура ПослеКаждогоТеста() Экспорт + +КонецПроцедуры + +Процедура ПослеВсехТестов() Экспорт + +КонецПроцедуры + +#КонецОбласти + +Процедура Имя() Экспорт + Имя = ЮТТестовыеДанные.Подражатель().Люди().Имя(); + Ютест.ОжидаетЧто(Имя) + .ИмеетТип("Строка") + .Заполнено() + ; + + ЮТест.ОжидаетЧто(СтрДлина(Имя)) + .Больше(1) + ; +КонецПроцедуры + +Процедура Фамилия() Экспорт + Фамилия = ЮТТестовыеДанные.Подражатель().Люди().Фамилия(); + Ютест.ОжидаетЧто(Фамилия) + .ИмеетТип("Строка") + .Заполнено() + ; + + ЮТест.ОжидаетЧто(СтрДлина(Фамилия)) + .Больше(1) + ; +КонецПроцедуры + +Процедура Отчество() Экспорт + Отчество = ЮТТестовыеДанные.Подражатель().Люди().Отчество(); + Ютест.ОжидаетЧто(Отчество) + .ИмеетТип("Строка") + .Заполнено() + ; + + ЮТест.ОжидаетЧто(СтрДлина(Отчество)) + .Больше(1) + ; +КонецПроцедуры + +Процедура ФИО() Экспорт + ФИО = ЮТТестовыеДанные.Подражатель().Люди().ФИО(); + Ютест.ОжидаетЧто(ФИО) + .ИмеетТип("Строка") + .Заполнено() + ; + + ЮТест.ОжидаетЧто(СтрРазделить(ФИО, " ")) + .ИмеетДлину(3) + ; +КонецПроцедуры + +Процедура ИНН() Экспорт + ИНН = ЮТТестовыеДанные.Подражатель().Люди().ИНН(); + Ютест.ОжидаетЧто(ИНН) + .ИмеетТип("Строка") + .Заполнено() + .ИмеетДлину(12) + ; +КонецПроцедуры + +Процедура СНИЛС() Экспорт + СНИЛС = ЮТТестовыеДанные.Подражатель().Люди().СНИЛС(); + Ютест.ОжидаетЧто(СНИЛС) + .ИмеетТип("Строка") + .Заполнено() + .ИмеетДлину(14) + ; +КонецПроцедуры + +Процедура УстановкаЛокализации() Экспорт + + Подражатель = ЮТТестовыеДанные.Подражатель(); + ЮТест.ОжидаетЧто(Подражатель.Локализация()) + .Равно("ru") + ; + Подражатель.УстановитьЛокализацию("en"); + + ЮТест.ОжидаетЧто(Подражатель.Локализация()) + .Равно("en") + ; + +КонецПроцедуры + +Процедура НесуществующийСловарьПоЛокализации() Экспорт + Подражатель = ЮТТестовыеДанные.Подражатель(); + Подражатель.УстановитьЛокализацию("en"); + Ютест.ОжидаетЧто(ЮТПодражатель_Люди) + .Метод("Имя") + .ВыбрасываетИсключение("не найден") + ; +КонецПроцедуры + +Процедура НереализованныйПолЧеловека() Экспорт + Подражатель = ЮТТестовыеДанные.Подражатель(); + Ютест.ОжидаетЧто(ЮТПодражатель_Люди) + .Метод("Имя", ЮТОбщий.ЗначениеВМассиве("ТрансгендернаяДевушкаОлень")) + .ВыбрасываетИсключение("Отсутствует реализация словаря") + ; +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270.mdo" new file mode 100644 index 000000000..452461f4b --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270/\320\236\320\234_\320\256\320\242\320\237\320\276\320\264\321\200\320\260\320\266\320\260\321\202\320\265\320\273\321\214_\320\233\321\216\320\264\320\270.mdo" @@ -0,0 +1,11 @@ + + + ОМ_ЮТПодражатель_Люди + + ru + О м ЮТПодражатель люди + + true + true + true + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" index 77e9fa43a..8400530e5 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\237\321\200\320\265\320\264\320\270\320\272\320\260\321\202\321\213\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Module.bsl" @@ -26,6 +26,7 @@ ЮТТесты .ДобавитьТест("ПроверитьПредикаты") + .ДобавитьТест("ЭтоПредикат") .ДобавитьТест("СообщенияОбОшибках") ; @@ -38,6 +39,25 @@ КонецПроцедуры +Процедура ЭтоПредикат() Экспорт + + СтруктураПредикат = ЮтФабрика.ВыражениеПредиката(ЮТПредикаты.Выражения().Равно); + ЮТОбщий.УказатьТипСтруктуры(СтруктураПредикат, "Предикат"); + + Варианты = ЮТест.Варианты("Предикаты, ОжидаемоеЗначение") + .Добавить(ЮТПредикаты, Истина) + .Добавить(Мокито.МассивПараметров(СтруктураПредикат), Истина) + .Добавить(СтруктураПредикат, Истина) + .Добавить(Мокито.МассивПараметров(Новый Структура), Ложь) + .Добавить(Мокито.МассивПараметров(Новый Структура("ЛюбойПараметр", 1)), Ложь) + .Добавить(Мокито.МассивПараметров(1, 2, 3), Ложь); + + Для Каждого Вариант Из Варианты.СписокВариантов() Цикл + ЮТест.ОжидаетЧто(ЮТПредикатыКлиентСервер.ЭтоПредикат(Вариант.Предикаты)).Равно(Вариант.ОжидаемоеЗначение); + КонецЦикла; + +КонецПроцедуры + Процедура СообщенияОбОшибках() Экспорт Объект = Новый Структура("Число, Пусто, Строка", 3, Неопределено, "123"); diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" index 30ca37238..4aa6e819e 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265/Module.bsl" @@ -21,7 +21,11 @@ Процедура ИсполняемыеСценарии() Экспорт ЮТТесты - .ДобавитьТест("Удалить"); + .ВТранзакции() + .УдалениеТестовыхДанных() + .ДобавитьТест("Удалить") + .ДобавитьТест("ВариантыПараметров") + .ДобавитьТест("СоздатьГруппу") ; КонецПроцедуры @@ -55,5 +59,34 @@ КонецПроцедуры +Процедура ВариантыПараметров() Экспорт + + Ключи = "Числа, Строки"; + БазоваяСтруктура = Новый Структура(Ключи); + Значения = Новый Структура(Ключи, ЮТОбщий.ЗначениеВМассиве(1, 2), ЮТОбщий.ЗначениеВМассиве("1", "2")); + + Результат = ЮТест.Данные().ВариантыПараметров(БазоваяСтруктура, Значения); + + ЮТест.ОжидаетЧто(Результат) + .ИмеетТип("Массив") + .ИмеетДлину(7) + .Элемент(0).Равно(БазоваяСтруктура) + .Элемент(1).Равно(Новый Структура(Ключи, 1)) + .Элемент(2).Равно(Новый Структура(Ключи, 1, "1")) + .Элемент(3).Равно(Новый Структура(Ключи, 1, "2")) + .Элемент(5).Равно(Новый Структура(Ключи, 2, "1")) + .Элемент(6).Равно(Новый Структура(Ключи, 2, "2")); + +КонецПроцедуры + +Процедура СоздатьГруппу() Экспорт + + Группа = ЮТест.Данные().СоздатьГруппу("Справочники.Товары"); + + ЭтоГруппа = ЮТЗапросы.ЗначениеРеквизита(Группа, "ЭтоГруппа"); + ЮТест.ОжидаетЧто(ЭтоГруппа).ЭтоИстина(); + +КонецПроцедуры + #КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index 8e8e2ebe8..b137b683d 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\242\320\265\321\201\321\202\320\276\320\262\321\213\320\265\320\224\320\260\320\275\320\275\321\213\320\265\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -20,7 +20,12 @@ Процедура ИсполняемыеСценарии() Экспорт + КодТовара = ЮТОбщий.ЧислоВСтроку(ЮТест.Данные().СлучайноеПоложительноеЧисло(999999999)); + Период = ТекущаяДата(); + ЮТТесты + .ВТранзакции() + .УдалениеТестовыхДанных() .ДобавитьТест("Фикция") .СПараметрами(Новый ОписаниеТипов("Число")) .СПараметрами(Новый ОписаниеТипов("Строка")) @@ -35,6 +40,16 @@ .СПараметрами(Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ВидыХарактеристик")) .СПараметрами(Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ВидыХарактеристик, СправочникСсылка.Банки, ПеречислениеСсылка.СостоянияЗаказов")) .СПараметрами(Новый ОписаниеТипов("ВидДвиженияНакопления")) + .ДобавитьТест("УдалениеТестовыхДанныхСправочник") + .СПараметрами(КодТовара) + .СПараметрами(КодТовара) + .ДобавитьТест("УдалениеТестовыхДанныхДокумент") + .СПараметрами(КодТовара) + .СПараметрами(КодТовара) + .ДобавитьТест("УдалениеТестовыхДанныхРегистрСведений") + .СПараметрами(Период) + .СПараметрами(Период) + .ДобавитьТест("НеУдалениеТестовыхДанныхВызовСервера") ; КонецПроцедуры @@ -49,5 +64,101 @@ КонецПроцедуры +Процедура УдалениеТестовыхДанныхСправочник(Код) Экспорт + + СоздатьСсылку("Тест", Код); + + Ссылки = ЮТест.Контекст().Значение("Ссылки"); + СсылкаСуществует(Ссылки.Набор, "Набор"); + +КонецПроцедуры + +Процедура НеУдалениеТестовыхДанныхВызовСервера() Экспорт + + Ссылка = ПомощникТестированияВызовСервера.НовыйТовар(); + ЮТест.Контекст().Значение("Ссылки").Вставить("ТестВызовСервера", Ссылка); + +КонецПроцедуры + +Процедура УдалениеТестовыхДанныхДокумент(НомерДокумента) Экспорт + + ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара") + .Установить("Номер", НомерДокумента) + .Провести(); + +КонецПроцедуры + +Процедура УдалениеТестовыхДанныхРегистрСведений(Период) Экспорт + + ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют").НеСодержитЗаписи(ЮТест.Предикат().Реквизит("Период").Равно(Период)); + ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют") + .Фикция("Валюта") + .Фикция("Курс") + .Установить("Период", Период) + .Записать(); + +КонецПроцедуры + #КонецОбласти +#Область СлужебныеПроцедурыИФункции + +Процедура ПередВсемиТестами() Экспорт + + Ссылки = Новый Структура("Набор, Тест"); + ЮТест.Контекст().УстановитьЗначение("Ссылки", Ссылки); + СоздатьСсылку("Модуль", "Модуль"); // Если данные созданные в этом событии не удаляются то прогон в другом контексте долже упасть (на сервере) + +КонецПроцедуры + +Процедура ПередТестовымНабором() Экспорт + + СоздатьСсылку("Набор"); + +КонецПроцедуры + +Процедура ПослеВсехТестов() Экспорт + + Ссылки = ЮТест.Контекст().Значение("Ссылки"); + СсылкаНеСуществует(Ссылки.Набор, "Набор"); + Если Ссылки.Тест <> Неопределено Тогда + СсылкаНеСуществует(Ссылки.Тест, "Тест"); + КонецЕсли; + +#Если Сервер Тогда + СсылкаНеСуществует(Ссылки.ТестВызовСервера, "ТестВызовСервера"); +#Иначе + СсылкаСуществует(Ссылки.ТестВызовСервера, "ТестВызовСервера"); +#КонецЕсли + +КонецПроцедуры + +Процедура СоздатьСсылку(ИмяПеременной, Знач Код = Неопределено) + + Если Код = Неопределено Тогда + Код = ЮТОбщий.ЧислоВСтроку(ЮТест.Данные().СлучайноеПоложительноеЧисло(999999999)); + КонецЕсли; + + Ссылка = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Установить("Наименование", Код) + .Установить("Код", Код) + .Записать(); + ЮТест.Контекст().Значение("Ссылки").Вставить(ИмяПеременной, Ссылка); + +КонецПроцедуры + +Процедура СсылкаСуществует(Ссылка, Описание) + + ЮТест.ОжидаетЧто(Ссылка, Описание).ИмеетТип("СправочникСсылка.Товары"); + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары", Описание).СодержитЗаписи(ЮТест.Предикат().Реквизит("Ссылка").Равно(Ссылка)); + +КонецПроцедуры + +Процедура СсылкаНеСуществует(Ссылка, Описание) + + ЮТест.ОжидаетЧто(Ссылка, Описание).ИмеетТип("СправочникСсылка.Товары"); + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары", Описание).НеСодержитЗаписи(ЮТест.Предикат().Реквизит("Ссылка").Равно(Ссылка)); + +КонецПроцедуры + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" index fac28cd0c..ea7060214 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217/Module.bsl" @@ -96,21 +96,21 @@ ДанныеКонтекста = ЮТКонтекст.КонтекстПроверки(); ЮТУтверждения.Что(ДанныеКонтекста, "Свойство не установлено") - .Свойство("ИмяСвойства").Равно(Неопределено); + .Свойство("ОбъектПроверки.ИмяСвойства").Равно(Неопределено); ЮТУтверждения.Что(Объект) .Свойство("Примитив"); ДанныеКонтекста = ЮТКонтекст.КонтекстПроверки(); ЮТУтверждения.Что(ДанныеКонтекста, "Свойство установлено") - .Свойство("ИмяСвойства").Равно("Примитив"); + .Свойство("ОбъектПроверки.ИмяСвойства").Равно("Примитив"); ЮТУтверждения.Что(Объект) .Свойство("Объект.Первый"); ДанныеКонтекста = ЮТКонтекст.КонтекстПроверки(); ЮТУтверждения.Что(ДанныеКонтекста, "Составное свойство") - .Свойство("ИмяСвойства").Равно("Объект.Первый"); + .Свойство("ОбъектПроверки.ИмяСвойства").Равно("Объект.Первый"); // Негативные тесты Попытка @@ -186,7 +186,13 @@ ЮТУтверждения.Что(Объект, "Проверка свойства элемента массива") .Свойство("[3].Первый").Равно(1) .Свойство("[3].Второй[-1]").Равно(2) - .Свойство("[3].Второй[0]").Равно(2) + .Свойство("[3].Второй[0]").Равно(2); + + Ссылка = Ютест.Данные().СоздатьЭлемент("Справочники.Товары"); + Объект = Новый Соответствие(); + Объект.Вставить(Ссылка, 1); + ЮТУтверждения.Что(Объект, "Проверка свойства соответствия") + .Свойство(Ссылка).Равно(1); КонецПроцедуры diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/Module.bsl" new file mode 100644 index 000000000..08cd35dab --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/Module.bsl" @@ -0,0 +1,325 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты.ВТранзакции().УдалениеТестовыхДанных() + .ДобавитьТест("СодержитЗаписи") + .ДобавитьТест("НеСодержитЗаписи") + .ДобавитьТест("СообщенияОбОшибках") + .ДобавитьТест("СодержитЗаписиСНаименованием") + .ДобавитьТест("СодержитЗаписиСКодом") + .ДобавитьТест("СодержитЗаписиСНомером") + .ДобавитьТест("НеСодержитЗаписиСНаименованием") + .ДобавитьТест("НеСодержитЗаписиСКодом") + .ДобавитьТест("НеСодержитЗаписиСНомером") + ; + +КонецПроцедуры + +Процедура СодержитЗаписи() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Поставщик"); + Конструктор.Записать(); + ДанныеСправочника = Конструктор.ДанныеОбъекта(); + + Конструктор = ЮТест.Данные().КонструкторОбъекта("РегистрыСведений.КурсыВалют") + .Фикция("Валюта") + .Фикция("Период") + .Фикция("Курс"); + ДанныеРегистра = Конструктор.ДанныеОбъекта(); + Конструктор.Записать(); + + Конструктор + .Фикция("Период") + .Фикция("Курс") + .Записать(); + + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары") + .СодержитЗаписи(); + + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары") + .СодержитЗаписи(ЮТест.Предикат() + .Реквизит("Наименование").Равно(ДанныеСправочника.Наименование)); + + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары") + .СодержитЗаписи(ЮТест.Предикат() + .Реквизит("Поставщик").Равно(ДанныеСправочника.Поставщик)); + + ЮТест.ОжидаетЧтоТаблицаБазы("Справочник.Товары") + .СодержитЗаписи(ЮТест.Предикат() + .Реквизит("Наименование").Равно(ДанныеСправочника.Наименование) + .Реквизит("Поставщик").Равно(ДанныеСправочника.Поставщик)); + + ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют") + .СодержитЗаписи(); + + ЮТест.ОжидаетЧтоТаблицаБазы("РегистрСведений.КурсыВалют") + .СодержитЗаписи(ЮТест.Предикат() + .Реквизит("Валюта").Равно(ДанныеРегистра.Валюта)); + +КонецПроцедуры + +Процедура НеСодержитЗаписи() Экспорт + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Фикция("Поставщик"); + + ИмяТаблицы = "Справочник.Товары"; + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы) + .НеСодержитЗаписи(ЮТест.Предикат() + .Реквизит("Наименование").Равно(Конструктор.ДанныеОбъекта().Наименование)); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы) + .НеСодержитЗаписи(ЮТест.Предикат() + .Реквизит("Поставщик").Равно(Конструктор.ДанныеОбъекта().Поставщик)); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы) + .НеСодержитЗаписи(ЮТест.Предикат() + .Реквизит("Наименование").Равно(Конструктор.ДанныеОбъекта().Наименование) + .Реквизит("Поставщик").Равно(Конструктор.ДанныеОбъекта().Поставщик)); + Конструктор.Записать(); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы) + .СодержитЗаписи(ЮТест.Предикат() + .Реквизит("Поставщик").Равно(Конструктор.ДанныеОбъекта().Поставщик)); + +КонецПроцедуры + +Процедура СообщенияОбОшибках() Экспорт + + МетодНеСодержитЗаписи = "НеСодержитЗаписи"; + МетодСодержитЗаписи = "СодержитЗаписи"; + ТаблицаСправочник = "Справочник.Товары"; + ТаблицаБезЗаписей = "Справочник.МобильныеУстройства"; + + Наименование = ЮТест.Данные().СлучайнаяСтрока(); + ПредикатНаименование = ЮТест.Предикат() + .Реквизит("Наименование").Равно(Наименование) + .Получить(); + + ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Установить("Наименование", Наименование) + .Записать(); + Префикс = "Ожидали, что проверяемая таблица "; + Варианты = ЮТест.Варианты("ИмяТаблицы, Метод, Предикат, ОжидаемоеСообщение, ОписаниеПроверки, ОписаниеУтверждения") + + .Добавить(ТаблицаСправочник, МетодНеСодержитЗаписи, Неопределено, + Префикс + "`Справочник.Товары` не содержит записи, но это не так.") + + .Добавить(ТаблицаСправочник, МетодНеСодержитЗаписи, ПредикатНаименование, + СтрШаблон("%1`Справочник.Товары` не содержит записи с `Наименование` равно `%2`, но это не так.", Префикс, Наименование)) + + .Добавить(ТаблицаБезЗаписей, МетодСодержитЗаписи, Неопределено, + Префикс + "`Справочник.МобильныеУстройства` содержит записи, но это не так.") + + .Добавить(ТаблицаБезЗаписей, МетодСодержитЗаписи, Неопределено, + СтрШаблон("Описание проверки: %1`Справочник.МобильныеУстройства` содержит записи, но это не так.", СтрочнаяПерваяБуква(Префикс)), "Описание проверки") + + .Добавить(ТаблицаБезЗаписей, МетодСодержитЗаписи, Неопределено, + СтрШаблон("Описание проверки: %1`Справочник.МобильныеУстройства` содержит записи, но это не так.", СтрочнаяПерваяБуква(Префикс)), , "Описание проверки") + + .Добавить(ТаблицаБезЗаписей, МетодСодержитЗаписи, Неопределено, + СтрШаблон("Описание проверки: %1`Справочник.МобильныеУстройства` содержит записи, но это не так.", СтрочнаяПерваяБуква(Префикс)), "Описание", "проверки") + ; + + Индекс = 1; + + Для Каждого Вариант Из Варианты.СписокВариантов() Цикл + + ЮТест.ОжидаетЧтоТаблицаБазы(Вариант.ИмяТаблицы, Вариант.ОписаниеПроверки); + + Ошибка = Неопределено; + Попытка + Если Вариант.Метод = МетодНеСодержитЗаписи Тогда + ЮТУтвержденияИБ.НеСодержитЗаписи(Вариант.Предикат, Вариант.ОписаниеУтверждения); + ИначеЕсли Вариант.Метод = МетодСодержитЗаписи Тогда + ЮТУтвержденияИБ.СодержитЗаписи(Вариант.Предикат, Вариант.ОписаниеУтверждения); + КонецЕсли; + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуУтверждения("Вариант " + Индекс, Ошибка, Вариант.ОжидаемоеСообщение); + Индекс = Индекс + 1; + + КонецЦикла; + +КонецПроцедуры + +Процедура СодержитЗаписиСНаименованием() Экспорт + + ИмяТаблицы = "Справочник.Товары"; + + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование"); + Данные = Конструктор.ДанныеОбъекта(); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНаименованием(Данные.Наименование); + + Объект = Конструктор.Записать(); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНаименованием(Данные.Наименование); + + ПомощникТестированияВызовСервера.УстановитьРеквизит(Объект, "ПометкаУдаления", Истина); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНаименованием(Данные.Наименование, Ложь); + + Попытка + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНаименованием(Данные.Наименование); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "Ожидали, что проверяемая таблица `Справочник.Товары` содержит записи с `Наименование` равно"); + +КонецПроцедуры + +Процедура СодержитЗаписиСКодом() Экспорт + + ИмяТаблицы = "Справочник.Товары"; + Код = "t00000001"; + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Установить("Код", Код); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСКодом(Код); + + Объект = Конструктор.Записать(); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСКодом(Код); + + ПомощникТестированияВызовСервера.УстановитьРеквизит(Объект, "ПометкаУдаления", Истина); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСКодом(Код, Ложь); + + Попытка + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСКодом(Код); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Справочник.Товары` содержит записи с `Код` равно"); + +КонецПроцедуры + +Процедура СодержитЗаписиСНомером() Экспорт + + ИмяТаблицы = "Документ.Оплата"; + Номер = "t00000001"; + Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.Оплата") + .Установить("Номер", Номер); + + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНомером(Номер); + + Объект = Конструктор.Записать(); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНомером(Номер); + + ПомощникТестированияВызовСервера.УстановитьРеквизит(Объект, "ПометкаУдаления", Истина); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНомером(Номер, Ложь); + + Попытка + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).СодержитЗаписиСНомером(Номер); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Документ.Оплата` содержит записи с `Номер` равно"); + +КонецПроцедуры + +Процедура НеСодержитЗаписиСНаименованием() Экспорт + + ИмяТаблицы = "Справочник.Товары"; + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Фикция("Наименование") + .Установить("ПометкаУдаления", Истина); + Данные = Конструктор.ДанныеОбъекта(); + + Конструктор.Записать(); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНаименованием(Данные.Наименование); + Попытка + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНаименованием(Данные.Наименование, Ложь); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Справочник.Товары` не содержит записи с `Наименование` равно"); + +КонецПроцедуры + +Процедура НеСодержитЗаписиСКодом() Экспорт + + ИмяТаблицы = "Справочник.Товары"; + Код = "t00000001"; + Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Установить("Код", Код) + .Установить("ПометкаУдаления", Истина); + + Конструктор.Записать(); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСКодом(Код); + Попытка + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСКодом(Код, Ложь); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Справочник.Товары` не содержит записи с `Код` равно"); + +КонецПроцедуры + +Процедура НеСодержитЗаписиСНомером() Экспорт + + ИмяТаблицы = "Документ.Оплата"; + Номер = "t00000001"; + Конструктор = ЮТест.Данные().КонструкторОбъекта("Документы.Оплата") + .Установить("Номер", Номер) + .Установить("ПометкаУдаления", Истина); + + Конструктор.Записать(); + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНомером(Номер); + Попытка + ЮТест.ОжидаетЧтоТаблицаБазы(ИмяТаблицы).НеСодержитЗаписиСНомером(Номер, Ложь); + Исключение + Ошибка = ИнформацияОбОшибке(); + КонецПопытки; + + ПроверитьОшибкуУтверждения(Неопределено, Ошибка, "`Документ.Оплата` не содержит записи с `Номер` равно"); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура ПроверитьОшибкуУтверждения(Префикс, ИнформацияОбОшибке, ОжидаемоеОписание) Экспорт + + ЮТест.ОжидаетЧто(ИнформацияОбОшибке, Префикс) + .ЭтоНеНеопределено() + .Свойство("Описание") + .НачинаетсяС("[Failed]") + .Содержит(ОжидаемоеОписание); + +КонецПроцедуры + +Функция СтрочнаяПерваяБуква(Строка) + Возврат НРег(Лев(Строка, 1)) + Сред(Строка, 2); +КонецФункции + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221.mdo" new file mode 100644 index 000000000..c55cd336c --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221/\320\236\320\234_\320\256\320\242\320\243\321\202\320\262\320\265\321\200\320\266\320\264\320\265\320\275\320\270\321\217\320\230\320\221.mdo" @@ -0,0 +1,11 @@ + + + ОМ_ЮТУтвержденияИБ + + ru + ЮТУтверждения ИБ + + true + true + true + diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" index af6d58058..27220fd09 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\247\320\270\321\202\320\260\321\202\320\265\320\273\321\214/Module.bsl" @@ -93,7 +93,7 @@ Наборы = ЮТЧитатель.ЗагрузитьТесты(ПараметрыЗапуска); ЮТест.ОжидаетЧто(Наборы, "Прочитанные наборы расширения tests") - .ИмеетДлину(15); + .ИмеетДлину(21); КонецПроцедуры @@ -108,15 +108,17 @@ МетаданныеМодуля.Вставить("ВызовСервера", Ложь); ЮТФильтрация.УстановитьКонтекст(Новый Структура("filter", Новый Структура)); - Сценарии = ЮТЧитатель.ИсполняемыеСценарииМодуля(МетаданныеМодуля); + ОписаниеМодуля = ЮТЧитатель.ИсполняемыеСценарииМодуля(МетаданныеМодуля); - ЮТест.ОжидаетЧто(Сценарии, "Сценарии") - .ИмеетТип("Массив") + ЮТест.ОжидаетЧто(ОписаниеМодуля, "ОписаниеМодуля") + .ИмеетТип("Структура") + .Свойство("НаборыТестов") .ИмеетДлину(3) - .Элемент(0).ИмеетТип("Структура") - .Элемент(1).ИмеетТип("Структура") - .Элемент(2).ИмеетТип("Структура") + .Элемент("НаборыТестов[0]").ИмеетТип("Структура") + .Элемент("НаборыТестов[1]").ИмеетТип("Структура") + .Элемент("НаборыТестов[2]").ИмеетТип("Структура") ; + Сценарии = ОписаниеМодуля.НаборыТестов; НаборПоУмолчанию = Сценарии[0]; НаборЭтоТестовыйМодуль = Сценарии[1]; @@ -156,4 +158,4 @@ КонецПроцедуры -#КонецОбласти +#КонецОбласти \ No newline at end of file diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/Module.bsl" index 3b326cd49..205b96ba4 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/Module.bsl" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/Module.bsl" @@ -21,8 +21,13 @@ Процедура ИсполняемыеСценарии() Экспорт ЮТТесты - .ДобавитьТест("Пропустить") - .ДобавитьТест("ПроверкаКонтекста") + .ДобавитьТестовыйНабор("ОсновнойНабор") + .ДобавитьТест("Пропустить") + .ДобавитьТест("ПроверкаКонтекста") + .ДобавитьТестовыйНабор("ПереопределенныйНабор").Перед("Перед_ПереопределенныйНабор") + .ДобавитьТест("ПроверкаПереопределенногоКонтекста").Перед("Перед_ПроверкаПереопределенногоКонтекста") + .ДобавитьТестовыйНабор("ПовторнаяПроверкаКонтекста") + .ДобавитьТест("ПроверкаКонтекста") ; КонецПроцедуры @@ -66,7 +71,7 @@ Процедура ПослеВсехТестов() Экспорт ЮТест.Контекст().Значение("Коллекция").Добавить("ПослеВсехТестов"); - ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Коллекция")).ИмеетДлину(8); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Коллекция")).ИмеетДлину(16); КонецПроцедуры @@ -88,8 +93,46 @@ .Содержит("ПередВсемиТестами") .Содержит("ПередТестовымНабором") .Содержит("ПередКаждымТестом"); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("КоллекцияПереопределенногоНабора")).Равно(Неопределено); + +КонецПроцедуры +Процедура Перед_ПереопределенныйНабор() Экспорт + + ЮТест.Контекст().УстановитьЗначение("Набор", -2); + ЮТест.Контекст().Значение("Коллекция").Добавить("Перед_ПереопределенныйНабор"); + ЮТест.Контекст().УстановитьЗначение("КоллекцияПереопределенногоНабора", Новый Массив()); + ЮТест.Контекст().Значение("КоллекцияПереопределенногоНабора").Добавить("Перед_ПереопределенныйНабор"); + КонецПроцедуры -#КонецОбласти +Процедура Перед_ПроверкаПереопределенногоКонтекста() Экспорт + + ЮТест.Контекст().УстановитьЗначение("Тест", -3); + ЮТест.Контекст().УстановитьЗначение("Заменяемый", -3); + ЮТест.Контекст().Значение("Коллекция").Добавить("Перед_ПроверкаПереопределенногоКонтекста"); + ЮТест.Контекст().Значение("КоллекцияПереопределенногоНабора").Добавить("Перед_ПроверкаПереопределенногоКонтекста"); + +КонецПроцедуры +Процедура ПроверкаПереопределенногоКонтекста() Экспорт + + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Глобальный"), "Значение глобального контекста").Равно(1); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Набор"), "Значение контекста набора").Равно(-2); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Тест"), "Значение контекста теста").Равно(-3); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Заменяемый"), "Замененное значение контекста").Равно(-3); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Коллекция")) + .ИмеетДлинуБольше(4) + .Содержит("ПередВсемиТестами") + .Содержит("ПередТестовымНабором") + .Содержит("Перед_ПереопределенныйНабор") + .Содержит("ПередКаждымТестом") + .Содержит("Перед_ПроверкаПереопределенногоКонтекста"); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("КоллекцияПереопределенногоНабора")) + .ИмеетДлинуБольше(1) + .Содержит("Перед_ПереопределенныйНабор") + .Содержит("Перед_ПроверкаПереопределенногоКонтекста"); + +КонецПроцедуры + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202.mdo" index 2db060f1b..b235c8edc 100644 --- "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202.mdo" +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202.mdo" @@ -3,7 +3,7 @@ ОМ_ЮТест ru - О м ест + ЮТест true true diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Module.bsl" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Module.bsl" new file mode 100644 index 000000000..2eaf5034b --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Module.bsl" @@ -0,0 +1,77 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ИсполняемыеСценарии() Экспорт + + ЮТТесты.Перед("ОМ_ЮТест.ПередВсемиТестами") + .ДобавитьТест("ПроверкаКонтекста") + ; + +КонецПроцедуры + +Процедура ПередТестовымНабором() Экспорт + + ЮТест.Контекст().УстановитьЗначение("Набор", 2); + ЮТест.Контекст().Значение("Коллекция").Добавить("ПередТестовымНабором"); + +КонецПроцедуры + +Процедура ПередКаждымТестом() Экспорт + + ЮТест.Контекст().УстановитьЗначение("Тест", 3); + ЮТест.Контекст().УстановитьЗначение("Заменяемый", 3); + ЮТест.Контекст().Значение("Коллекция").Добавить("ПередКаждымТестом"); + +КонецПроцедуры + +Процедура ПослеКаждогоТеста() Экспорт + + ЮТест.Контекст().Значение("Коллекция").Добавить("ПослеКаждогоТеста"); + +КонецПроцедуры + +Процедура ПослеТестовогоНабора() Экспорт + + ЮТест.Контекст().Значение("Коллекция").Добавить("ПослеТестовогоНабора"); + +КонецПроцедуры + +Процедура ПослеВсехТестов() Экспорт + + ЮТест.Контекст().Значение("Коллекция").Добавить("ПослеВсехТестов"); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Коллекция")).ИмеетДлину(6); + +КонецПроцедуры + +Процедура ПроверкаКонтекста() Экспорт + + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Глобальный"), "Значение глобального контекста").Равно(1); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Набор"), "Значение контекста набора").Равно(2); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Тест"), "Значение контекста теста").Равно(3); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Заменяемый"), "Замененное значение контекста").Равно(3); + ЮТест.ОжидаетЧто(ЮТест.Контекст().Значение("Коллекция")) + .ИмеетДлинуБольше(2) + .Содержит("ПередВсемиТестами") + .Содержит("ПередТестовымНабором") + .Содержит("ПередКаждымТестом"); + +КонецПроцедуры + +#КонецОбласти diff --git "a/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.mdo" "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.mdo" new file mode 100644 index 000000000..ae4e30a2c --- /dev/null +++ "b/tests/src/CommonModules/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/\320\236\320\234_\320\256\320\242\320\265\321\201\321\202\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.mdo" @@ -0,0 +1,11 @@ + + + ОМ_ЮТестПереопределяемый + + ru + ЮТест переопределяемый + + true + true + true + diff --git "a/tests/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Module.bsl" "b/tests/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Module.bsl" new file mode 100644 index 000000000..7e24fe427 --- /dev/null +++ "b/tests/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/Module.bsl" @@ -0,0 +1,29 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +&Вместо("ОпределитьТекущегоПользователя") +Процедура Расш1_ОпределитьТекущегоПользователя() Экспорт + + ПрерватьВыполнение = Ложь; + Результат = Мокито.АнализВызова(Пользователи, "ОпределитьТекущегоПользователя", Новый Массив, ПрерватьВыполнение); + + Если НЕ ПрерватьВыполнение Тогда + ПродолжитьВызов(); + КонецЕсли; + +КонецПроцедуры diff --git "a/tests/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" "b/tests/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" new file mode 100644 index 000000000..c5dd62212 --- /dev/null +++ "b/tests/src/CommonModules/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270/\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\320\270.mdo" @@ -0,0 +1,17 @@ + + + Пользователи + Adopted + + Extended + Checked + Checked + Checked + Checked + Checked + Checked + + true + true + true + diff --git "a/tests/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/tests/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" index 37a4aa60d..33e7ec306 100644 --- "a/tests/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" +++ "b/tests/src/CommonModules/\320\237\320\276\320\274\320\276\321\211\320\275\320\270\320\272\320\242\320\265\321\201\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\321\217\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -16,11 +16,7 @@ // //©///////////////////////////////////////////////////////////////////////////©// -/////////////////////////////////////////////////////////////////// -// ПрограммныйИнтерфейс -// Экспортные процедуры и функции для прикладного использования -/////////////////////////////////////////////////////////////////// -#Область ПрограммныйИнтерфейс +#Область СлужебныйПрограммныйИнтерфейс // Проверяет существование ссылки в информационной базе // @@ -54,4 +50,25 @@ КонецФункции +Функция НовыйТовар(Знач Код = Неопределено) Экспорт + + Если Код = Неопределено Тогда + Код = ЮТОбщий.ЧислоВСтроку(ЮТест.Данные().СлучайноеПоложительноеЧисло(999999999)); + КонецЕсли; + + Возврат ЮТест.Данные().КонструкторОбъекта("Справочники.Товары") + .Установить("Наименование", Код) + .Установить("Код", Код) + .Записать(); + +КонецФункции + +Процедура УстановитьРеквизит(Ссылка, ИмяРеквизита, ЗначениеРеквизита) Экспорт + + Объект = Ссылка.ПолучитьОбъект(); + Объект[ИмяРеквизита] = ЗначениеРеквизита; + Объект.Записать(); + +КонецПроцедуры + #КонецОбласти diff --git a/tests/src/Configuration/Configuration.mdo b/tests/src/Configuration/Configuration.mdo index 9c023b606..53a0bfc48 100644 --- a/tests/src/Configuration/Configuration.mdo +++ b/tests/src/Configuration/Configuration.mdo @@ -29,15 +29,22 @@ CommonModule.ОМ_Общий CommonModule.ОМ_ОшибкаЗагрузкиСценариев CommonModule.ОМ_ЮТест + CommonModule.ОМ_ЮТестПереопределяемый + CommonModule.ОМ_ЮТЗапросы CommonModule.ОМ_ЮТКонструкторТестовыхДанных + CommonModule.ОМ_ЮТПодражатель_Банки + CommonModule.ОМ_ЮТПодражатель_Компании + CommonModule.ОМ_ЮТПодражатель_Люди CommonModule.ОМ_ЮТПредикатыКлиентСервер CommonModule.ОМ_ЮТСравнениеКлиентСервер CommonModule.ОМ_ЮТТестовыеДанные CommonModule.ОМ_ЮТТестовыеДанныеСлужебный CommonModule.ОМ_ЮТТесты CommonModule.ОМ_ЮТУтверждения + CommonModule.ОМ_ЮТУтвержденияИБ CommonModule.ОМ_ЮТФильтрация CommonModule.ОМ_ЮТЧитатель + CommonModule.Пользователи CommonModule.ПомощникТестированияВызовСервера Catalog.Встречи Catalog.Товары