Копировать дочерние записи

Данная функция используется для того, чтобы скопировать информацию из дочерних объектов справочника в дочерние объекты другого объекта. Рассмотрим следующую схему.

У справочника продуктов есть дочерние объекты («Материалы продукта» и «Комплектующие продукта»), описывающие из каких материалов и комплектующих состоит каждый продукт. При создании продажи с определенным продуктом в дочерние объекты продажи («Материалы продажи» и «Комплектующие продажи») копируются данные из дочерних объектов продукта («Материалы продукта» и «Комплектующие продукта»).

Удобство состоит в том, что программа копирует данные автоматически и вам не нужно делать это вручную.

Настройка

Чтобы настроить данный алгоритм нужно:

  1. Поставить галочку «Копировать дочерние записи» в соответствующем поле-ссылке. В данном примере это будет объект «Продажа» поле «Продукт».
  1. Установить у пар объектов одинаковые названия групп копирования. В данном примере укажите объектам «Материалы продукта» и «Материалы продажи» название группы копирования «1». Объектам «Комплектующие продукта» и «Комплектующие продажи» название группы копирования «2». Поле «Группа копирования» находится в карточке объекта. Таким образом мы даем программе понять из какого объекта в какой объект копировать данные. Данные будут скопированы из «Материалы продукта» в «Материалы продажи» и из «Комплектующие продукта» в «Комплектующие продажи».
  1. В объекте «Материалы продукта» должны быть поля с такими же названиями как в объекте «Материалы продажи». Тоже справедливо и для полей объектов «Комплектующие продукта» и «Комплектующие продажи».

Примечания

  • Копирование дочерних записей происходит при сохранении новой записи с выбранным справочником. В нашем примере — при сохранении новой карточки продажи. Если изменить запись продажи и поменять значение справочника «Продукт», то добавленные ранее дочерние записи не удалятся и новые не добавятся.
  • Копируются только поля имеющие значения (в материалах продукта и в комплектующих продукта).
  • Не обязательно в объекте «Материалы» создавать все поля, которые есть в объекте «Материалы продажи». Достаточно только те, значения которых нужно скопировать (установить).
  • Если в «Материалах продажи» не нашлось поля с таким же названием как в «Материалах продукта», то копирование этого значения (поля) будет пропущено и сообщения об ошибке не будет.
  • Пропускается копирование значений в поля типа «Код» и поля-приемники.

Полная схема реализации копирования дочерних записей с учетом списания со склада.