Доброго времени суток дамы и господа!

Есть документОснование, в котором есть позиции номенклатуры, он пишет сведения об остатках в регистр накопления(наименование, номерПартии, колличество)
Есть документ ОтгрузочнаяНакладная, создаётся на основании ДокументаОснования, суть вопроса в том, чтобы выводить актуальные остатки при создании на основании.
Скрины документов и состава регистра прилагаются.

С запросами тяжковато, сам понимаю, пока только такое выдумал:

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

Подскажите как гармотнее это обработать в запросе...
---
Извиняюсь нужно подправить на ВыборкаЗапроса

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СтрокаТЧ = Элементы.Номенклатура.ТекущиеДанные;
    СтрокаТЧ.Остаток = ПолучитьОстаткиИзРегистра(СтрокаТЧ.Наименование, СтрокаТЧ.НомерПартии, Объект.ДокументОснование);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьОстаткиИзРегистра(Дата, ДокументОснование)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиДокументаОснованияОстатки.ДокументОснование КАК ДокументОснование,
    | ОстаткиДокументаОснованияОстатки.НомерПартии КАК НомерПартии,
    | ОстаткиДокументаОснованияОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиДокументаОснованияОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ОтгрузочнаяНакладная.Наименование КАК Номенклатура1,
    | ОтгрузочнаяНакладная.НомерПартии КАК НомерПартии1
    |ИЗ
    | РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование) КАК ОстаткиДокументаОснованияОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузочнаяНакладная.Номенклатура КАК ОтгрузочнаяНакладная
    | ПО ОстаткиДокументаОснованияОстатки.Номенклатура = ОтгрузочнаяНакладная.Наименование
    | И ОстаткиДокументаОснованияОстатки.НомерПартии = ОтгрузочнаяНакладная.НомерПартии";
    Запрос.УстановитьПараметр("Период", Дата);
    Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();
    Если выборказапроса.Количество() = 0 Тогда
    Возврат 0
    Иначе
    ВыборкаЗапрос.Следующий()
    Возврат ВыборкаЗапроса.КоличествоОстаток
    Конецесли

    КонецФункции
```

У вас в функции нету возврата значения, поэтому она и не заполняет ни чего
---
1. у таблицы остатков нужно период задать, там есть в параметрах таблицы, дату среза - и передавать в запрос, текущую дату.
2. В соединении таблиц надо условие ставить на поля одинаковых типов. Т.е. номенклатуру (ссылку) надо сравнивать с номенклатурой (ссылкой), а не с наименованием...т.к. это уже будет другой тип,(строка)

а вообще структуру регистра бы посмотреть...там что, у вас "документОснование" это реквизит регистра ?
---
Остатки совершенно бессмысленное понятие без привязки к конкретному моменту времени...
У вас нигде не фигурирует время
---
А зачем ему время? Может ему нужно на момент создания документа, ну во всяком случае я так понял из описания...
---
Потому что осатки без момента на который вы их хотите увидеть не существуют.
Даже когда вы не указываете дату при обращении к виртуальной таблице остатков, подразумевается , что вы запрашиваете на ТЕКУЩИЙ момент времени.
Но понимать то программист ДОЛЖЕН , что остатков без момента времени не бывает, то есть остатки на вчера или на 01.01.2000 00:00:00 или на 31.03.2019 23:59:59
---
Вам в параметрах таблицы остатков необходимо добавить параметры

```1c
    РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование) КАК ОстаткиДокументаОснованияОстатки
```

Далее установить эти параметры

```1c
    Запрос.УстановитьПараметр("Период", Объект.МоментВремени());
    Запрос.УстановитьПараметр("ДокументОснование", Объект.ДокументОснование);
```
---
Сделал так:

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиДокументаОснованияОстатки.ДокументОснование КАК ДокументОснование,
    | ОстаткиДокументаОснованияОстатки.НомерПартии КАК НомерПартии,
    | ОстаткиДокументаОснованияОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиДокументаОснованияОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ОтгрузочнаяНакладная.Номенклатура.(
    | Наименование КАК Наименование,
    | НомерПартии КАК НомерПартии
    | ) КАК Номенклатура1
    |ИЗ
    | РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование) КАК ОстаткиДокументаОснованияОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузочнаяНакладная КАК ОтгрузочнаяНакладная
    | ПО ОстаткиДокументаОснованияОстатки.Номенклатура = ОтгрузочнаяНакладная.Номенклатура.Наименование
    | И ОстаткиДокументаОснованияОстатки.НомерПартии = ОтгрузочнаяНакладная.Номенклатура.НомерПартии";
    Запрос.УстановитьПараметр("Период", Объект.Дата);
    Запрос.УстановитьПараметр("ДокументОснование", Объект.ДокументОснование);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();
    Пока ВыборкаЗапроса.Следующий() Цикл

    КонецЦикла;
    КонецПроцедуры
```

ничего не возвращает...
---
вы берите не ссылку на документ в запросе / не из реквизитов документа а из табличной части

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиДокументаОснованияОстатки.ДокументОснование КАК ДокументОснование,
    | ОстаткиДокументаОснованияОстатки.НомерПартии КАК НомерПартии,
    | ОстаткиДокументаОснованияОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиДокументаОснованияОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ОтгрузочнаяНакладная.Номенклатура.Наименование КАК Номенклатура1,
    | ОтгрузочнаяНакладная.Номенклатура.НомерПартии КАК НомерПартии1
    |ИЗ
    | РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование) КАК ОстаткиДокументаОснованияОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузочнаяНакладная.Номенклатура КАК ОтгрузочнаяНакладная
    | ПО ОстаткиДокументаОснованияОстатки.Номенклатура = ОтгрузочнаяНакладная.Наименование
    | И ОстаткиДокументаОснованияОстатки.НомерПартии = ОтгрузочнаяНакладная.НомерПартии";
    Запрос.УстановитьПараметр("Период", Объект.Дата);
    Запрос.УстановитьПараметр("ДокументОснование", Объект.ДокументОснование);
```
---
может я не там всё таки помещаю код, такое ощущение что не видит значения ТЧ....

{Документ.ОтгрузочнаяНакладная.Форма.ФормаДокумента.Форма(43)}: Ошибка при вызове метода контекста (Выполнить)
 РезультатЗапроса = Запрос.Выполнить();
по причине:
{(6, 26)}: Поле не найдено "ОтгрузочнаяНакладная.Номенклатура.Наименование"
ОтгрузочнаяНакладная.<<?>>Номенклатура.Наименование КАК Номенклатура1,
---
У вас структуру документа ОтгрузочнаяНакладаная какая, в ней есть табличная часть Номенклатура?
---
это всё перепроверил, думал может опечатка где...
---
блин нужно вот так написать, это я вам изначально не так написал (не обратил внимания, мы же из табличной части выборку то делаем)
Вот пробуйте - ошибки не будет

```1c
    | ОтгрузочнаяНакладная.Наименование КАК Номенклатура1,
    | ОтгрузочнаяНакладная.НомерПартии КАК НомерПартии1
```
---
документ создался без ошибок, но ничего не возвращает...
---
то есть у вас переменная ВыборкаЗапроса - пустая, количество = 0 ????
---
в общем немножко переделал и разбил на процедуру и функцию...

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СтрокаТЧ = Элементы.Номенклатура.ТекущиеДанные;
    СтрокаТЧ.Остаток = ПолучитьОстаткиИзРегистра(СтрокаТЧ.Наименование, СтрокаТЧ.НомерПартии, Объект.ДокументОснование);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьОстаткиИзРегистра(Дата, ДокументОснование)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиДокументаОснованияОстатки.ДокументОснование КАК ДокументОснование,
    | ОстаткиДокументаОснованияОстатки.НомерПартии КАК НомерПартии,
    | ОстаткиДокументаОснованияОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиДокументаОснованияОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ОтгрузочнаяНакладная.Наименование КАК Номенклатура1,
    | ОтгрузочнаяНакладная.НомерПартии КАК НомерПартии1
    |ИЗ
    | РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование) КАК ОстаткиДокументаОснованияОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузочнаяНакладная.Номенклатура КАК ОтгрузочнаяНакладная
    | ПО ОстаткиДокументаОснованияОстатки.Номенклатура = ОтгрузочнаяНакладная.Наименование
    | И ОстаткиДокументаОснованияОстатки.НомерПартии = ОтгрузочнаяНакладная.НомерПартии";
    Запрос.УстановитьПараметр("Период", Дата);
    Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();
    Пока ВыборкаЗапроса.Следующий() Цикл

    КонецЦикла;

    КонецФункции
```

Получил вот что:
{Документ.ОтгрузочнаяНакладная.Форма.ФормаДокумента.Форма(28,92)}: Слишком много фактических параметров (ПолучитьОстаткиИзРегистра)
 СтрокаТЧ.Остаток = ПолучитьОстаткиИзРегистра(СтрокаТЧ.Наименование, СтрокаТЧ.НомерПартии, <<?>>Объект.ДокументОснование);
---
предидущая была ересь, доработал чутка, но ничего не возвращает почему-то...
Колонка Остаток всё равно не заполняется...

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьОстаткиИзРегистра(Наименование, НомерПартии, ДокументОснование,Дата)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиДокументаОснованияОстатки.ДокументОснование КАК ДокументОснование,
    | ОстаткиДокументаОснованияОстатки.НомерПартии КАК НомерПартии,
    | ОстаткиДокументаОснованияОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиДокументаОснованияОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ОтгрузочнаяНакладная.Наименование КАК Номенклатура1,
    | ОтгрузочнаяНакладная.НомерПартии КАК НомерПартии1
    |ИЗ
    | РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование) КАК ОстаткиДокументаОснованияОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузочнаяНакладная.Номенклатура КАК ОтгрузочнаяНакладная
    | ПО ОстаткиДокументаОснованияОстатки.Номенклатура = ОтгрузочнаяНакладная.Наименование
    | И ОстаткиДокументаОснованияОстатки.НомерПартии = ОтгрузочнаяНакладная.НомерПартии";
    Запрос.УстановитьПараметр("Номенклатура", Наименование);
    Запрос.УстановитьПараметр("НомерПартии", НомерПартии);
    Запрос.УстановитьПараметр("Период", Дата);
    Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();
    Пока ВыборкаЗапроса.Следующий() Цикл

    КонецЦикла;

    КонецФункции
```
---
вы в коде написашите Возврат ВыборкаЗапроса.КоличествоОстаток

```1c
    Если ВыборкаРезультата.Количество() = 0 Тогда
    Возврат 0
    Иначе
    ВыборкаЗапроса.Следующий()
    Возврат ВыборкаЗапроса.КоличествоОстаток
    КонецЕсли
```
---
Если ВыборкаРезультата.Количество() = 0 Тогда
Возврат 0
Иначе
ВыборкаЗапроса.Следующий()
Возврат ВыборкаЗапроса.КоличествоОстаток
КонецЕсли
{Документ.ОтгрузочнаяНакладная.Форма.ФормаДокумента.Форма(46,7)}: Переменная не определена (ВыборкаРезультата)
 Если <<?>>ВыборкаРезультата.Количество() = 0 Тогда (Проверка: Сервер)
{Документ.ОтгрузочнаяНакладная.Форма.ФормаДокумента.Форма(49,1)}: Переменная не определена (ВыборкаЗапроса)
<<?>>ВыборкаЗапроса.Следующий(); (Проверка: Сервер)
{Документ.ОтгрузочнаяНакладная.Форма.ФормаДокумента.Форма(50,9)}: Переменная не определена (ВыборкаЗапроса)
Возврат <<?>>ВыборкаЗапроса.КоличествоОстаток (Проверка: Сервер)
{Документ.ОтгрузочнаяНакладная.Форма.ФормаДокумента.Форма(46,7)}: Переменная не определена (ВыборкаРезультата)
 Если <<?>>ВыборкаРезультата.Количество() = 0 Тогда (Проверка: Мобильное приложение-сервер)
{Документ.ОтгрузочнаяНакладная.Форма.ФормаДокумента.Форма(49,1)}: Переменная не определена (ВыборкаЗапроса)
<<?>>ВыборкаЗапроса.Следующий(); (Проверка: Мобильное приложение-сервер)
{Документ.ОтгрузочнаяНакладная.Форма.ФормаДокумента.Форма(50,9)}: Переменная не определена (ВыборкаЗапроса)
Возврат <<?>>ВыборкаЗапроса.КоличествоОстаток (Проверка: Мобильное приложение-сервер)
---
Извиняюсь нужно подправить на ВыборкаЗапроса

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СтрокаТЧ = Элементы.Номенклатура.ТекущиеДанные;
    СтрокаТЧ.Остаток = ПолучитьОстаткиИзРегистра(СтрокаТЧ.Наименование, СтрокаТЧ.НомерПартии, Объект.ДокументОснование);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьОстаткиИзРегистра(Дата, ДокументОснование)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиДокументаОснованияОстатки.ДокументОснование КАК ДокументОснование,
    | ОстаткиДокументаОснованияОстатки.НомерПартии КАК НомерПартии,
    | ОстаткиДокументаОснованияОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиДокументаОснованияОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ОтгрузочнаяНакладная.Наименование КАК Номенклатура1,
    | ОтгрузочнаяНакладная.НомерПартии КАК НомерПартии1
    |ИЗ
    | РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование) КАК ОстаткиДокументаОснованияОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузочнаяНакладная.Номенклатура КАК ОтгрузочнаяНакладная
    | ПО ОстаткиДокументаОснованияОстатки.Номенклатура = ОтгрузочнаяНакладная.Наименование
    | И ОстаткиДокументаОснованияОстатки.НомерПартии = ОтгрузочнаяНакладная.НомерПартии";
    Запрос.УстановитьПараметр("Период", Дата);
    Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();
    Если выборказапроса.Количество() = 0 Тогда
    Возврат 0
    Иначе
    ВыборкаЗапрос.Следующий()
    Возврат ВыборкаЗапроса.КоличествоОстаток
    Конецесли

    КонецФункции
```

У вас в функции нету возврата значения, поэтому она и не заполняет ни чего
---
РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();
    Если выборказапроса.Количество() = 0 Тогда
        Возврат 0
    Иначе
         ВыборкаЗапрос.Следующий()
         Возврат ВыборкаЗапроса.КоличествоОстаток
    Конецесли

    КонецФункции

Спасибо, вот так работает!

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьОстаткиИзРегистра(Наименование, НомерПартии, ДокументОснование,Дата)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиДокументаОснованияОстатки.ДокументОснование КАК ДокументОснование,
    | ОстаткиДокументаОснованияОстатки.НомерПартии КАК НомерПартии,
    | ОстаткиДокументаОснованияОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиДокументаОснованияОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ОтгрузочнаяНакладная.Наименование КАК Номенклатура1,
    | ОтгрузочнаяНакладная.НомерПартии КАК НомерПартии1
    |ИЗ
    | РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование) КАК ОстаткиДокументаОснованияОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузочнаяНакладная.Номенклатура КАК ОтгрузочнаяНакладная
    | ПО ОстаткиДокументаОснованияОстатки.Номенклатура = ОтгрузочнаяНакладная.Наименование
    | И ОстаткиДокументаОснованияОстатки.НомерПартии = ОтгрузочнаяНакладная.НомерПартии";
    Запрос.УстановитьПараметр("Номенклатура", Наименование);
    Запрос.УстановитьПараметр("НомерПартии", НомерПартии);
    Запрос.УстановитьПараметр("Период", Дата);
    Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();
    Если выборказапроса.Количество() = 0 Тогда
    Возврат 0
    Иначе
    ВыборкаЗапроса.Следующий();
    Возврат ВыборкаЗапроса.КоличествоОстаток
    КонецЕсли
    КонецФункции
```

Правда возвращает не корректные сведения )
Для всех партий берёт один остаток
---
не пойму в чём проблема, но подбирает одинаковый остаток для всех строк, в том числе даже для пустой, где ничего не выбрано из номенклатуры...
---
у вас потому что нету отбора по номенклатуре и партии. У вас есть только отбор по документу основания. в этом и ошибка

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьОстаткиИзРегистра(Наименование, НомерПартии, ДокументОснование,Дата)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиДокументаОснованияОстатки.ДокументОснование КАК ДокументОснование,
    | ОстаткиДокументаОснованияОстатки.НомерПартии КАК НомерПартии,
    | ОстаткиДокументаОснованияОстатки.Номенклатура КАК Номенклатура,
    | ОстаткиДокументаОснованияОстатки.КоличествоОстаток КАК КоличествоОстаток,
    | ОтгрузочнаяНакладная.Наименование КАК Номенклатура1,
    | ОтгрузочнаяНакладная.НомерПартии КАК НомерПартии1
    |ИЗ
    | РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование И Номенклатура = &Номенклатура И НомерПартии = &НомерПартии) КАК ОстаткиДокументаОснованияОстатки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтгрузочнаяНакладная.Номенклатура КАК ОтгрузочнаяНакладная
    | ПО ОстаткиДокументаОснованияОстатки.Номенклатура = ОтгрузочнаяНакладная.Наименование
    | И ОстаткиДокументаОснованияОстатки.НомерПартии = ОтгрузочнаяНакладная.НомерПартии";
    Запрос.УстановитьПараметр("Номенклатура", Наименование);
    Запрос.УстановитьПараметр("НомерПартии", НомерПартии);
    Запрос.УстановитьПараметр("Период", Дата);
    Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаЗапроса = РезультатЗапроса.Выбрать();
    Если выборказапроса.Количество() = 0 Тогда
    Возврат 0
    Иначе
    ВыборкаЗапроса.Следующий();
    Возврат ВыборкаЗапроса.КоличествоОстаток
    КонецЕсли
    КонецФункции
```

Дописать нужно в параметрах РегистрНакопления.ОстаткиДокументаОснования.Остатки(&Период, ДокументОснование = &ДокументОснование И Номенклатура = &Номенклатура И НомерПартии = &НомерПартии)
---
И Номенклатура = &Номенклатура И НомерПартии = &НомерПартии
вот затупил.... от души благодарю!
---
да незачто!
---
Ну для начала, советую использовать модуль объекта и обработку заполнения, а не на форме все это делать.
---
Народ, а может кто подскажет в какую процедуру лучше поместить данный листинг, чтобы при создании документа на основании уже заполнялась колонка остатка в форме?