УНФ 1.6 пытаюсь сделать регистр отгрузка товаров
суть доработки следующая при проведение документа расходная накладная делаются движения "ПРИХОД" по регистру отгрузка товаров
регистр состоит из измерения покупатель документ отгрузки номенклатура и ресурса количество к отгрузке

на основание расходной накладной создается документ отгрузка товаров в котором будет табличная часть товары по документу и Отгружаемые товары которые будут добавляться сканированием по этому документу нужно делать "расход".
Нехватает опыта сделать подобное и предусмотреть сразу все

Вот так я делаю движение по приходу

```1c
    ////+++Added
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | РасходнаяНакладнаяЗапасы.Номенклатура КАК Номенклатура,
    | РасходнаяНакладнаяЗапасы.Характеристика КАК Характеристика,
    | СУММА(РасходнаяНакладнаяЗапасы.Количество) КАК Количество,
    | РасходнаяНакладнаяЗапасы.Ссылка.Контрагент КАК Контрагент,
    | РасходнаяНакладнаяЗапасы.Ссылка КАК Ссылка
    |ПОМЕСТИТЬ ВТРасходная
    |ИЗ
    | Документ.РасходнаяНакладная.Запасы КАК РасходнаяНакладнаяЗапасы
    |ГДЕ
    | РасходнаяНакладнаяЗапасы.Ссылка = &Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    | РасходнаяНакладнаяЗапасы.Номенклатура,
    | РасходнаяНакладнаяЗапасы.Характеристика,
    | РасходнаяНакладнаяЗапасы.Ссылка.Контрагент,
    | РасходнаяНакладнаяЗапасы.Ссылка
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | АМ_УпаковкиПродукции.Ссылка КАК Упаковка,
    | АМ_УпаковкиПродукции.Владелец КАК Номенклатура
    |ПОМЕСТИТЬ ВТУпаковки
    |ИЗ
    | Справочник.АМ_УпаковкиПродукции КАК АМ_УпаковкиПродукции
    |ГДЕ
    | АМ_УпаковкиПродукции.Владелец В
    | (ВЫБРАТЬ
    | ВТРасходная.Номенклатура КАК Номенклатура
    | ИЗ
    | ВТРасходная КАК ВТРасходная)
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | ВТРасходная.Контрагент КАК Получатель,
    | ВТРасходная.Ссылка КАК ДокументОтгрузки,
    | ВТРасходная.Номенклатура КАК Номенклатура,
    | ВТРасходная.Характеристика КАК Характеристика,
    | ВТУпаковки.Упаковка КАК Упаковка,
    | ВТРасходная.Количество КАК КОтгрузке,
    | ВТРасходная.Ссылка.Дата КАК Период
    |ИЗ
    | ВТРасходная КАК ВТРасходная
    | ЛЕВОЕ СОЕДИНЕНИЕ ВТУпаковки КАК ВТУпаковки
    | ПО ВТРасходная.Номенклатура = ВТУпаковки.Номенклатура";

    Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
    ТаблицаАМ_ТоварыКОтгрузке = Запрос.Выполнить().Выгрузить();

    Движения.АМ_ТоварыКОтгрузке.Записывать = Истина;
    Для каждого стрОтгр Из ТаблицаАМ_ТоварыКОтгрузке Цикл
    Движение = Движения.АМ_ТоварыКОтгрузке.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = стрОтгр.Период;
    Движение.Получатель = стрОтгр.Получатель;
    Движение.ДокументОтгрузки = стрОтгр.ДокументОтгрузки;
    Движение.Номенклатура = стрОтгр.Номенклатура;
    Движение.Характеристика = стрОтгр.Характеристика;
    Движение.Упаковка = стрОтгр.Упаковка;
    Движение.ВРезерве = 0;
    Движение.КОтгрузке = стрОтгр.КОтгрузке;
    КонецЦикла;

    ////---Added
```
---
По методике учёта в УНФ советовать не берусь, не компетентен. Но высказанная коллегами идея отгрузки набора кажется заслуживающей изучения.
Пара небольших практических рекомендаций:
1. Выгружать результат запроса в ТЗ а потом перебирать строки ТЗ нет смысла. проще из выборки заполнять движения.
2. У вас внутри цикла куча операторов присваивания. От них можно избавиться, использовав конструкцию

```1c
    ЗаполнитьЗначенияСвойств(Движение, стрОтгр);
```

При этом предварительно можно в запросе сформировать все поля, необходимые для заполнения движений, включая и вид движения:

```1c
    ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения
```

Код становится более компактным, понятным, и по кнопкам стучать меньше.
---
предусмотреть сразу все - это практически невозможно...
что-то не работает ? или в чем вопрос ?
---
1. Если в справочнике АМ_УпаковкиПродукции окажется больше одной записи, подчинённой одному элементу номенклатуры, то в результирующем запросе будут двоиться, троиться и т.д. строки.
2. Рекомендую доработки делать в расширении.
3. Я правильно понял, что и приход и расход по регистру будет делать один и тот же документ "Расходная накладная"?
---
нет расход будет делать документ который будет так и называться отгрузка
 суть в том что диван состоит из упаковок вот чтобы проконтролировать отгрузку и создается это все
я просто не знаю правильно ли я делаю приход по регистру или как то по другому надо мб какие то проверки нужны или достаточно все смущает первый мой проект скажем так
---
В УНФ можно использовать ордерные склады, можно использовать наборы. Посмотрите как разработчики все это сделали.
---
диван это ГП как набор можно отправить в производство?
---
Изготавливайте упаковки. Продавайте набор, отгружайте упаковки.
---
давайте набор, отгружайте упаковки а сборку тогда дивана как указать? плюс набор делается на номенклатуру без указания характеристики
---
Как собрать диван, и потом отгрузить упаковки? Вы либо диван собираете и его же отгружаете или отгружаете не собранные упаковки как набор. Сборка у покупателя происходит?
---
да у покупателя
---
Используйте заказ-наряд для этой операции.
---
По методике учёта в УНФ советовать не берусь, не компетентен. Но высказанная коллегами идея отгрузки набора кажется заслуживающей изучения.
Пара небольших практических рекомендаций:
1. Выгружать результат запроса в ТЗ а потом перебирать строки ТЗ нет смысла. проще из выборки заполнять движения.
2. У вас внутри цикла куча операторов присваивания. От них можно избавиться, использовав конструкцию

```1c
    ЗаполнитьЗначенияСвойств(Движение, стрОтгр);
```

При этом предварительно можно в запросе сформировать все поля, необходимые для заполнения движений, включая и вид движения:

```1c
    ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) КАК ВидДвижения
```

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

например в документ
 упак 1 - 10шт
 упак 2 - 10 шт
 упак 3 - 5 шт
отгрузил
 упак 1 - 10шт
 упак 2 - 10 шт

надо чтоб при вводе на основание он выгрузил в документ только 5 шт оставшихся
---
Не вижу смысла сравнивать ТЧ с регистром. Остаток в регистре и есть ещё не отгруженные упаковки.
---
спасибо уже до самого дошло)