Подсказка к домашнему заданию 1.2.2

Как показала практика у участников возникают сложности с решением задания 1.2.2.
Поэтому в тексте ДЗ 1.2.2 появилась подсказка, которая позволит Вам быстрее выполнить это задание.
Кроме этого, скачайте повторно выгрузку Исходной базы – мы ввели более простой набор данных.

комментариев 30 на “Подсказка к домашнему заданию 1.2.2”

  1. Добрый день!

    1.2.1 «Комментарий» справочника Контрагенты, обработчик “перед выгрузкой”: Значение = «Перенесено из Исходной базы!»;
    1.2.2. В документе ПриемСотрудника перед выгрузкой сотрудника в обработчике ПередВыгрузкой:
    ИсходящиеДанные = Новый Структура(«ДолжностьСотрудника»);
    ИсходящиеДанные.ДолжностьСотрудника = ОбъектКоллекции.Должность;
    В ПКС для должность сотрудника установить галку «Получить из входящих данных». Несмотря на то, что вроде все просто, поиск решения отнял 3 дня :-(

  2. Задания выполнил.
    1.2.1 – мастером заполнения создал ПКО и ПКС + добавил в ПКО “После загрузки” код:
    Если НЕ Объект.ЭтоГруппа Тогда
    Объект.Комментарий = “Перенесено из Исходной базы”;
    КонецЕсли;

    1.2.2 – Тут было замысловато. Сделал три ПКО – ПриемСотрудника, СотрудникиПриПриеме и ДолжностиСотрудников. В ПКО ПримеСотрудника в ПКГС Данные для Сотрудника сделал “Перед выгрузкой”:
    ИсходящиеДанные = Новый Структура;
    ИсходящиеДанные.Вставить(“ДолжностьСотрудника”,ОбъектКоллекции.Должность);
    А в ПКО СотрудникиПриПриеме добавил ПКС ДолностьСотрудника где поставил галочку “Получать из входящих данных” – перенеслось – понравилось :)

    1.2.3 – тут два ПКО – Цены и Номенклатура с помощью мастера все ок.

  3. Сделал только 1.2.1 и 1.2.3.Имеет ли смысл помещать такой частичный ответ ?

    • Андрей Шнитов 16.10.2012 в 09:29

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

  4. ДЗ 1
    Особых проблем не возникло, создал все как обычно, только в Комментарии в обработке Перед выгрузкой написал (Значение = «Перенесено из Исходной базы»)
    ДЗ 2
    //…Удалено модератором.

    Отчет по каждому ДЗ нужно публиковать на той странице, где оно размещено.
    Пожалуйста, разместите отчет повторно

    • Отчет принимаю.
      Ознакомьтесь с решением.

  5. Здравствуйте. ДЗ 1.1.1 выполнено в соответствующем разделе. Где при первой попытке опубликовать мне вышло Сообщение «Не гоните коней!» А я и не гнал по причине отсутствия последних :-(((

    ДЗ1.2.2 Создал следующие ПКО: Сотрудники, ДолжностиСотрудников, ПриёмСотрудника.
    В ПКО Сотрудники ПКС Должности код в обработке перед выгрузкой: Если Не Источник.ЭтоГруппа Тогда
    Значение = ВходящиеДанные.ДолжностьСотрудника;
    КонецЕсли;
    В ПКО ПриёмСотрудника ПКС табличной части Сотрудник код в обработке перед выгрузкой: ИсходящиеДанные = Новый Структура;
    ИсходящиеДанные.Вставить(«ДолжностьСотрудника», ОбъектКоллекции.Должность); а потом долго не мог сообазить, что надобно поставить еще и правило для свойства сотрудники. Очень для меня замудрёная задача. Ждём-с решения, чтобы увидеть, где же я перемудрил

    ДЗ. 1.2.3. Создал ПКО: СвойстваНоменклатуры, Продукция, ЦеныНоменклатуры
    Синхронизировал свойства, вроде получилось.

    • Андрей Шнитов 15.10.2012 в 09:28

      Borisuch, здравствуйте!
      Ваш отчет принят.
      > Где при первой попытке опубликовать мне вышло Сообщение «Не гоните коней!»
      При появлении этого сообщения попробуйте разместить комментарий чуть позже.

  6. 1.2.1: Все хорошо создается автоматически, кроме переноса комментария, устанавливаем параметр Значение = “перенесено …”.
    1.2.2: Реквизит Должность получаем из Входящих данных, в документе перед выгрузкой пишем “… ИсходящиеДанные.ДолжностьСотрудника = ОбъектКоллекции.Должность;”
    1.2.3: Для корректного переноса реквизита “ОсновноеСвойство” не забываем в ПКО “ЦеныНоменклатуры” ПКС “Товар” поставить выше соответствующего ПКС по переносу свойства.

    • Андрей Шнитов 15.10.2012 в 09:20

      vict0r, отчет принят.

    • Андрей Шнитов 15.10.2012 в 09:22

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

  7. Добрый день.
    Задания выполнил.
    Все правила создались автоматически, кроме:
    1. Реквизит “комментарий” справочника Контрагенты, обработчик перед выгрузкой: Значение = “Перенесено из Исходной базы”;
    2. В документе приема перед выгрузкой сотрудника в обработчике перед выгрузкой:
    ИсходящиеДанные = Новый Структура(“ДолжностьСотрудника”);
    ИсходящиеДанные.ДолжностьСотрудника = ОбъектКоллекции.Должность;
    В ПКС должность сотрудника установить галку “Получить из входящих данных”
    3. В РС Цены поставить ПКС Номенклатуры выше, чем ПКС Свойство.

  8. 1.2.1.
    1. Перенос начал с независимых данных: создал ПКО для КонтактныеЛица. Синхронизацию свойств делал мастером.
    2. Далее создал ПКО Контрагенты, в нем создал ПКС:
    2.1. ОтветственноеЛицоПоставщик -> ОсновноеКонтактноеЛицо
    2.2. (Пусто)->комментарий. В обработчике “Перед выгрузкой” определил Значение = “Перенесено из исходной базы”;

    1.2.2.
    1. Перенос начал с независимых данных: ПКО Должности сотрудников (синхронизация свойств автоматом)
    2. Далее создал ПКО Сотрудники, добавил дополнительное ПКС (Пусто) ->ДолжностьСотрудника. Поставил галку “Получить из входящих данных”. В самом ПКО, с вкладки параметры, получаемые из входных данных, получил шаблон программного кода.
    3. Создал ПКО для документа ПриемСотрудников, в ПКГС Данные, для ПКС Сотрудник, в обработчике ПередВыгрузкой вставил модифицированный шаблон кода, скопированный в п.2:
    ИсходящиеДанные = Новый Структура(“ДолжностьСотрудника”);
    ИсходящиеДанные.ДолжностьСотрудника = ОбъектКоллекции.Должность;
    Также указал правило конвертации, разработанное в п.2

    1.2.3
    1. Перенос начал с независимых данных: создал 2-а ПКО СвойстваНоменклатуры и СвойстваНоменклатуры_РС, чтобы исключить кэширование объекта, т.к. он встречается дважды в нашем обмене: и как реквизит ОсновнаяНоменклатура в справочнике Продукция, и в выгружаемом далее РС как измерение СвойствоТовара.
    2. Создал ПКО Номенклатура (синхронизация свойств автоматом). Отключил ПКС по полю ЭтоГруппа, т.к. справочник Продукция в источнике не иерархический. Для ПКС ОсновноеСвойство указал правило СвойстваНоменклатуры.
    3. Создал ПКО для РС ЦеныНоменклатуры. Для ПКС СвойствоТовара указал правило СвойстваНоменклатуры_РС.

    С какими проблемами я столкнулся при просмотрел занятия 2: при решении ДЗ 1.2.2 очень долго мучился с тем, что не указал в ПКГС Данные в ПКС Сотрудник правило, по которому нужно производить конвертацию, хотя оно у меня по этим типам было одно. Как-то для себя я пока решил, что если в ПКО хоть что-то должно делаться не так, как по умолчанию – то нужно указывать правило в соответствующем ПКС в ручную. Не знаю, правилен ли мой вывод .-)

    И еще один вопрос к последующим ДЗ: нужно ли всегда скачивать выгрузки источника и приемника, или же можно использовать базы от ДЗ №2? Если ничего не изменилось, нельзя ли в новости по дз указывать – необходимо ли перекачивать источник-приемник?

    • Добрый день, Игорь!

      Отчет принимаю.

      Рекомендую отчитываться по каждому ДЗ на своей странице, иначе Вы не сможете скачать решение.

      >при решении ДЗ 1.2.2 очень долго мучился с тем, что не указал в ПКГС Данные в ПКС Сотрудник правило
      Думаю, что у Вас было два правила для переноса сотрудников.
      Рассмотрим этот вопрос в мастер-группе.

      >нужно ли всегда скачивать выгрузки источника и приемника, или же можно использовать базы от ДЗ №2?
      Выгрузки нужно скачивать перед каждым новым занятием.

  9. 1.2.1

    1) ПКО СотрудникиПоставщиков->КонтактныеЛица
    Для Владелец ничего не задано

    2) ПКО Поставщики->Контрагенты
    ПКС Родитель=Контрагенты
    ПКС ОсновноеКонтактноеЛицо=КонтактныеЛица
    ПКС Комментарий код:
    Значение = “Перенесено из Исходной базы”

    1.2.2
    1) ПКО ДолжностиСотрудников->ДолжностиСотрудников
    2) ПКО СотрудникиПредприятия->Сотрудники
    ПКС Родитель=Сотрудники
    Для ДолжностьСотрудника код:
    Если Не Источник.ЭтоГруппа Тогда
    Значение = ВходящиеДанные.ДолжностьСотрудника;
    КонецЕсли;
    3) ПКО ПриемСотрудника->ПриемСотрудника
    ПКС Проведен отключено
    ПКС Сотрудник=Сотрудники и код:
    ИсходящиеДанные = Новый Структура;
    ИсходящиеДанные.Вставить(“ДолжностьСотрудника”, ОбъектКоллекции.Должность);

    Выгружать только документ “ПриемСотрудника”, если выгружать еще и справочник “Сотрудники”, то происходит замещение должности на пустую.

    1.2.3

    1) ПКО СвойстваНоменклатуры->СвойстваНоменклатуры
    2) ПКО Продукция->Номенклатура
    ПКС ОсновноеСвойство=СвойстваНоменклатуры
    ПКС ЭтоГруппа и Родитель не созданы
    3) ПКО ЦеныНоменклатуры->ЦеныНоменклатуры
    ПКС СвойствоТовара=СвойстваНоменклатуры
    ПКС Товар=Номенклатура

    Для того, чтобы выгрузились все свойства номенклатуры, а не только основное, надо справочник “СвойстваНоменклатуры” пометить на выгрузку

  10. А где можно взять эти ДЗ? К какому они относятся занятию?

    • Речь о занятии №2. Нумерацию исправил :)

  11. Все правила и соответствия свойств создаются стандартно, только в ПКО документа Прием Сотрудников, в ПКС Сотрудник нужно написать

    Решение домашнего задания №1.2.2.:

    ИсходящиеДанные = Новый Структура;
    ИсходящиеДанные.Вставить(“ДолжностьСотрудника”,ОбъектКоллекции.Должность );
    ИсходящиеДанные.Вставить(“Фотография”,ОбъектКоллекции.Сотрудник.Фото);
    ИсходящиеДанные.Вставить(“Код”,ОбъектКоллекции.Сотрудник.Код);
    ИсходящиеДанные.Вставить(“Наименование”,ОбъектКоллекции.Сотрудник.Наименование);
    ИсходящиеДанные.Вставить(“ПометкаУдаления”,ОбъектКоллекции.Сотрудник.ПометкаУдаления);
    ИсходящиеДанные.Вставить(“Родитель”,ОбъектКоллекции.Сотрудник.Родитель);
    ИсходящиеДанные.Вставить(“ЭтоГруппа”,ОбъектКоллекции.Сотрудник.ЭтоГруппа);

    И выгрузить по вспомогательному правилу выгрузки Сотрудников, где все свойства берутся из Входящих данных, так будет заполнены должности.
    Здесь закрепил
    1) использование ИсходящиеДанные, узнал на курсе.
    2) создание служебных правил выгрузки узнал на курсе.
    3) ОбъектКоллекции, знал и прежде…

    Задача 1.3.2

    ПКО Продукция
    Код -> Код
    Наименование -> Наименование
    ОсновноеСвойство -> ОсновноеСвойство
    ПометкаУдаления -> ПометкаУдаления
    Значение =ЛОЖЬ; -> ЭтоГруппа

    ПКО СвойстваНоменклатуры

    Владелец Владелец
    Код Код
    Наименование Наименование
    ПометкаУдаления ПометкаУдаления

    Все очень просто, ничего не закрепил

    • Ответ тоже дал здесь так как на странице https://mg.spec8.ru/convdata-homework-1-2-2/ мне сказали Попридержите коней, и кажется только что разместился комментарий 1

      • Андрей Шнитов 12.10.2012 в 13:25

        Мы работаем над локализацией этой ошибки.
        Попробуйте разместить комментарий в другое время (позже)

    • Андрей Шнитов 12.10.2012 в 06:11

      DRudakov, ваш отчет принят.

  12. Я что-то не пойму с нумерацией домашних заданий
    Кое как через несколько ссылок попал с https://mg.spec8.ru/ на https://mg.spec8.ru/category/conv-data/ Здесь выложены ДЗ 1.1 1.2
    ДЗ 2.1 2.2 2.3. И последнее бац: Подсказка к домашнему заданию 1.2.2!
    Смотрю в последних комментариях, а там и ДЗ 1.1.1 и 1.2.1 и 1.2.2 есть… На какой странице можно увидеть все ДЗ по порядку?!

    • Первая цифра в нумерации ДЗ означает модуль курса.
      Сделал нумерацию однотипной.
      Все ДЗ будут выкладываться на странице – https://mg.spec8.ru/category/conv-data/

  13. AlehinSasha 10.10.2012 в 01:51

    На странице домашнего задания №2 оставлять комментарии запрещено, сейчас 01:50 ночи и я наверное не соображу почему, так что отчитаюсь по выполнению домашнего задания №2 на этой странице!

    Решение домашнего задания №1.2.1.:
    •Создал ПКО «Поставщики → Контрагенты»
    •Правила КС и КЗ были созданы автоматически
    •Выполнил синхронизацию ПКС «ОтветственноеЛицоПоставщика → ОсновноеКонтактноеЛицо».
    •Создал ПКО «СотрудникиПоставщиков → КонтактныеЛица», правила КС и КЗ были созданы автоматически.
    •Установил ПКО «СотрудникиПоставщиков → КонтактныеЛица» в качестве правила конвертации для свойства «СотрудникиПоставщиков → КонтактныеЛица».
    •Настроил заполнение приемника «Комментарий» перед выгрузкой Значение = “Перенесено из Исходной базы”;

    Решение домашнего задания №1.2.2.:
    •Создал ПКО «СотрудникиПредприятия → Сотрудники», после выполнения синхронизации в обработчике «Перед выгрузкой» свойства «ДолжностьСотрудника» написал выражение:
    Если Не Источник.ЭтоГруппа Тогда
    Значение = ВходящиеДанные.ДолжностьСотрудника;
    КонецЕсли;
    •Создал ПКО «ДолжностиСотрудников → ДолжностиСотрудников»;
    •Создал ПКО «ПриемСотрудника → ПриемСотрудника», поиск по дате и номеру. После синхронизации в обработчике «Перед выгрузкой» для свойства табличной части «Сотрудники» написал выражение:
    ИсходящиеДанные = Новый Структура;
    ИсходящиеДанные.Вставить(“ДолжностьСотрудника”, ОбъектКоллекции.Должность);
    И указал правило конвертации для свойства «Сотрудники»;

    Решение домашнего задания №1.2.3.:
    •Создал ПКО «СвойстваНоменклатуры → СвойстваНоменклатуры»;
    •Создал ПКО «Продукция → Номенклатура»;
    •Создал ПКО «ЦеныНоменклатуры → ЦеныНоменклатуры»;
    •Выполнил синхронизацию ПКС выше описанных ПКО;

    В уроке 1.3.2 описывается вариант создания структуры запрашиваемых параметров из формы ПКО на закладке «Параметры, получаемые из входящих данных», так вот не могу найти у себя такою закладку, хоть в настройках пользователя и отключил использование мастера настройки ПКО.

    • Андрей Шнитов 10.10.2012 в 12:02

      AlehinSasha, отчет принят.
      Закладка “Параметры, получаемые их входящих данных” отображается только тогда, когда хотя бы одном ПКС установлен флаг “Получить их входящих данных”.