Продвинутый курс. Домашнее задание №1
Первое задание по 0-му блоку продвинутого курса.
Для выполнения рекомендуется изучить следующие главы 0-го курса.
Глава 1. Запуск информационных баз.
Глава 2. Автоматическая установка платформы.
Глава 3. Архитектура системы.
Глава 4. Клиент-серверный вариант работы ИБ.
Глава 5. Журнал регистрации.
К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте — залогиньтесь. Если Вы оплачивали курс, у Вас активирован токен доступа, Вы залогинены, но Вы видите эту запись — напишите нам на e-mail поддержки.
Разгрузился – выполняю ДЗ – первое готово
Задание выполнил без справочника о фиксации цен. Отчет пришлось подсмотреть в решении
Задание выполнила
Дом. задание выполнила. Помогло решение преподавателя. Первая часть удалась легче.
ДЗ 1 сделал.
Выполнял сам, не смотря на то, что уже есть решение (начал позже, теперь пытаюсь догнать).
Не делал проверку на дубли строк. Проверку на изменение цены – перебором по табличной части.
В данные записываю ссылку на документ, а сведения о номенклатуре и цене – в комментарий.
Отчет: перебираю таблицу значений, отсортированную по колонке “ИмяПользователя” и вывожу в фиксированный макет.
Делал с опозданием так как приобрёл курс когда уже было выложено ДЗ 3) Видео с решением Евгения посмотрел после того как решил сам.
Решение: Подписка на событие Перед записью для любого документа , в обработчике анализирую проведён ли объект . Стандартный параметр источник дайт доступ к объекту , дальше таблицу источник. товары помещаю в временную таблицу , ссылку беру из базы и сравниваю в пакете запросов . В запросе условие на ннеравенство старой и новой цены .
Пишу в ЖР методом записьЖурналаРегистрации , не получилось никак вывести в поле данные , поэтому пишу в комментарий.
Для отчёта – метод ВыгрузитьЖурналРегистрации, отчёт строю без компоновки данных (.
Выполнил ::)
Задание выполнил. С подглядыванием в решение преподователя
Задание выполнил.
Использовал подписку на событие, сравнение таблиц сделал не так красиво …. переделал. Справочник не создавал.
дз выполнил, но с “подглядками” на построение отчета
Задание сделано:
1. Создание новой ИБ сделал автоматизировано при помощи cmd файла (Создается новая ИБ, затем загружается данные из dt файла)
2. Контроль изменения цен выполнен с помощью подписки на событие (ДокументОбъект ПередЗаписью). В модуле сравниваю данные Объекта с данными СсылкиОбъекта. Если док. проведен, если поменялись цены, то пишем в ЖР.
3. Отчет по изменениям. Выгружаются данные ЖР в таблицу значений. Сортируем по Пользователю, далее формируем табличный документ…
Сделано!
1. Создаю подписку на событие “ПередЗаписью” Документов (всех).
2. Создаю общий модуль для хранения процедуры определяемой отрабатываемой на подписку.
3. В процедуре анализирую проведен ли документ. Если да, то в цикле прохожу по всем ТЧ и если есть реквизит “Цена”, то вызываю процедуру сравнения цен и записи события в ЖР.
4. В процедуре сравнения цен сравниваю текущие цены источника “ДокументОбъект” и предыдущие цены через ссылку на данный источник. Если цены различаются то записываю в ЖР (единственно что так и не удалось записать в поле “Данные”, только в “Комментарий”).
5. Создал отчет к котором программно выгружаю через фильтр в таблицу значений ЖР и передаю эту таблицу в СКД. Данные группируются по пользователю!
Теперь посмотрю ваше решение!
ДЗ Выполнил. Перед записью документа создаю таблицу со старыми данными, помещаю в общую переменную модуля, затем после проведения создаю таблицу с новыми данными. Сравниваю простым перебором. Если есть различия пишу событие в ЖР. Отчет вывожу через табличный документ, таблицу выгружаю через ВыгрузитьЖурналРегистрации по фильтру. Хотелось сделать через компоновку, но не получилось. Теперь хочется посмотреть на оптимальный вариант решения, но уже завтра))
Выполнено … затруднений не возникло!
Дом.задание №1 выполнил.
Выполнил
Сделал
Домашнее задание хоть из опозданием, но выполнил. Была проблема з отчетом никак не мог через компоновку.
ДЗ выполнил.
Сделано.
Только вот вопрос. Насколько такой подход уместен? Если это база торгового предприятия, то скоро ЖР вырастет до таких объемов, что работа будет с тормозами, а автоматической очистки ЖР, как я понял из уроков, нет.
И об этом мы тоже поговорим в решении преподавателя :)
ДЗ 1 сделала. Я считаю, что раз подписку на события мы будем проходить только в следующем блоке то использовать ее не стоит. Из обработчика события формы при изменении цены вызываю общую процедуру с передачей в нее номенклутуры, цены и старой цены. И если документ проведенный то добавляю в журнал запись с помощью процедуры ЗаписьЖурналаРегистрации. Далее обрабатываю выгруженную таблицу значений и строю отчет (без СКД).
Задание выполнил.
Из продвинутого курса использовал всего 2 строки кода, все остальное из базового.
Что же нас ждет дальше … :))
1. Создал общий модуль РаботаСЖурналомРегистрации. В нем реализованна экспортная процедура РегистрацияИзмененияЦены(Документ, Товары). Процедура в качестве параметров принимает ссылку на документ и таблицу Товары документа. При помощи менеджера временных таблиц и пакетного запроса определяются товары в которых произошли изменения цен. В цикле перебора результата выполненного запроса производим запись информации о изменении цен – ЗаписьЖурналаРегистрации(“МоиСобытия.ИзменениеЦены”,,,Документ,(“Товар: ” + Строка(ТоварыЗаписанные.Номенклатура) + “; Старая цена: ” + ТоварыЗаписанные.ЦенаСтарая + “; Новая цена: ” + ТоварыЗаписанные.ЦенаНовая));
2. Процедуру РегистрацияИзмененияЦены(Документ, Товары) вызываю используя событие ОбработкаПроверкиЗаполнения документов ПоступлениеТоваровИУслуг и РеализацияТоваровИУслуг. В данной процедуре определяю тип ссылки на документ (Документ) и соответственно коректирую текст запроса.
3. Отчет создаю в стиле 1С 7.7. Использую процедуру ВыгрузитьЖурналРегистрации с соответствующим фильтром. Методом перебора строк полученного результата заполняю Макет отчета и вывожу на печать.
Сделано