diff --git a/homework-5-7.md b/homework-5-7.md index 0e73c16..51d4efe 100644 --- a/homework-5-7.md +++ b/homework-5-7.md @@ -1,29 +1,29 @@ -# Задание к занятию "Файлы" +# Задание к занятию «Файлы» -Результат выполнения всех двух задач вышлите одним файлом (.dt) +Результат выполнения двух задач вышлите одним файлом (.dt). -## Задача 1 Создать обработку для загрузки цен из файла +## Задача 1. Создать обработку для загрузки цен из файла ### Описание задачи Создадим обработку для загрузки цен из файла CSV. -Обработка создает новый документ Цены номенклатуры, в табличной части заполняет данные из файла. +Обработка создаёт новый документ «Цены номенклатуры», в табличной части заполняет данные из файла. ### Требования к результату -Выгрузка информационной базы (.dt), csv-файл содержащий список номенклатуры с ценами. +Выгрузка информационной базы (.dt), CSV-файл, содержащий список номенклатуры с ценами. Возможность выбора файла с фильтром *.CSV, обработка файла должна выполняться на клиенте. -В файле разделитель ";" между колонками +В файле разделитель «;» между колонками. -Возможность загрузить и создать документ Цены номенклатуры. +Возможность загрузить и создать документ «Цены номенклатуры». -Поиск номенклатуры по наименованию +Поиск номенклатуры по наименованию. Если не найдена, вывести сообщение вида -"Номенклатура: " + НаименованиеНоменклатуры + " не найдена" +«Номенклатура: « + НаименованиеНоменклатуры + » не найдена» ### Процесс выполнения @@ -34,9 +34,9 @@ Тапочки;1000 Хлеб;40 -Создать новую обработку "Загрузка прайса из файла" +Создать новую обработку «Загрузка прайса из файла». -Добавим команду Загрузить, вынесем в командную панель формы и назначим кнопкой по умолчанию +Добавим команду «Загрузить», вынесём в командную панель формы и назначим кнопкой по умолчанию. Назначим обработчик команды со следующим алгоритмом: ```bsl Режим = РежимДиалогаВыбораФайла.Открытие; @@ -56,7 +56,7 @@ СоздатьДокумент(ДанныеФайла); ``` -Так как в обработчике используется ключевое слово Ждать перед словом Процедура добавим **Асинх** +Так как в обработчике используется ключевое слово «Ждать», перед словом «Процедура» добавим **Асинх** Далее обработаем файл на клиенте и подготовим данные для создания документа: ```bsl @@ -98,14 +98,14 @@ КонецФункции ``` -Теперь загрузим данные файла в ТЧ документа Цены номенклатуры +Теперь загрузим данные файла в ТЧ документа «Цены номенклатуры». -Создам процедуру ЗагрузитьЦеныНоменклатуры(). Т.к. мы передаем только данные файла можно использовать директиву НаСервереБезКонтекста +Создаём процедуру ЗагрузитьЦеныНоменклатуры(). Т.к. мы передаём только данные файла, можно использовать директиву НаСервереБезКонтекста: ```bsl &НаСервереБезКонтекста Процедура СоздатьДокумент(ДанныеФайла) - // Создаем новый документ + // Создаём новый документ ДокументЦены = Документы.УстановкаЦен.СоздатьДокумент(); ДокументЦены.Дата = ТекущаяДата(); @@ -137,25 +137,25 @@ КонецПроцедуры ``` -## Задача 2 Развитие обработки для загрузки цен из файла +## Задача 2. Развитие обработки для загрузки цен из файла ### Описание задачи -Если при загрузке файла высняется, что хотя бы одной номенклатуры нет в базе задайте вопрос пользователю с текстом "Не все номенклатурные позиции из файла существуют в справочнике. Продолжить создание документа?" и вариантами ответа "Да" и "Нет". +Если при загрузке файла выясняется, что хотя бы одной номенклатуры нет в базе, задайте вопрос пользователю с текстом «Не все номенклатурные позиции из файла существуют в справочнике. Продолжить создание документа?» и вариантами ответа «Да» и «Нет». -При ответе "Да" - записывать документа. +При ответе «Да» — записывать документ. -При ответе "Нет" - приостанавливать работу алгоритма. +При ответе «Нет» — приостанавливать работу алгоритма. ### Требования к результату -Выгрузка информационной базы (.dt) из Задачи 1, в которой реализован вопрос пользователю. +Выгрузка информационной базы (.dt) из задачи 1, в которой реализован вопрос пользователю. ### Процесс выполнения -Разбейте процедуру СоздатьДокумент() на 2 отдельных метода. +Разбейте процедуру СоздатьДокумент() на два отдельных метода. -Первый метод сделайте функцией, которая будет возвращать информацию есть ли ненайденная номенклатура (Истина или Ложь). +Первый метод сделайте функцией, которая будет возвращать информацию о том, есть ли ненайденная номенклатура: «Истина» или «Ложь». Одновременно с проверкой дополните данные файла ссылкой на номенклатуру: ```bsl Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(ДанныеСтроки.НаименованиеНоменклатуры); @@ -175,10 +175,10 @@ КонецЕсли; ``` -Если функция вернула Ложь, то задайте вопрос пользователю с помощью функции **ВопросАсинх**. В противном случае сразу сохраните документ. +Если функция вернула «Ложь», то задайте вопрос пользователю с помощью функции **ВопросАсинх**. В противном случае сразу сохраните документ. -Если пользователь ответил "Да", то сохраните документ, вызвав второй метод. +Если пользователь ответил «Да», то сохраните документ, вызвав второй метод. -Для заполнения документа используйте уже ранее полученные и сохраненные в данных файла ссылки на номенклатуру. Если номенклатура для какой-то строки не заполнена, то такая строка не должна создаваться в документе (не должно быть строк с пустой номенклатурой). +Для заполнения документа используйте уже ранее полученные и сохранённые в данных файла ссылки на номенклатуру. Если номенклатура для какой-то строки не заполнена, то такая строка не должна создаваться в документе. Не должно быть строк с пустой номенклатурой. -### Подсказка: [результат выполнения домашнего задания](Examples/homework-5-7-example.md) \ No newline at end of file +### Подсказка: [результат выполнения домашнего задания](Examples/homework-5-7-example.md).