From a4945707d872d0190f3b72898095344736983cb1 Mon Sep 17 00:00:00 2001 From: Andrevvvv-dev <61405965+Andrevvvv-dev@users.noreply.github.com> Date: Tue, 16 Jun 2020 14:59:49 +0300 Subject: [PATCH] Create homework-6-1.md --- homework-6-1.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 homework-6-1.md diff --git a/homework-6-1.md b/homework-6-1.md new file mode 100644 index 0000000..ff64f68 --- /dev/null +++ b/homework-6-1.md @@ -0,0 +1,34 @@ +# Задание к занятию "Введение в платформу" + +## Задача 1 "Добавить команду Обновить цены в документ Реализация" + +### Описание задачи + +Добавить команду и соответственно кнопку "Обновить цены" в командную панель табличной части документа Реализация. При нажатии на кнопку присходит обновление цен номенклатуры в табличной части на дату документа. + +### Требования к результату + +Прикрепить .cf файл из задания https://github.com/netology-code/1c-homeworks/blob/master/homework-5-5.md в котором реализовать алгоритм обновления цен в табличной части документа Реализация + +### Процесс выполнения + +1. Взять конфигурацию из файла https://github.com/netology-code/1c-homeworks/blob/master/homework-5-5.md. +2. Периодичность регистра сведений Цены номенклатуры должен быть установлен в Пределах дня. +3. В форме документа Реализация создать команду ОбновитьЦены и перетащить в командную панель табличной части +4. Перекрыть действие команды и выбрать пункт "Создать на клиенте и процедуру на сервере". +5. В процедуре на сервере реализовать процесс обновления цен следующим образом: + + * Добавить проверку на заполненность табличной части Товары; + * Сформировать список значений который содержить в себе перечень всей номенклатуры из табличной части; + * Из контекстного меню выбрать Конструктор запроса с обработкой результата в котором выбрать Тип обработки = Обход результата; + * На закладке Таблицы и поля конструктора добавить в Таблицы ЦеныНоменклатуры.СрезПоследних; + * В параметрах виртуальной таблицы укажите параметр периода и условие Номенклатура в (&СписокНоменклатуры); + * Выбираем поля Номенклатура и Цена и нажимаем на кнопку Ок; + * Для запроса устанавливаем значения параметров как дата объекта и значение списка значений перечня номенклатуры; + * Выполняем запрос и проверяем чтобы результат был не пустой. Иначе возврат. + * Если запрос не пустой - делаем выборку и обходим в цикле все записи результата выполнения запроса; + * В табличной части документа находим строки и в цикле подставляем цену из текущей записи результата запроса. + Поиск строк табличной части осуществляем через НайтиСтроки. В качестве параметра заполняем структуру значением номенклатуры из + записи результата запроса. + * Если цена новая отличается от старой то пересчитываем сумму найденной строки; +