├── .gitignore ├── library ├── step_definitions │ ├── УдалениеФайла.epf │ ├── ВыполнениеКода1СНаСервере.epf │ └── Таблица_как_параметр_шага.epf ├── Переименованный каталог │ ├── step_definitions │ │ └── Еще_один_сценарий.epf │ ├── И его подкаталог │ │ ├── Содержит только серверный шаг.epf │ │ └── Содержит только клиентский шаг.epf │ └── Еще один сценарий.feature ├── Таблица как параметр шага.feature ├── ВыполнениеКода1СНаСервере.feature ├── УдалениеФайла.feature ├── Первый экспортный сценарий.feature ├── Открытие последнего проведенного документа.feature └── Первый сценарий с новыми шагами.feature ├── features ├── Присоединенные файлы │ ├── СканПоступления.pdf │ ├── СканПоступления_СохраненныйИзДокумента.pdf │ ├── Исходная спецификация.feature │ └── Присоединенные файлы для ПТУ.feature ├── Пустые сценарии │ └── Пустой сценарий.feature ├── .vscode │ └── settings.json ├── VanessaRrunnerSettings.json ├── Вызов библиотечных шагов.feature ├── Вызов сценария открытия последнего проведенного документа.feature ├── Вызов шагов экспортного сценария.feature ├── Вызов шага удаления файла.feature ├── Вызов шага выполняющего код на сервере.feature ├── bddRunnerSettings.json ├── VRunnerSettingsExample.json ├── Сценарии с ошибками │ └── Сценарий с ошибкой 1.feature ├── Ввод реализации товаров на основании предварительного созданного заказа клиента.feature ├── Обмен РИБ через план обмена Полный в УТ.feature └── Движения заказа через форму регистра.feature ├── README.MD └── vanessaonline.txt /.gitignore: -------------------------------------------------------------------------------- 1 | allure/* 2 | -------------------------------------------------------------------------------- /library/step_definitions/УдалениеФайла.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vl-lit/DevelopingAndTestingWithVanessa/HEAD/library/step_definitions/УдалениеФайла.epf -------------------------------------------------------------------------------- /features/Присоединенные файлы/СканПоступления.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vl-lit/DevelopingAndTestingWithVanessa/HEAD/features/Присоединенные файлы/СканПоступления.pdf -------------------------------------------------------------------------------- /features/Пустые сценарии/Пустой сценарий.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | Функционал: Пустой сценарий 3 | 4 | Сценарий: Пустой сценарий 5 | Пусть Я не выполняю никаких действий 6 | -------------------------------------------------------------------------------- /library/step_definitions/ВыполнениеКода1СНаСервере.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vl-lit/DevelopingAndTestingWithVanessa/HEAD/library/step_definitions/ВыполнениеКода1СНаСервере.epf -------------------------------------------------------------------------------- /library/step_definitions/Таблица_как_параметр_шага.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vl-lit/DevelopingAndTestingWithVanessa/HEAD/library/step_definitions/Таблица_как_параметр_шага.epf -------------------------------------------------------------------------------- /features/Присоединенные файлы/СканПоступления_СохраненныйИзДокумента.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vl-lit/DevelopingAndTestingWithVanessa/HEAD/features/Присоединенные файлы/СканПоступления_СохраненныйИзДокумента.pdf -------------------------------------------------------------------------------- /library/Переименованный каталог/step_definitions/Еще_один_сценарий.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vl-lit/DevelopingAndTestingWithVanessa/HEAD/library/Переименованный каталог/step_definitions/Еще_один_сценарий.epf -------------------------------------------------------------------------------- /library/Переименованный каталог/И его подкаталог/Содержит только серверный шаг.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vl-lit/DevelopingAndTestingWithVanessa/HEAD/library/Переименованный каталог/И его подкаталог/Содержит только серверный шаг.epf -------------------------------------------------------------------------------- /library/Переименованный каталог/И его подкаталог/Содержит только клиентский шаг.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vl-lit/DevelopingAndTestingWithVanessa/HEAD/library/Переименованный каталог/И его подкаталог/Содержит только клиентский шаг.epf -------------------------------------------------------------------------------- /README.MD: -------------------------------------------------------------------------------- 1 | Материалы к циклу публикаций на портале Инфостарт "Разработка и сценарное тестирование с Vanessa-ADD" 2 | 3 | https://infostart.ru/public/969637 4 | 5 | https://infostart.ru/public/974944 6 | 7 | https://infostart.ru/public/984854 8 | 9 | https://infostart.ru/public/992320 10 | 11 | https://infostart.ru/public/1010127 12 | -------------------------------------------------------------------------------- /features/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "git.enableSmartCommit": true, 3 | "gherkin-autocomplete.featureLibraries": [ 4 | "C:/Program Files (x86)/OneScript/lib/add/features/libraries", 5 | "./Новые шаги" 6 | ], 7 | "gherkin-autocomplete.srcBslPath": [], 8 | "gherkin-autocomplete.featuresPath": ".", 9 | "window.zoomLevel": 0 10 | } 11 | 12 | -------------------------------------------------------------------------------- /library/Таблица как параметр шага.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | Функционал: Передача таблицы значений в качестве параметра шага 4 | 5 | Сценарий: Пример передачи таблицы значений как параметра шага 6 | 7 | Пусть Я вызываю новый шаг с параметром 100 и таблицей в качестве последнего параметра 8 | | Колонка 1 | Колонка 2 | 9 | | Значение 1 | Значение 2 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /features/VanessaRrunnerSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "default": { 3 | "--ibconnection": "/SHOST:1541\\ut_autotest", 4 | "--db-user": "Администратор", 5 | "--db-pwd": "", 6 | "--workspace": ".", 7 | "--v8version":"8.3.14", 8 | "--additional": "/Debug" 9 | }, 10 | 11 | "vanessa": { 12 | "--vanessasettings": "./features/bddRunnerSettings.json" 13 | } 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /features/Вызов библиотечных шагов.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | Функционал: Вызов шагов нашей библиотеки 4 | 5 | Сценарий: Пример вызова шагов нашей бибьлиотеки 6 | 7 | Пусть Я запоминаю строку "" как переменную "ПолеКонтеста" 8 | 9 | Тогда выполняется "Вывод сообщения" на стороне клиента с сообщением об успехе "Текст сообщения" 10 | И выполняется "Вывод сообщения" на стороне сервера с сообщением об успехе "Текст сообщения" 11 | 12 | 13 | -------------------------------------------------------------------------------- /features/Вызов сценария открытия последнего проведенного документа.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | 4 | Функционал: Вызов сценария открытия формы последнего проведенного документа заданного типа 5 | 6 | 7 | Сценарий: Открываем последний проведенный документ "РеализацияТоваровУслуг" 8 | 9 | Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий 10 | И Я открываю последний проведенный документ с именем метаданных "РеализацияТоваровУслуг" 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /library/Переименованный каталог/Еще один сценарий.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | Функционал: Демонстрация использвоания ранее объявленных шагов 4 | 5 | Сценарий: Вызываем ранее объявленные шаги 6 | 7 | Пусть Я выполняю какой-то шаг перед тем как вызывать уже реализованные 8 | 9 | Тогда выполняется "Вывод сообщения" на стороне клиента с сообщением об успехе "Текст сообщения" 10 | И выполняется "Вывод сообщения" на стороне сервера с сообщением об успехе "Текст сообщения" 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /features/Вызов шагов экспортного сценария.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | @ПропуститьДляПубликацииПроAllure 4 | 5 | Функционал: Демонстрация вызова экспотных сценариев 6 | 7 | Сценарий: Пример вызова экспортых сценариев 8 | 9 | Пусть Выполняется "Действие 1" на клиенте и на сервере с сообщением об успехе "Выполнено действие 1" 10 | 11 | И Выполняется "Действие 2" только на клиенте с сообщением об успехе "Выполнено действие 2" 12 | 13 | Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий 14 | 15 | 16 | -------------------------------------------------------------------------------- /features/Вызов шага удаления файла.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | @ПропуститьДляПубликацииПроAllure 4 | 5 | Функционал: Удаление файла через асинхронный шаг 6 | 7 | Как разработчик библиотеки шагов 8 | Я хочу продемоснтрировать вызов шага удаления файла 9 | Чтобы убедиться в его практической применимости 10 | 11 | 12 | Сценарий: Демонстрация удаления файла 13 | 14 | Пусть я удаляю файл "C:/data/features/Файл1.txt" с ожиданием успешного завершения в течение 2 секунд 15 | И я удаляю файл "$workspaceRoot/Файл2.txt" с ожиданием успешного завершения в течение 3 секунд 16 | 17 | Пусть Я запоминаю строку "C:/data/features" как переменную "КаталогФайлаКУдалению" 18 | И я удаляю файл "$КаталогФайлаКУдалению/Файл3.txt" с ожиданием успешного завершения в течение 1 секунд 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /library/ВыполнениеКода1СНаСервере.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | Функционал: Выполнение кода 1С на сервере 4 | 5 | Как разработчик библиотеки шагов 6 | Я хочу предоставить пользователю библиотеки возможность выполнять произвольный код на сервере 1С 7 | c доступностью структуры Контекст 8 | 9 | Чтобы иметь возможность выполнять произвольные операции с базой данных непосредственно из сценария 10 | и получать результаты вычислений с сервера 1С на сторону тест-менеджара и тест-клиента 11 | 12 | Сценарий: Выполнение кода 1С на сервере 13 | 14 | И затем я выполняю код встроенного языка на сервере 1С 15 | | Строка кода 1 | 16 | | Строка кода 2 с подстановкой строки из структры контекст $ИмяПоляСтруктурыКонтекст | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /features/Вызов шага выполняющего код на сервере.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | Функционал: Выполнение кода 1С на сервере 4 | 5 | Как разработчик библиотеки шагов 6 | Я хочу предоставить пользователю библиотеки возможность выполнять произвольный код на сервере 1С 7 | Чтобы иметь возможность выполнять произвольные операции с базой данных непосредственно из сценария 8 | 9 | Сценарий: Выполнение кода 1С на сервере 10 | 11 | И затем я выполняю код встроенного языка на сервере 1С 12 | | СсылкаНаНоменклатуру = Справочники.Номенклатура.НайтиПоКоду("000000022"); | 13 | | Контекст.Вставить("ПредставлениеНоменклатуры", Строка(СсылкаНаНоменклатуру)); | 14 | | Сообщить(Контекст.ПредставлениеНоменклатуры); | 15 | 16 | # Вызываем шаг встроенной библиотеки со стороны клиента (тест-менеджера) 17 | И я вывожу значение переменной "ПредставлениеНоменклатуры" 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /library/УдалениеФайла.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | Функционал: Удаление файла через асинхронный метод платфомры НачатьУдалениеФайлов 4 | 5 | Как разработчик библиотеки шагов 6 | 7 | Я хочу предоставить пользователю библиотеки возможность удалять файл из файловой системы 8 | используя асинхронный метод платформы НачатьУдалениеФайлов с ожидаением успешного завершения 9 | операции удаления в течение заданного количества секунд и возможностью использвоать значения 10 | полей структуры Контекст и пути к каталогу проекта $workspaceRoot как части путей к файлу 11 | 12 | Чтобы избежать сложностей с написанием кода на встроенном языке платформы 1С и явных установок 13 | пауз в сценариях, выполняющих удаление файлов 14 | 15 | 16 | Сценарий: Удаление файла с заданным таймаутом и подстановкой частей пути из структуры Контекст 17 | 18 | Пусть я удаляю файл "Путь к файлу" с ожиданием успешного завершения в течение 0 секунд 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /features/bddRunnerSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "КаталогФич": "$workspaceRoot/features", 3 | "КаталогиБиблиотек": [ 4 | "$instrumentsRoot/features/libraries", 5 | "$workspaceRoot/library" 6 | ], 7 | 8 | "ВыполнитьСценарии": true, 9 | "ИнтервалВыполненияШага": "0.1", 10 | "ЗавершитьРаботуСистемы": true, 11 | "ЗакрытьTestClientПослеЗапускаСценариев": true, 12 | 13 | 14 | "ДелатьОтчетВФорматеАллюр": true, 15 | "КаталогOutputAllureБазовый": "$workspaceRoot/allure/xml_for_allure", 16 | 17 | 18 | "ДелатьСкриншотПриВозникновенииОшибки": true, 19 | "КаталогOutputСкриншоты": "$workspaceRoot/allure/screenshots_temporary_dir", 20 | "КомандаСделатьСкриншот": "nircmd savescreenshot", 21 | 22 | "ДелатьЛогВыполненияСценариевВТекстовыйФайл": true, 23 | "ИмяФайлаЛогВыполненияСценариев": "$workspaceRoot/vanessaonline.txt", 24 | 25 | 26 | "СписокТеговОтбор": [], 27 | "СписокТеговИсключение":[ 28 | "ПропуститьДляПубликацииПроAllure", 29 | "Черновик" 30 | ] 31 | 32 | } 33 | 34 | 35 | -------------------------------------------------------------------------------- /features/VRunnerSettingsExample.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/silverbulleters/vanessa-runner/develop/vanessa-runner-schema.json", 3 | "default": { 4 | "--ibconnection": "/F./build/ib", 5 | "--db-user": "", 6 | "--db-pwd": "", 7 | "--workspace": ".", 8 | "--v8version":"8.3.10", 9 | "--additional": "/DisplayAllFunctions /Lru /iTaxi ", 10 | "--ordinaryapp": "-1" 11 | }, 12 | "vanessa": { 13 | "--workspace": "./features", 14 | "--vanessasettings": "./tools/JSON/VBParams8310UF.json", 15 | "--pathvanessa": "./bddRunner.epf" 16 | }, 17 | "xunit": { 18 | "--ibconnection": "/F./build/ibservicexdd", 19 | "--db-user": "Admin", 20 | "--db-pwd": "", 21 | "--xddConfig": "./tools/JSON/xUnitParams.json", 22 | "testsPath": "./tests", 23 | "--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml};ГенераторОтчетаAllureXMLВерсия2{build/allure/allure.xml}", 24 | "--xddExitCodePath": "./build/xddExitCodePath.txt", 25 | "--pathxunit": "./xddTestRunner.epf" 26 | } 27 | } -------------------------------------------------------------------------------- /library/Первый экспортный сценарий.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | @ExportScenarios 4 | 5 | Функционал: Демонстрация создания экспортных сценариев 6 | 7 | 8 | @ТипШага: Группа шагов 1.Группа шагов 2 9 | @Описание: Экспортный сценарий, вызывает ранее реализованные шаги, выполняющие действия на сервере и на клиенте 10 | @ПримерИспользования: И Выполняется "Имя действия" на клиенте и на сервере с сообщением об успехе "Текст сообщения" 11 | 12 | Сценарий: Выполняется "Имя действия" на клиенте и на сервере с сообщением об успехе "Текст сообщения" 13 | 14 | Дано выполняется "Имя действия" на стороне клиента с сообщением об успехе "Текст сообщения" 15 | И выполняется "Имя действия" на стороне сервера с сообщением об успехе "Текст сообщения" 16 | 17 | 18 | @ТипШага: Группа шагов 1.Группа шагов 2.Группа шагов 3 19 | @Описание: Экспортный сценарий, вызывает ранее реализованный шаг, выполняющий действие на клиенте 20 | @ПримерИспользования: И Выполняется "Имя действия" только на клиенте с сообщением об успехе "Текст сообщения" 21 | 22 | Сценарий: Выполняется "Имя действия" только на клиенте с сообщением об успехе "Текст сообщения" 23 | 24 | Дано выполняется "Имя действия" на стороне клиента с сообщением об успехе "Текст сообщения" 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /features/Присоединенные файлы/Исходная спецификация.feature: -------------------------------------------------------------------------------- 1 | @Черновик 2 | 3 | Функционал: Прикрепление файлов к документам закупок 4 | 5 | Я как менеджер по закупкам 6 | Хочу иметь возможность прикреплять скан-копии первичных документов к документам в базе 1С и извлекать их из документов в базе 1С 7 | Чтобы снизить затраты времени на пересылку бумажных документов внутри компании. 8 | 9 | Контекст: 10 | Дано На локальном диске компьютера пользователя существует файл СканПоступления.pdf 11 | И На локальном диске компьютера пользователя нет файла СканПоступления_СохраненныйИзДокумента.pdf 12 | И Я запускаю сеанс 1С для проверки работы с прикрепленными файлами 13 | 14 | Сценарий: Прикрепление файлов к новому документу поступления товаров и услуг. 15 | 16 | Тогда я создаю новый документ “Приобретение товаров и услуг” 17 | И я пытаюсь прикрепить к нему файл СканПоступления.pdf 18 | 19 | Тогда система сообщает о необходимости предварительно записать документ 20 | И я соглашаюсь выполнить запись документа 21 | 22 | Тогда открывается диалог выбора файла 23 | И в нем я выбираю файл СканПоступления.pdf 24 | 25 | Тогда файл становится доступен для выбора в списке прикрепленных к документу файлов 26 | И я закрываю документ поступления товаров 27 | 28 | И я заново открываю документ поступления 29 | И в списке прикрепленных файлов по прежнему доступен для выбора ранее прикрепленный файл 30 | 31 | Тогда я сохраняю этот файл на диск компьютера пользователя под именем СканПоступления_СохраненныйИзДокумента.pdf 32 | И на диске действительно появляется сохраненный файл 33 | -------------------------------------------------------------------------------- /vanessaonline.txt: -------------------------------------------------------------------------------- 1 | Фича: C:\data\features\Вызов библиотечных шагов.feature 2 | 0% 3 | Сценарий: Пример вызова шагов нашей бибьлиотеки 4 | Pending: Пустой адрес снипета у шага: Тогда выполняется "Вывод сообщения" на стороне клиента с сообщением об успехе "Текст сообщения" 5 | Фича: C:\data\features\Вызов сценария открытия последнего проведенного документа.feature 6 | 20% 7 | Сценарий: Открываем последний проведенный документ "РеализацияТоваровУслуг" 8 | Pending: Пустой адрес снипета у шага: И затем я выполняю код встроенного языка на сервере 1С 9 | Фича: C:\data\features\Вызов шага выполняющего код на сервере.feature 10 | 40% 11 | Сценарий: Выполнение кода 1С на сервере 12 | Pending: Пустой адрес снипета у шага: И затем я выполняю код встроенного языка на сервере 1С 13 | Фича: C:\data\features\Пустые сценарии\Пустой сценарий.feature 14 | 60% 15 | Сценарий: Пустой сценарий 16 | Pending: Пустой адрес снипета у шага: Пусть Я не выполняю никаких действий 17 | Фича: C:\data\features\Сценарии с ошибками\Сценарий с ошибкой 1.feature 18 | 80% 19 | Сценарий: Сценарий, завершающийся с ощибкой 20 | Шаг (Тогда открылось окно 'Заказы клиентов') не выполнен. Строка дерева №64 21 | Failed: {ВнешняяОбработка.РаботаСИнтерфейсом.Форма.Форма.Форма(1686)}: Ожидали, что активным окном будет <Заказы клиентов>, а нашли <Заказ клиента (создание) *>. Таймаут поиска окна: 10 22 | 23 | Технические данные: 24 | ИмяФайла: C:\Program Files (x86)\OneScript\lib\add\features\libraries\UITestRunner\step_definitions\РаботаСИнтерфейсом.epf 25 | ИмяПроцедуры: ОткрылосьОкно 26 | ВерсияVB: ver 5.6.0 27 | ВерсияПлатформы: 8.3.14.1450 28 | РежимСовместимостиTestManager: Версия8_3_10 29 | -------------------------------------------------------------------------------- /library/Открытие последнего проведенного документа.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | @ExportScenarios 4 | 5 | Функционал: Открытие формы последнего проведенного документа заданного типа 6 | 7 | 8 | @ТипШага: Практические примеры 9 | @Описание: Экспортный сценарий, открывает форму последнего проведенного документа по имени метаданных документа 10 | @ПримерИспользования: И я открываю последний проведенный документ с именем метаданных "ИмяДокумента" 11 | 12 | Сценарий: Я открываю последний проведенный документ с именем метаданных "ИмяДокумента" 13 | 14 | Дано Я запоминаю строку "ИмяДокумента" как переменную "ИмяДокументаВСтруктуреКонтекст" 15 | 16 | И затем я выполняю код встроенного языка на сервере 1С 17 | | Запрос = Новый Запрос("ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка ИЗ Документ.$ИмяДокументаВСтруктуреКонтекст ГДЕ Проведен УПОРЯДОЧИТЬ ПО Дата, Ссылка УБЫВ"); | 18 | | Выборка = Запрос.Выполнить().Выбрать(); | 19 | | Если Выборка.Следующий() Тогда | 20 | | Контекст.Вставить("НавигационнаяСсылкаКОткрытию", ПолучитьНавигационнуюСсылку(Выборка.Ссылка)); | 21 | | КонецЕсли; | 22 | 23 | И затем я выполняю код встроенного языка 24 | | АктивноеОкно = Ванесса.ПолучитьГлавноеОкноИзТестовоеПриложение(); | 25 | | АктивноеОкно.ВыполнитьКоманду(Контекст.НавигационнаяСсылкаКОткрытию); | 26 | 27 | 28 | -------------------------------------------------------------------------------- /library/Первый сценарий с новыми шагами.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | Функционал: Реализация собственных шагов 4 | 5 | Сценарий: Пример реализации собственных шагов 6 | 7 | Пусть Я запоминаю строку "Начало сценария" как переменную "Сообщение" 8 | И я вывожу значение переменной "Сообщение" 9 | 10 | Тогда выполняется "Вывод сообщения" на стороне клиента с сообщением об успехе "Текст сообщения" 11 | 12 | Тогда выполняется "Вывод сообщения" на стороне клиента с сообщением об успехе "Текст сообщения" 13 | И выполняется "Вывод сообщения" на стороне сервера с сообщением об успехе "Текст сообщения" 14 | 15 | Тогда Я запоминаю строку "Конец сценария" как переменную "Сообщение" 16 | И я вывожу значение переменной "Сообщение" 17 | 18 | 19 | 20 | 21 | 22 | 23 | # Ванесса.ДобавитьШагВМассивТестов(ВсеТесты, 24 | # "ВыполняетсяНаСторонеКлиентаССообщениемОбУспехе(Парам01,Парам02)", 25 | # "ВыполняетсяНаСторонеКлиентаССообщениемОбУспехе", 26 | # "Тогда выполняется ""Имя действия"" на стороне клиента с сообщением об успехе ""Текст сообщения""", 27 | # "", 28 | # ""); 29 | 30 | # Ванесса.ДобавитьШагВМассивТестов(ВсеТесты, 31 | # "ВыполняетсяНаСторонеСервераССообщениемОбУспехе(Парам01,Парам02)", 32 | # "ВыполняетсяНаСторонеСервераССообщениемОбУспехе", 33 | # "И выполняется ""Имя действия"" на стороне сервера с сообщением об успехе ""Текст сообщения""", 34 | # "", 35 | # ""); 36 | 37 | 38 | # &НаКлиенте 39 | # //Тогда выполняется "Имя действия" на стороне клиента с сообщением об успехе "Текст сообщения" 40 | # //@ВыполняетсяНаСторонеКлиентаССообщениемОбУспехе(Парам01,Парам02) 41 | # Процедура ВыполняетсяНаСторонеКлиентаССообщениемОбУспехе(ИмяДействия, ТекстСообщения) Экспорт 42 | 43 | # Сообщить(СтрШаблон("Выполнено действие %1 на стороне КЛИЕНТА. Сообщение об успехе: %2", ИмяДействия, ТекстСообщения)); 44 | 45 | # КонецПроцедуры 46 | 47 | # &НаКлиенте 48 | # //И выполняется "Имя действия" на стороне сервера с сообщением об успехе "Текст сообщения" 49 | # //@ВыполняетсяНаСторонеСервераССообщениемОбУспехе(Парам01,Парам02) 50 | # Процедура ВыполняетсяНаСторонеСервераССообщениемОбУспехе(ИмяДействия, ТекстСообщения) Экспорт 51 | 52 | # ВыполнитьДействиеНаСервере(ИмяДействия, ТекстСообщения); 53 | 54 | # КонецПроцедуры 55 | 56 | # &НаСервереБезКонтекста 57 | # Процедура ВыполнитьДействиеНаСервере(Знач ИмяДействия, Знач ТекстСообщения) 58 | 59 | # Сообщить(СтрШаблон("Выполнено действие %1 на стороне СЕРВЕРА. Сообщение об успехе: %2", ИмяДействия, ТекстСообщения)); 60 | 61 | # КонецПроцедуры 62 | -------------------------------------------------------------------------------- /features/Сценарии с ошибками/Сценарий с ошибкой 1.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | 4 | 5 | Функционал: Выполнение сценария с ошибкой 6 | 7 | Как Автор публикации о выгрузке результатов выполнения сценариев в Allure 8 | 9 | Я хочу выгрузить в отчет Allure результат выполнения упавшего сценария 10 | 11 | Чтобы разннообразить данные в отчете Allure и подремонстрировать 12 | механизм фильтрации на основе успешности выполнения сценариев 13 | 14 | Контекст: 15 | Дано Я запускаю сценарий открытия TestClient или подключаю уже существующий 16 | 17 | 18 | Сценарий: Сценарий, завершающийся с ощибкой 19 | 20 | И В командном интерфейсе я выбираю 'Продажи' 'Заказы клиентов' 21 | Тогда открылось окно 'Заказы клиентов' 22 | И в таблице "Список" я нажимаю на кнопку с именем 'СписокСоздать' 23 | Тогда открылось окно 'Заказ клиента (создание)' 24 | И из выпадающего списка с именем "Партнер" я выбираю по строке 'Алхимов А.А.' 25 | И из выпадающего списка "Контрагент" я выбираю по строке 'Алхимов А.А.' 26 | И из выпадающего списка "Операция" я выбираю по строке 'Реализация' 27 | И из выпадающего списка "Организация" я выбираю по строке 'Стройснаб' 28 | И из выпадающего списка "Соглашение" я выбираю по строке 'Расчеты в валюте' 29 | И из выпадающего списка с именем "Склад" я выбираю по строке 'Оптовый неордерный склад' 30 | И я перехожу к следующему реквизиту 31 | 32 | И я перехожу к закладке "Товары" 33 | 34 | 35 | И Я устанавливаю ссылку "https://infostart.ru/public/1010127" с именем "Публикация с секретными возможностями Vanessa-ADD" 36 | 37 | # Покдлючаем текстовый файл через библиотечный шаг 38 | И Я подключаю файл '$workspaceRoot/allure/ПроизвольныйФайл.txt' к шагу 39 | 40 | # Альтернативное подключение. Его будем использовать дальше для подключения изображения 41 | 42 | # И затем я выполняю код встроенного языка 43 | # |' ПутьКФайлу = "C:\data\allure\ПроизвольныйТекстовыйФайл.txt"; '| 44 | # |' ПлагинАллюра = Ванесса.Плагин("Аллюр2Отчет"); '| 45 | # |' ПлагинАллюра.ДобавитьФайлКТекущемуШагу(ПутьКФайлу); '| 46 | 47 | И затем я выполняю код встроенного языка 48 | |' ПутьКФайлу = "C:\data\allure\ПроизвольныйГрафическийФайл.jpg"; '| 49 | |' ПлагинАллюра = Ванесса.Плагин("Аллюр2Отчет"); '| 50 | |' ПлагинАллюра.ДобавитьФайлКТекущемуШагу(ПутьКФайлу, "image/jpeg"); '| 51 | 52 | И в таблице "Товары" я нажимаю на кнопку с именем 'ТоварыДобавить' 53 | И в таблице "Товары" из выпадающего списка "Номенклатура" я выбираю по строке 'Услуга 1' 54 | И в таблице "Товары" в поле 'Количество' я ввожу текст '1,000' 55 | И в таблице "Товары" из выпадающего списка "Вид цены" я выбираю точное значение '<произвольная>' 56 | И в таблице "Товары" я завершаю редактирование строки 57 | И я нажимаю на кнопку 'Провести' 58 | Тогда открылось окно 'Заказы клиентов' -------------------------------------------------------------------------------- /features/Присоединенные файлы/Присоединенные файлы для ПТУ.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | @ПропуститьДляПубликацииПроAllure 4 | @tree 5 | 6 | Функционал: Прикрепление файлов к документам закупок 7 | 8 | Я как менеджер по закупкам 9 | Хочу иметь возможность прикреплять скан-копии первичных документов к документам в базе 1С и извлекать их из документов в базе 1С 10 | Чтобы снизить затраты времени на пересылку бумажных документов внутри компании. 11 | 12 | 13 | Контекст: 14 | 15 | Пусть На локальном диске компьютера пользователя существует файл СканПоступления.pdf 16 | 17 | И затем я выполняю код встроенного языка 18 | |' ФайлСканаПоступления = Новый Файл(Ванесса.Объект.КаталогПроекта + "/Присоединенные файлы/СканПоступления.pdf"); '| 19 | |' Контекст.Вставить("ФайлСканаПоступленияСуществует", ФайлСканаПоступления.Существует()) '| 20 | И выражение внутреннего языка "Контекст.ФайлСканаПоступленияСуществует = Истина" Истинно 21 | 22 | И На локальном диске компьютера пользователя нет файла СканПоступления_СохраненныйИзДокумента.pdf 23 | 24 | И затем я выполняю код встроенного языка 25 | |'НачатьУдалениеФайлов(, Ванесса.Объект.КаталогПроекта + "/Присоединенные файлы/СканПоступления_СохраненныйИзДокумента.pdf");'| 26 | И Пауза 2 27 | И затем я выполняю код встроенного языка 28 | |' ФайлСканаПоступленияСохраненныйИзДокумента = Новый Файл(Ванесса.Объект.КаталогПроекта + "/Присоединенные файлы/СканПоступления_СохраненныйИзДокумента.pdf"); '| 29 | |' Контекст.Вставить("ФайлСканаПоступленияСохраненныйИзДокументаСуществует", ФайлСканаПоступленияСохраненныйИзДокумента.Существует()) '| 30 | И выражение внутреннего языка "НЕ Контекст.ФайлСканаПоступленияСохраненныйИзДокументаСуществует" Истинно 31 | 32 | Тогда Я запускаю сеанс 1С для проверки работы с прикрепленными файлами 33 | 34 | Тогда Я открыл сеанс TestClient от имени "Менеджер по закупкам" с паролем "" или подключаю уже существующий 35 | 36 | 37 | Сценарий: Прикрепление файлов к новому документу поступления товаров и услуг 38 | 39 | 40 | Пусть я создаю новый документ “Поступление товаров и услуг” 41 | 42 | 43 | И В командном интерфейсе я выбираю 'Закупки' 'Документы закупки (все)' 44 | Тогда открылось окно 'Документы закупки (все)' 45 | И в таблице "СписокДокументыЗакупки" я нажимаю на кнопку с именем 'Создать_ЗакупкаУПоставщика_ПриобретениеТоваровУслуг' 46 | Тогда открылось окно 'Приобретение товаров и услуг (создание)' 47 | И из выпадающего списка "Организация" я выбираю по строке 'Управленческая организация' 48 | 49 | 50 | И Я пытаюсь прикрепить к нему файл СканПоступления.pdf 51 | 52 | И В текущем окне я нажимаю кнопку командного интерфейса 'Файлы' 53 | 54 | 55 | Тогда система сообщает о необходимости предварительно записать документ 56 | 57 | Тогда открылось окно '1С:Предприятие' 58 | И значение поля с именем "Поле1" содержит текст "Данные еще не записаны" 59 | 60 | Тогда Я записываю документ 61 | 62 | И я нажимаю на кнопку 'OK' 63 | Тогда открылось окно 'Приобретение товаров и услуг *' 64 | 65 | 66 | И Я успешно прикрепляю файл СканПоступления.pdf к документу 67 | 68 | И В текущем окне я нажимаю кнопку командного интерфейса 'Файлы' 69 | И Я буду выбирать внешний файл "$КаталогПроекта$\Присоединенные файлы\СканПоступления.pdf" 70 | И я нажимаю на кнопку 'Файл с диска...' 71 | Тогда открылось окно 'Приобретение товаров и услуг *' 72 | 73 | И файл становится доступен для выбора в списке прикрепленных к документу файлов 74 | 75 | И в таблице "Список" я перехожу к строке: 76 | | 'Наименование' | 77 | | 'СканПоступления' | 78 | 79 | 80 | Тогда Я закрываю документ поступления товаров 81 | 82 | И В текущем окне я нажимаю кнопку командного интерфейса 'Основное' 83 | И я запоминаю значение поля с именем "Номер" как "НомерДокумента" 84 | И я запоминаю значение поля с именем "Дата" как "ДатаДокумента" 85 | И я вывожу значение переменной "НомерДокумента" 86 | И я вывожу значение переменной "ДатаДокумента" 87 | И Я закрываю окно 'Приобретение товаров и услуг *' 88 | 89 | 90 | И я заново открываю документ поступления 91 | 92 | Тогда открылось окно 'Документы закупки (все)' 93 | И в таблице "СписокДокументыЗакупки" я нажимаю на кнопку с именем 'СписокДокументыЗакупкиУстановитьИнтервал' 94 | Тогда открылось окно 'Выберите период' 95 | И в поле с именем "DateBegin" ввожу значение переменной "ДатаДокумента" 96 | И я нажимаю на кнопку 'Выбрать' 97 | 98 | И в таблице "СписокДокументыЗакупки" я перехожу к строке: 99 | | 'Номер' | 100 | | '$НомерДокумента$' | 101 | 102 | И в таблице "СписокДокументыЗакупки" я нажимаю на кнопку с именем 'СписокДокументыЗакупкиУстановитьИнтервал' 103 | Тогда открылось окно 'Выберите период' 104 | И я нажимаю на кнопку 'Очистить период' 105 | И я нажимаю на кнопку 'Выбрать' 106 | 107 | И в таблице "СписокДокументыЗакупки" я выбираю текущую строку 108 | Тогда открылось окно 'Приобретение товаров и услуг *' 109 | 110 | 111 | И в списке прикрепленных файлов по прежнему доступен для выбора ранее прикрепленный файл 112 | 113 | И В текущем окне я нажимаю кнопку командного интерфейса 'Файлы' 114 | И в таблице "Список" я перехожу к строке: 115 | | 'Наименование' | 116 | | 'СканПоступления' | 117 | 118 | 119 | Тогда Я сохраняю этот файл на диск компьютера пользователя под именем СканПоступления_СохраненныйИзДокумента.pdf 120 | 121 | И Я буду выбирать внешний файл "$КаталогПроекта$\Присоединенные файлы\СканПоступления_СохраненныйИзДокумента.pdf" 122 | И я выбираю пункт контекстного меню с именем 'СписокКонтекстноеМенюСохранитьКак' на элементе формы с именем "Список" 123 | Тогда открылось окно 'Приобретение товаров и услуг *' 124 | 125 | 126 | И на диске действительно появляется сохраненный файл 127 | 128 | И Я буду выбирать внешний файл "$КаталогПроекта$\Присоединенные файлы\СканПоступления_СохраненныйИзДокумента.pdf" 129 | И я нажимаю на кнопку 'Файл с диска...' 130 | Тогда открылось окно 'Приобретение товаров и услуг *' 131 | И в таблице "Список" я перехожу к строке: 132 | | 'Наименование' | 133 | | 'СканПоступления_СохраненныйИзДокумента' | 134 | -------------------------------------------------------------------------------- /features/Ввод реализации товаров на основании предварительного созданного заказа клиента.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | @ПропуститьДляПубликацииПроAllure 4 | @tree 5 | 6 | Функционал: Ввод реализации товаров на основании предварительного созданного заказа клиента 7 | 8 | Как менеджер по продажам 9 | Я хочу иметь возможность вводить реализацию товаров на основании ранее оформленного заказа покупателя 10 | Чтобы уменьшить время обслуживания клиента и сократить затраты времени на оформление документов. 11 | 12 | 13 | Контекст: 14 | 15 | В системе существуют свободные остатки по товару “Заказанный товар 1” и Заказанный товар 2” 16 | 17 | Дано Я открыл сеанс TestClient от имени "Администратор" с паролем "" или подключаю уже существующий 18 | И В командном интерфейсе я выбираю 'Закупки' 'Документы закупки (все)' 19 | Тогда открылось окно 'Документы закупки (все)' 20 | И в таблице "СписокДокументыЗакупки" я нажимаю на кнопку с именем 'Создать_ДокументЧерезФормуВыбора' 21 | Тогда открылось окно 'Создание документа по хозяйственной операции' 22 | И в таблице "ДеревоПоДокументам" я перехожу к строке: 23 | | 'Представление' | 24 | | 'Приобретение товаров и услуг ' | 25 | И в таблице "ДеревоПоДокументам" я разворачиваю текущую строку 26 | И в таблице "ДеревоПоДокументам" я перехожу к строке: 27 | | 'Представление' | 28 | | 'Закупка у поставщика' | 29 | И в таблице "ДеревоПоДокументам" я выбираю текущую строку 30 | Тогда открылось окно 'Приобретение товаров и услуг (создание)' 31 | И из выпадающего списка "Поставщик" я выбираю по строке 'Ассоль' 32 | И из выпадающего списка "Контрагент" я выбираю по строке 'Ассоль' 33 | И из выпадающего списка "Организация" я выбираю по строке 'Стройснаб' 34 | И из выпадающего списка с именем "Склад" я выбираю по строке 'Оптовый неордерный склад' 35 | И я перехожу к следующему реквизиту 36 | И я перехожу к закладке "Товары" 37 | И в таблице "Товары" я добавляю новую строку 38 | И в таблице "Товары" из выпадающего списка "Номенклатура" я выбираю по строке 'Заказанный товар 1' 39 | И в таблице "Товары" в поле 'Количество' я ввожу текст '1,000' 40 | И в таблице "Товары" в поле 'Цена' я ввожу текст '100,00' 41 | И в таблице "Товары" я завершаю редактирование строки 42 | И в таблице "Товары" я добавляю новую строку 43 | И в таблице "Товары" из выпадающего списка "Номенклатура" я выбираю по строке 'Заказанный товар 2' 44 | И в таблице "Товары" в поле 'Количество' я ввожу текст '2,000' 45 | И в таблице "Товары" в поле 'Цена' я ввожу текст '200,00' 46 | И в таблице "Товары" я завершаю редактирование строки 47 | И я нажимаю на кнопку 'Провести и закрыть' 48 | И я жду закрытия окна 'Приобретение товаров и услуг (создание)' в течение 20 секунд 49 | 50 | И система запущена под пользователем “Менеджер по продажам” с соответствующими ему ограничениями 51 | 52 | И я закрываю сеанс TESTCLIENT 53 | И Я открыл сеанс TestClient от имени "Менеджер по продажам" с паролем "" или подключаю уже существующий 54 | 55 | 56 | И в системе создан и открыт заказ клиента с этими товарами и услугой “Услуга 1” и заданными ценами и количеством 57 | 58 | И В панели разделов я выбираю 'Продажи' 59 | И В панели функций я выбираю 'Заказы клиентов' 60 | Тогда открылось окно 'Заказы клиентов' 61 | И в таблице "Список" я нажимаю на кнопку с именем 'СписокСоздать' 62 | Тогда открылось окно 'Заказ клиента (создание)' 63 | И из выпадающего списка с именем "Партнер" я выбираю по строке 'Алхимов А.А.' 64 | И из выпадающего списка "Контрагент" я выбираю по строке 'Алхимов А.А.' 65 | И из выпадающего списка "Соглашение" я выбираю по строке 'Расчеты в валюте' 66 | И из выпадающего списка "Операция" я выбираю по строке 'Реализация' 67 | И из выпадающего списка "Организация" я выбираю по строке 'Стройснаб' 68 | И из выпадающего списка с именем "Склад" я выбираю по строке 'Оптовый неордерный склад' 69 | И я перехожу к следующему реквизиту 70 | И я перехожу к закладке "Товары" 71 | И в таблице "Товары" я добавляю новую строку 72 | И в таблице "Товары" из выпадающего списка "Номенклатура" я выбираю по строке 'Заказанный товар 1' 73 | И в таблице "Товары" в поле 'Количество' я ввожу текст '1,000' 74 | И в таблице "Товары" в поле 'Цена' я ввожу текст '200,00' 75 | И в таблице "Товары" я завершаю редактирование строки 76 | И в таблице "Товары" я добавляю новую строку 77 | И в таблице "Товары" из выпадающего списка "Номенклатура" я выбираю по строке 'Заказанный товар 2' 78 | И в таблице "Товары" в поле 'Количество' я ввожу текст '2,000' 79 | И в таблице "Товары" в поле 'Цена' я ввожу текст '300,00' 80 | И в таблице "Товары" я завершаю редактирование строки 81 | И в таблице "Товары" я добавляю новую строку 82 | И в таблице "Товары" из выпадающего списка "Номенклатура" я выбираю по строке 'Услуга 1' 83 | И в таблице "Товары" в поле 'Количество' я ввожу текст '1,000' 84 | И в таблице "Товары" в поле 'Цена' я ввожу текст '500,00' 85 | И в таблице "Товары" я завершаю редактирование строки 86 | И в таблице 'Товары' я выделяю все строки 87 | И в таблице "Товары" я нажимаю на кнопку 'Заполнить обеспечение' 88 | Тогда открылось окно 'Заполнение обеспечения и отгрузки' 89 | И я устанавливаю флаг 'Отгрузить (при необходимости обособленно)' 90 | И я нажимаю на кнопку 'Заполнить' 91 | И я нажимаю на кнопку 'Провести' 92 | 93 | 94 | Сценарий: Проведение реализации вводом на основании из формы заказа клиента 95 | 96 | 97 | Я нажимаю кнопку ввода на основании выбирая из меню Реализацию товаров и услуг 98 | И я нажимаю на кнопку 'Реализация товаров и услуг' 99 | 100 | Тогда открывается форма нового документа Реализация товаров и услуг 101 | Тогда открылось окно 'Реализация товаров и услуг (создание)' 102 | 103 | И в этой форме автоматически заполнен товарный состав под данным заказа, цены и количество и склад совпадает с заказом 104 | 105 | И я перехожу к закладке "Товары" 106 | И в таблице "Товары" я перехожу к строке: 107 | | 'Вид цены' | 'Количество' | 'Номенклатура' | 'Сумма' | 'Цена' | 108 | | '<произвольная>' | '1,000' | 'Услуга 1' | '500,00' | '500,00' | 109 | И в таблице "Товары" я активизирую поле "Упаковка" 110 | И в таблице "Товары" я перехожу к строке: 111 | | 'Вид цены' | 'Количество' | 'Номенклатура' | 'Сумма' | 'Цена' | 112 | | '<произвольная>' | '2,000' | 'Заказанный товар 2' | '600,00' | '300,00' | 113 | И в таблице "Товары" я перехожу к строке: 114 | | 'Вид цены' | 'Количество' | 'Номенклатура' | 'Сумма' | 'Цена' | 115 | | '<произвольная>' | '1,000' | 'Заказанный товар 1' | '200,00' | '200,00' | 116 | 117 | 118 | И нажимаю на кнопку Провести и закрыть 119 | 120 | И я нажимаю на кнопку 'Провести и закрыть' 121 | 122 | Тогда реализация товаров успешно проводится. Под этим понимаем закрытие окна реализации без сообщения об ошибках. 123 | 124 | И я жду закрытия окна 'Реализация товаров и услуг (создание)' в течение 20 секунд 125 | -------------------------------------------------------------------------------- /features/Обмен РИБ через план обмена Полный в УТ.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | @ПропуститьДляПубликацииПроAllure 4 | @Tree 5 | 6 | Функционал: Передача номенклатуры из центрального узла в периферийный узел РИБ 7 | 8 | 9 | Я как сотрудник отвечающий за НСИ 10 | 11 | Хочу создавать номенклатуру в центральном узле распределенной базы и передавать ее в периферийные узлы с сохранением уникальных свойств этой номенклатуры и переносом значимых реквизитов. 12 | 13 | Чтобы 14 | - обеспечить единый источник информации о номенклатуре: 15 | - избежать необходимости создавать номенклатуру в каждой периферийной базе в отдельности 16 | - и обеспечить возможность для автоматической синхронизации свойств номенклатуры в дальнейшем. 17 | 18 | 19 | 20 | Контекст: 21 | 22 | И Я однократно формирую наименование номенклатуры к обмену на основе текущей даты и времени 23 | 24 | И Я запоминаю значение выражения '"Номенклатура к обмену от " + Строка(ТекущаяДата())' в переменную 'НаименованиеНоменклатурыКОбмену' 25 | # Выполняем отладочный вывод наименования номенклатуры 26 | И я вывожу значение переменной "НаименованиеНоменклатурыКОбмену" 27 | 28 | 29 | 30 | Сценарий: Передача новой номенклатуры из центрального узла в периферийный 31 | 32 | 33 | Пусть Я запускаю базу центрального узла с правами администратора системы 34 | 35 | Дано Я подключаю клиент тестирования с параметрами: 36 | | 'Имя подключения' | 'Синоним' | 'Порт' | 'Строка соединения' | 'Логин' | 'Пароль' | 'Запускаемая обработка' | 'Дополнительные параметры строки запуска' | 37 | | 'БазаИсточник' | 'База-источник' | '0' | 'Srvr="HOST:1541";Ref="ut_autotest";' | 'Администратор' | '' | '' | '' | 38 | 39 | И в базе центрального узла нет данных к обмену с базой периферийного узла 40 | 41 | И В командном интерфейсе я выбираю 'НСИ и администрирование' 'Синхронизация данных' 42 | Тогда открылось окно 'Синхронизация данных' 43 | И я нажимаю на кнопку 'Синхронизация данных' 44 | Тогда открылось окно 'Список настроенных синхронизаций данных' 45 | 46 | И в таблице "СписокСостоянияУзлов" я перехожу к строке: 47 | | 'Информационная база' | 'Программа' | 48 | | 'Приемник' | 'Распределенная информационная база' | 49 | 50 | И в таблице "СписокСостоянияУзлов" я активизирую поле "Программа" 51 | И я выбираю пункт контекстного меню с именем 'СписокСостоянияУзловКонтекстноеМенюСоставОтправляемыхДанных' на элементе формы с именем "СписокСостоянияУзлов" 52 | Тогда открылось окно 'Регистрация изменений для обмена с "Приемник"' 53 | 54 | И в таблице "ДеревоМетаданных" я перехожу к строке: 55 | | 'Объект конфигурации' | 56 | | 'Источник - Управление торговлей' | 57 | 58 | И я нажимаю на кнопку 'Всех объектов выбранных типов' 59 | Тогда открылось окно 'Подтверждение' 60 | И я нажимаю на кнопку 'Да' 61 | 62 | 63 | Тогда я создаю новую номенклатуру с уникальным наименованием 64 | 65 | Тогда В панели разделов я выбираю 'НСИ и администрирование' 66 | И В панели функций я выбираю 'Номенклатура' 67 | Тогда открылось окно 'Номенклатура' 68 | И я нажимаю на кнопку с именем 'СписокРасширенныйПоискНоменклатураСоздать' 69 | Тогда открылось окно 'Номенклатура (создание)' 70 | И из выпадающего списка с именем "ВидНоменклатурыОбязательныеПоля" я выбираю по строке 'Кабели силовые NYM' 71 | И в поле 'Рабочее наименование' я ввожу значение переменной "НаименованиеНоменклатурыКОбмену" 72 | 73 | И из выпадающего списка "Единица хранения" я выбираю по строке 'ш' 74 | И из выпадающего списка "Ставка НДС" я выбираю по строке '18%' 75 | И из выпадающего списка "Число жил" я выбираю по строке '1' 76 | И из выпадающего списка "Сечение (кв_мм)" я выбираю по строке '1,5' 77 | И в поле 'Наружный диаметр (кв. мм)' я ввожу текст '1,0' 78 | И в поле 'Расчетная масса (кг/км)' я ввожу текст '1' 79 | И из выпадающего списка "Производитель" я выбираю по строке 'фабрика мебели' 80 | И я перехожу к следующему реквизиту 81 | 82 | 83 | И я указываю в ней артикул AA-11-BB-22 84 | 85 | И я меняю значение переключателя 'НастройкаВидимостиФормы' на 'Показать все' 86 | И в поле 'Артикул' я ввожу текст 'AA-11-BB-22' 87 | # Фиксируем ввод артикула перед тем, как его запомнить 88 | И я перехожу к следующему реквизиту 89 | И я запоминаю значение поля "Артикул" как "АртикулНоменклатурыКОбмену" 90 | 91 | 92 | И я записываю номенклатуру из формы 93 | 94 | И я нажимаю на кнопку 'Записать и закрыть' 95 | Когда открылось окно 'Контроль уникальности*' 96 | Если появилось окно с заголовком "Конртроль уникальности*" в течение 5 секунд Тогда 97 | Тогда я нажимаю на кнопку "Продолжить запись" 98 | 99 | И я убеждаюсь, что созданная номенклатура зарегистрировалась к обмену 100 | 101 | Когда В панели открытых я выбираю 'Регистрация изменений для обмена с \"Приемник\"' 102 | Тогда открылось окно 'Регистрация изменений для обмена с "Приемник"' 103 | И я нажимаю на кнопку с именем 'ОбновитьВсеДанные' 104 | 105 | И в таблице "ДеревоМетаданных" я разворачиваю строку: 106 | | 'Объект конфигурации' | 107 | | 'Справочники' | 108 | И в таблице "ДеревоМетаданных" я перехожу к строке: 109 | | 'Объект конфигурации' | 110 | | 'Номенклатура' | 111 | И в таблице "СписокСсылок" я перехожу к строке: 112 | | 'Номенклатура' | 113 | | '$НаименованиеНоменклатурыКОбмену$' | 114 | 115 | 116 | 117 | И я выполняю отправку данных в периферийный узел 118 | 119 | И В панели открытых я выбираю 'Список настроенных синхронизаций данных' 120 | Тогда открылось окно 'Список настроенных синхронизаций данных' 121 | И в таблице "СписокСостоянияУзлов" я перехожу к строке: 122 | | 'Информационная база' | 'Программа' | 123 | | 'Приемник' | 'Распределенная информационная база' | 124 | И я нажимаю на кнопку с именем 'ВыполнитьОбменДаннымиПанельСписка' 125 | Тогда открылось окно 'Синхронизация данных с "Приемник"' 126 | # Даем 20 секунд на завершение обмена 127 | И Пауза 20 128 | И я нажимаю на кнопку с именем 'ФормаЗакрыть' 129 | 130 | И я закрываю базу центрального узла 131 | 132 | И я закрываю TestClient "БазаИсточник" 133 | 134 | 135 | Тогда я запускаю базу периферийного узла с полными правами 136 | Дано Я подключаю клиент тестирования с параметрами: 137 | | 'Имя подключения' | 'Синоним' | 'Порт' | 'Строка соединения' | 'Логин' | 'Пароль' | 'Запускаемая обработка' | 'Дополнительные параметры строки запуска' | 138 | | 'БазаПриемник' | 'База-приемник' | '0' | 'Srvr="HOST:1541";Ref="ut_autotest_reciever_";' | 'Администратор' | '' | '' | '' | 139 | 140 | 141 | И в базе периферийного узла нет данных к обмену с базой-источником 142 | 143 | И В командном интерфейсе я выбираю 'НСИ и администрирование' 'Синхронизация данных' 144 | Тогда открылось окно 'Синхронизация данных' 145 | И я нажимаю на кнопку 'Синхронизация данных' 146 | Тогда открылось окно 'Список настроенных синхронизаций данных' 147 | И в таблице "СписокСостоянияУзлов" я перехожу к строке: 148 | | 'Информационная база' | 'Программа' | 149 | | 'Центральная база' | 'Распределенная информационная база' | 150 | 151 | И я выбираю пункт контекстного меню с именем 'СписокСостоянияУзловКонтекстноеМенюСоставОтправляемыхДанных' на элементе формы с именем "СписокСостоянияУзлов" 152 | Тогда открылось окно 'Регистрация изменений для обмена с "Центральная база"' 153 | И в таблице "ДеревоМетаданных" я перехожу к строке: 154 | | 'Объект конфигурации' | 155 | | 'Источник - Управление торговлей' | 156 | И я нажимаю на кнопку 'Всех объектов выбранных типов' 157 | Тогда открылось окно 'Подтверждение' 158 | И я нажимаю на кнопку 'Да' 159 | 160 | Тогда я выполняю загрузку данных в периферийный узел 161 | 162 | И В панели открытых я выбираю 'Список настроенных синхронизаций данных' 163 | И в таблице "СписокСостоянияУзлов" я перехожу к строке: 164 | | 'Информационная база' | 'Программа' | 165 | | 'Центральная база' | 'Распределенная информационная база' | 166 | 167 | И я нажимаю на кнопку с именем 'ВыполнитьОбменДаннымиПанельСписка' 168 | Тогда открылось окно 'Синхронизация данных с "Центральная база"' 169 | # Даем 20 секунд на завершение обмена 170 | И Пауза 20 171 | И я нажимаю на кнопку с именем 'ФормаЗакрыть' 172 | 173 | 174 | И нахожу загруженную номенклатуру с ранее сформированным уникальным наименованием 175 | 176 | И В панели разделов я выбираю 'НСИ и администрирование' 177 | И В панели функций я выбираю 'Номенклатура' 178 | Тогда открылось окно 'Номенклатура' 179 | И я снимаю флаг с именем "ИспользоватьФильтры" 180 | И в таблице "СписокРасширенныйПоискНоменклатура" я перехожу к строке: 181 | | 'Наименование' | 182 | | '$НаименованиеНоменклатурыКОбмену$' | 183 | 184 | 185 | И убеждаюсь, что также у нее корректно установлен артикул 186 | 187 | И в таблице "СписокРасширенныйПоискНоменклатура" я выбираю текущую строку 188 | И я перехожу к закладке "Реквизиты" 189 | Тогда элемент формы "Артикул" стал равен "AA-11-BB-22" 190 | 191 | И закрываю базу периферийного узла 192 | 193 | # Пауза для записи финальных кадров картинки-анимации 194 | И Пауза 1 195 | И я закрываю TestClient "БазаПриемник" 196 | 197 | 198 | 199 | Сценарий: Обновление свойств ранее созданной номенклатуры 200 | 201 | # Нереализованный сценарий будет считаться успешно выполненным 202 | Дано Сценарий пока не реализован 203 | -------------------------------------------------------------------------------- /features/Движения заказа через форму регистра.feature: -------------------------------------------------------------------------------- 1 | #language: ru 2 | 3 | @ПропуститьДляПубликацииПроAllure 4 | @tree 5 | 6 | 7 | Функционал: Отражение заказа клиента по регистру Расчеты с клиентами 8 | 9 | 10 | Как QA-инженер 11 | Я хочу убедиться, что заказ клиента корректно отражается по регистру Расчеты с клиентами 12 | Чтобы не допустить регресса системы учета при внесении в неё изменений 13 | 14 | 15 | Контекст: 16 | 17 | 18 | Пусть Я запускаю систему под пользователем с правами на проведение заказа клиента и просмотр регистров 19 | 20 |     21 | Пусть Я открыл сеанс TestClient от имени "QA" с паролем "" или подключаю уже существующий 22 | И Я закрыл все окна клиентского приложения 23 | 24 | 25 | Тогда Я создаю и записываю новый документ Заказ клиента от 01.01.2019 26 | 27 | 28 | 29 | И В командном интерфейсе я выбираю 'Продажи' 'Заказы клиентов' 30 | 31 | Тогда открылось окно 'Заказы клиентов' 32 | 33 | И в таблице "Список" я нажимаю на кнопку с именем 'СписокСоздать' 34 | 35 | Тогда открылось окно 'Заказ клиента (создание)' 36 | 37 | И в поле с именем 'Дата' я ввожу текст '01.01.2019  0:00:00' 38 | 39 | И я перехожу к следующему реквизиту 40 | 41 | И я нажимаю на кнопку 'Записать' 42 | 43 | И я запоминаю значение поля с именем "Номер" как "НомерДокумента" 44 | 45 | И я запоминаю значение поля с именем "Дата" как "ДатаДокумента" 46 | 47 | И я запоминаю текущее окно как "ПредставлениеОбъетаРасчетов" 48 | 49 | 50 | 51 | И я указываю в нем контрагента, партнера, пустой склад, организацию и вариант продажи Реализация 52 | 53 | 54 | 55 | И из выпадающего списка с именем "Партнер" я выбираю по строке 'Алхимов А.А.' 56 | 57 | И из выпадающего списка "Контрагент" я выбираю по строке 'Алхимов А.А.' 58 | 59 | И я нажимаю кнопку выбора у поля "Операция" 60 | 61 | И из выпадающего списка "Операция" я выбираю по строке 'Реализация' 62 | 63 | И из выпадающего списка "Организация" я выбираю по строке 'Стройснаб' 64 | 65 | И в поле с именем 'Склад' я ввожу текст '' 66 | 67 | И я нажимаю кнопку выбора у поля "Статус" 68 | 69 | И из выпадающего списка "Статус" я выбираю по строке 'К выполнению' 70 | 71 | И я перехожу к следующему реквизиту 72 | 73 | 74 | 75 | И я устанавливаю флаг отгружать одной датой с датой отгрузки 02.01.2019     76 | 77 | И я устанавливаю флаг 'Отгружать одной датой' 78 | 79 | И в поле 'ДатаОтгрузки' я ввожу текст '02.01.2019' 80 | 81 | И я перехожу к следующему реквизиту 82 | 83 | 84 | 85 | 86 | 87 | Сценарий: Указание трех этапов оплат непосредственно в заказе 88 | 89 | 90 | 91 | И я выбираю в заказе соглашение с вариантом расчетов по заказам, в рублях, ценой включающей НДС без графика платежей 92 | 93 | 94 | 95 | И я нажимаю кнопку выбора у поля "Соглашение" 96 | 97 | Тогда открылось окно 'Соглашения об условиях продаж' 98 | 99 | И в таблице "Список" я нажимаю на кнопку с именем 'СписокСоздатьИндивидуальноеСоглашение' 100 | 101 | Тогда открылось окно 'Индивидуальное соглашение об условиях продаж' 102 | 103 | 104 | 105 | И Я запоминаю значение выражения '"Соглашение к выбору от " + Строка(ТекущаяДата())' в переменную 'НаименованиеСоглашения' 106 | 107 | И в поле 'Наименование' я ввожу значение переменной "НаименованиеСоглашения"     108 | 109 | 110 | 111 | И я перехожу к закладке "Условия продаж" 112 | 113 | И из выпадающего списка "Валюта взаиморасчетов" я выбираю по строке 'RUB' 114 | 115 | И из выпадающего списка "Детализация расчетов" я выбираю по строке 'По заказам' 116 | 117 | И из выпадающего списка "Оплата" я выбираю по строке 'Оплата в рублях' 118 | 119 | И в поле 'График оплаты' я ввожу текст '' 120 | 121 | И из выпадающего списка "Валюта цен" я выбираю по строке 'rub'   122 | 123 | И я устанавливаю флаг 'Цена включает НДС' 124 | 125 | Тогда открылось окно '1С:Предприятие' 126 | 127 | И я нажимаю на кнопку 'Да' 128 | 129 | И я нажимаю на кнопку 'Записать и закрыть' 130 | 131 | И я жду закрытия окна 'Индивидуальное соглашение об условиях продаж *' в течение 5 секунд 132 | 133 | Тогда открылось окно 'Соглашения об условиях продаж' 134 | 135 | И в таблице "Список" я перехожу к строке: 136 | | 'Наименование' | 137 | | '$НаименованиеСоглашения$' | 138 | 139 | И в таблице "Список" я выбираю текущую строку 140 | 141 | 142 | 143 | 144 | 145 | И я указываю в заказе этапы платежей Аванс 10% на 05.01.2019, Предоплата 20% на 10.01.2019 и Кредит 70% на 20.01.2019 146 | 147 | 148 | 149 | И я нажимаю на гиперссылку "НадписьЭтапыОплаты" 150 | 151 | Тогда открылось окно 'Правила оплаты' 152 | 153 | И из выпадающего списка "Расчеты" я выбираю по строке 'По заказам'   154 | 155 | И в поле 'Банковский счет' я ввожу текст '' 156 | 157 | И в таблице "ЭтапыГрафикаОплаты" я нажимаю на кнопку с именем 'ЭтапыГрафикаОплатыДобавить'   158 | 159 | И в таблице "ЭтапыГрафикаОплаты" из выпадающего списка "Вариант оплаты" я выбираю по строке 'Аванс' 160 | 161 | И в таблице "ЭтапыГрафикаОплаты" в поле 'Дата платежа' я ввожу текст '05.01.2019'   162 | 163 | И в таблице "ЭтапыГрафикаОплаты" в поле '% платежа' я ввожу текст '10,00' 164 | 165 | И в таблице "ЭтапыГрафикаОплаты" я завершаю редактирование строки 166 | 167 | И в таблице "ЭтапыГрафикаОплаты" я нажимаю на кнопку с именем 'ЭтапыГрафикаОплатыДобавить' 168 | 169 | И в таблице "ЭтапыГрафикаОплаты" из выпадающего списка "Вариант оплаты" я выбираю по строке 'Предоплата' 170 | 171 | И в таблице "ЭтапыГрафикаОплаты" в поле 'Дата платежа' я ввожу текст '10.01.2019' 172 | 173 | И в таблице "ЭтапыГрафикаОплаты" в поле '% платежа' я ввожу текст '20,00' 174 | 175 | И в таблице "ЭтапыГрафикаОплаты" я завершаю редактирование строки 176 | 177 | И в таблице "ЭтапыГрафикаОплаты" я нажимаю на кнопку с именем 'ЭтапыГрафикаОплатыДобавить' 178 | 179 | И в таблице "ЭтапыГрафикаОплаты" из выпадающего списка "Вариант оплаты" я выбираю по строке 'Кредит' 180 | 181 | И в таблице "ЭтапыГрафикаОплаты" в поле 'Дата платежа' я ввожу текст '20.01.2019' 182 | 183 | И в таблице "ЭтапыГрафикаОплаты" в поле '% платежа' я ввожу текст '70,00' 184 | 185 | И в таблице "ЭтапыГрафикаОплаты" я завершаю редактирование строки 186 | 187 | И я нажимаю на кнопку 'Перенести в документ' 188 | 189 | 190 | 191 | 192 | 193 | И я выбираю для продажи услугу на общую стоимость 1000 рублей 194 | 195 | 196 | 197 |    И я перехожу к закладке "Товары" 198 | 199 |    И в таблице "Товары" я нажимаю на кнопку с именем 'ТоварыДобавить' 200 | 201 |    И в таблице "Товары" из выпадающего списка "Номенклатура" я выбираю по строке 'Услуга 1' 202 | 203 |    И в таблице "Товары" в поле 'Количество' я ввожу текст '1,000' 204 | 205 |    И в таблице "Товары" из выпадающего списка "Вид цены" я выбираю точное значение '<произвольная>' 206 | 207 |    И в таблице "Товары" в поле 'Цена' я ввожу текст '1 000,00' 208 | 209 |    И в таблице "Товары" я завершаю редактирование строки 210 | 211 | 212 | 213 | 214 | 215 | Когда я провожу этот заказ клиента 216 | 217 |     218 | 219 | И я нажимаю на кнопку 'Провести' 220 | 221 |     222 | 223 | Тогда в регистре “Расчеты с клиентами” появляется три записи с регистратором равным проведенному заказу клиента 224 | 225 | 226 | 227 | Дано Я открываю основную форму регистра накопления "РасчетыСКлиентами" 228 | 229 | Тогда открылось окно 'Расчеты с клиентами' 230 | 231 | И я нажимаю на кнопку 'Настроить список...' 232 | 233 | Тогда открылось окно 'Настройка списка' 234 | 235 |     236 | 237 | И я перехожу к закладке "Отбор" 238 | 239 | И в таблице "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0ДоступныеПоляТаблица" я перехожу к строке: 240 | | 'Доступные поля' | 241 | | 'Регистратор'    | 242 | 243 | И в таблице "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0ДоступныеПоляТаблица" я выбираю текущую строку 244 | 245 | И в таблице "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0Отбор" я нажимаю кнопку выбора у реквизита "Значение" 246 | 247 | Тогда открылось окно 'Выбор типа данных' 248 | 249 | И В форме "Выбор типа данных" в таблице "" я перехожу к строке: 250 | | ''  | 251 | | 'Заказ клиента' | 252 | 253 | И в таблице "" я выбираю текущую строку 254 | 255 | Тогда открылось окно 'Заказы клиентов' 256 | 257 | И в таблице "Список" я перехожу к строке: 258 | | 'Дата'    | 'Номер'    | 259 | | '$ДатаДокумента$' | '$НомерДокумента$' | 260 | 261 | 262 | 263 | И в таблице "Список" я выбираю текущую строку 264 | 265 | Тогда открылось окно 'Настройка списка' 266 | 267 | И в таблице "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0Отбор" я завершаю редактирование строки 268 | 269 | И я нажимаю на кнопку 'Завершить редактирование' 270 | 271 | Тогда открылось окно 'Расчеты с клиентами' 272 | 273 | 274 | 275 | Тогда в таблице "Список" количество строк "равно" 3 276 | 277 | 278 | 279 | И среди этих записей есть строка с реквизитами документа, датой оплаты 05.01.2019 и суммой 100 280 | 281 | 282 | 283 | И в таблице "Список" я перехожу к строке: 284 | | 'Валюта' | 'Дата платежа'    | 'Дата регистратора'   | 'Исключать при контроле' | 'К оплате клиенту' | 'Контрагент'   | 'Объект расчетов'   | 'Организация' | 'Партнер'  | 'Период'  | 285 | | 'RUB'    | '05.01.2019 23:59:59' | '$ДатаДокумента$' | 'Да' | '100,00'   | 'Алхимов А.А.' | '$ПредставлениеОбъетаРасчетов$' | 'Стройснаб'   | 'Алхимов А.А.' | '05.01.2019 23:59:59' | 286 | 287 |     288 | 289 | И среди этих записей есть строка с реквизитами документа, датой оплаты 10.01.2019 и суммой 200 290 | 291 | 292 | 293 | И в таблице "Список" я перехожу к строке: 294 | | 'Валюта' | 'Дата платежа'    | 'Дата регистратора'   | 'Исключать при контроле' | 'К оплате клиенту' | 'Контрагент'   | 'Объект расчетов'   | 'Организация' | 'Партнер'  | 'Период'  | 295 | | 'RUB'    | '10.01.2019 23:59:59' | '$ДатаДокумента$' | 'Да' | '200,00'   | 'Алхимов А.А.' | '$ПредставлениеОбъетаРасчетов$' | 'Стройснаб'   | 'Алхимов А.А.' | '10.01.2019 23:59:59' | 296 | 297 | 298 | 299 | И среди этих записей есть строка с реквизитами документа, датой оплаты 20.01.2019 и суммой 700 300 | 301 | 302 | 303 | 304 | 305 | И в таблице "Список" я перехожу к строке: 306 | | 'Валюта' | 'Дата платежа'    | 'Дата регистратора'   | 'Исключать при контроле' | 'К оплате клиенту' | 'Контрагент'   | 'Объект расчетов'   | 'Организация' | 'Партнер'  | 'Период'  | 307 | | 'RUB'    | '20.01.2019 23:59:59' | '$ДатаДокумента$' | 'Да' | '700,00'   | 'Алхимов А.А.' | '$ПредставлениеОбъетаРасчетов$' | 'Стройснаб'   | 'Алхимов А.А.' | '20.01.2019 23:59:59' | 308 | 309 | 310 | 311 | 312 | 313 | И я отключаю отбор в списке регистра, чтобы не влиять на другие сценарии 314 | 315 | 316 | 317 | И я нажимаю на кнопку 'Настроить список...' 318 | 319 | Тогда открылось окно 'Настройка списка' 320 | 321 | И я перехожу к закладке "Отбор" 322 | 323 | И я удаляю все строки таблицы "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0Отбор" 324 | 325 | И я нажимаю на кнопку 'Завершить редактирование' 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | Сценарий: Указание двух этапов оплат в графике платежей заказе 334 | 335 | 336 | 337 | И я создаю график оплат Аванс 30% срок 5 дней, Предоплата 70% срок 6 дней 338 | 339 | 340 | 341 | И В командном интерфейсе я выбираю 'CRM и маркетинг' 'Графики оплаты' 342 | 343 | Тогда открылось окно 'Графики оплаты' 344 | 345 | И я нажимаю на кнопку с именем 'ФормаСоздать' 346 | 347 | Тогда открылось окно 'График оплаты (создание)' 348 | 349 | 350 | 351 | И Я запоминаю значение выражения '"График к выбору от " + Строка(ТекущаяДата())' в переменную 'НаименованиеГрафика' 352 | 353 | И в поле 'Наименование' я ввожу значение переменной "НаименованиеГрафика"   354 | 355 | И в таблице "Этапы" я нажимаю на кнопку с именем 'ЭтапыДобавить'     356 | 357 | И в таблице "Этапы" из выпадающего списка "Вариант оплаты" я выбираю по строке 'Аванс' 358 | 359 | И в таблице "Этапы" в поле 'Срок (дн)' я ввожу текст '5'     360 | 361 | И в таблице "Этапы" в поле '% платежа' я ввожу текст '30,00' 362 | 363 | И в таблице "Этапы" я завершаю редактирование строки 364 | 365 | И в таблице "Этапы" я нажимаю на кнопку с именем 'ЭтапыДобавить' 366 | 367 | И в таблице "Этапы" из выпадающего списка "Вариант оплаты" я выбираю по строке 'Пре' 368 | 369 | И в таблице "Этапы" в поле 'Срок (дн)' я ввожу текст '6' 370 | 371 | И в таблице "Этапы" в поле '% платежа' я ввожу текст '70,00' 372 | 373 | И в таблице "Этапы" я завершаю редактирование строки 374 | 375 | И я меняю значение переключателя 'Учет отсрочки по' на 'календарным дням' 376 | 377 | И я нажимаю на кнопку 'Записать и закрыть' 378 | 379 | И я жду закрытия окна 'График оплаты (создание)' в течение 20 секунд 380 | 381 | 382 | 383 | 384 | 385 | И я создаю соглашение с вариантом расчетов по заказам, в рублях, ценой включающей НДС 386 | 387 | 388 | 389 | Когда В панели открытых я выбираю 'Заказ клиента *' 390 | 391 | Тогда открылось окно 'Заказ клиента *' 392 | 393 | И я перехожу к закладке "Основное" 394 | 395 | 396 | 397 | И я нажимаю кнопку выбора у поля "Соглашение" 398 | 399 | Тогда открылось окно 'Соглашения об условиях продаж' 400 | 401 | И в таблице "Список" я нажимаю на кнопку с именем 'СписокСоздатьИндивидуальноеСоглашение' 402 | 403 | Тогда открылось окно 'Индивидуальное соглашение об условиях продаж' 404 | 405 | 406 | 407 | И Я запоминаю значение выражения '"Соглашение к выбору от " + Строка(ТекущаяДата())' в переменную 'НаименованиеСоглашения' 408 | 409 | И в поле 'Наименование' я ввожу значение переменной "НаименованиеСоглашения"     410 | 411 |     412 | 413 | И я перехожу к закладке "Условия продаж" 414 | 415 | И из выпадающего списка "Валюта взаиморасчетов" я выбираю по строке 'RUB' 416 | 417 | И из выпадающего списка "Детализация расчетов" я выбираю по строке 'По заказам' 418 | 419 | И из выпадающего списка "Оплата" я выбираю по строке 'Оплата в рублях' 420 | 421 | И в поле 'График оплаты' я ввожу значение переменной "НаименованиеГрафика" 422 | 423 | И из выпадающего списка "Валюта цен" я выбираю по строке 'rub'   424 | 425 | И я устанавливаю флаг 'Цена включает НДС' 426 | 427 | Тогда открылось окно '1С:Предприятие' 428 | 429 | И я нажимаю на кнопку 'Да' 430 | 431 | 432 | 433 | И я записываю и выбираю это соглашение в заказе 434 | 435 | 436 | 437 | И я нажимаю на кнопку 'Записать и закрыть' 438 | 439 | И я жду закрытия окна 'Индивидуальное соглашение об условиях продаж *' в течение 5 секунд 440 | 441 | Тогда открылось окно 'Соглашения об условиях продаж' 442 | 443 | И в таблице "Список" я перехожу к строке: 444 | | 'Наименование' | 445 | | '$НаименованиеСоглашения$' | 446 | 447 | И в таблице "Список" я выбираю текущую строку 448 | 449 | 450 | 451 | 452 | 453 | И я выбираю для продажи услугу на общую стоимость 1000 рублей 454 | 455 | 456 | 457 |    И я перехожу к закладке "Товары" 458 | 459 |    И в таблице "Товары" я нажимаю на кнопку с именем 'ТоварыДобавить' 460 | 461 |    И в таблице "Товары" из выпадающего списка "Номенклатура" я выбираю по строке 'Услуга 1' 462 | 463 |    И в таблице "Товары" в поле 'Количество' я ввожу текст '1,000' 464 | 465 |    И в таблице "Товары" из выпадающего списка "Вид цены" я выбираю точное значение '<произвольная>' 466 | 467 |    И в таблице "Товары" в поле 'Цена' я ввожу текст '1 000,00' 468 | 469 |    И в таблице "Товары" я завершаю редактирование строки 470 | 471 | 472 | 473 | 474 | 475 | И я заполняю этапы оплаты заказа по графику платежей 476 | 477 |     478 | 479 | И я перехожу к закладке "Основное" 480 | 481 | И я нажимаю на гиперссылку "НадписьЭтапыОплаты" 482 | 483 | Тогда открылось окно 'Правила оплаты' 484 | 485 | И в таблице "ЭтапыГрафикаОплаты" я нажимаю на кнопку с именем 'ЗаполнитьЭтапыГрафикаОплатыТаблица'   486 | 487 | И я нажимаю на кнопку 'Перенести в документ' 488 | 489 | 490 | 491 | 492 | 493 | Когда я провожу этот заказ клиента 494 | 495 |     496 | 497 | И я нажимаю на кнопку 'Провести' 498 | 499 |     500 | 501 | Тогда в регистре “Расчеты с клиентами” появляется две записи с регистратором равным проведенному заказу клиента 502 | 503 | 504 | 505 | Дано Я открываю основную форму регистра накопления "РасчетыСКлиентами" 506 | 507 | Тогда открылось окно 'Расчеты с клиентами' 508 | 509 | И я нажимаю на кнопку 'Настроить список...' 510 | 511 | Тогда открылось окно 'Настройка списка' 512 | 513 |     514 | 515 | И я перехожу к закладке "Отбор" 516 | 517 | И в таблице "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0ДоступныеПоляТаблица" я перехожу к строке: 518 | | 'Доступные поля' | 519 | | 'Регистратор'    | 520 | 521 | И в таблице "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0ДоступныеПоляТаблица" я выбираю текущую строку 522 | 523 | И в таблице "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0Отбор" я нажимаю кнопку выбора у реквизита "Значение" 524 | 525 | Тогда открылось окно 'Выбор типа данных' 526 | 527 | И В форме "Выбор типа данных" в таблице "" я перехожу к строке: 528 | | ''  | 529 | | 'Заказ клиента' | 530 | 531 | И в таблице "" я выбираю текущую строку 532 | 533 | Тогда открылось окно 'Заказы клиентов' 534 | 535 | И в таблице "Список" я перехожу к строке: 536 | | 'Дата'    | 'Номер'    | 537 | | '$ДатаДокумента$' | '$НомерДокумента$' | 538 | 539 | 540 | 541 | И в таблице "Список" я выбираю текущую строку 542 | 543 | Тогда открылось окно 'Настройка списка' 544 | 545 | И в таблице "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0Отбор" я завершаю редактирование строки 546 | 547 | И я нажимаю на кнопку 'Завершить редактирование' 548 | 549 | Тогда открылось окно 'Расчеты с клиентами' 550 | 551 | 552 | 553 | Тогда в таблице "Список" количество строк "равно" 2 554 | 555 | 556 | 557 | И среди этих записей есть строка с реквизитами документа, датой оплаты 06.01.2019 и суммой 300 558 | 559 | 560 | 561 | И в таблице "Список" я перехожу к строке: 562 | | 'Валюта' | 'Дата платежа'    | 'Дата регистратора'   | 'Исключать при контроле' | 'К оплате клиенту' | 'Контрагент'   | 'Объект расчетов'   | 'Организация' | 'Партнер'  | 'Период'  | 563 | | 'RUB'    | '06.01.2019 23:59:59' | '$ДатаДокумента$' | 'Да' | '300,00'   | 'Алхимов А.А.' | '$ПредставлениеОбъетаРасчетов$' | 'Стройснаб'   | 'Алхимов А.А.' | '06.01.2019 23:59:59' | 564 | 565 |     566 | 567 | И среди этих записей есть строка с реквизитами документа, датой оплаты 07.01.2019 и суммой 700 568 | 569 | 570 | 571 | И в таблице "Список" я перехожу к строке: 572 | | 'Валюта' | 'Дата платежа'    | 'Дата регистратора'   | 'Исключать при контроле' | 'К оплате клиенту' | 'Контрагент'   | 'Объект расчетов'   | 'Организация' | 'Партнер'  | 'Период'  | 573 | | 'RUB'    | '07.01.2019 23:59:59' | '$ДатаДокумента$' | 'Да' | '700,00'   | 'Алхимов А.А.' | '$ПредставлениеОбъетаРасчетов$' | 'Стройснаб'   | 'Алхимов А.А.' | '07.01.2019 23:59:59' | 574 | 575 | 576 | 577 | 578 | 579 | И я отключаю отбор в списке регистра, чтобы не влиять на другие сценарии 580 | 581 | 582 | 583 | И я нажимаю на кнопку 'Настроить список...' 584 | 585 | Тогда открылось окно 'Настройка списка' 586 | 587 | И я перехожу к закладке "Отбор" 588 | 589 | И я удаляю все строки таблицы "КомпоновщикНастроекПользовательскиеНастройкиЭлемент0Отбор" 590 | 591 | И я нажимаю на кнопку 'Завершить редактирование'   --------------------------------------------------------------------------------