Помогите с запросом ТиСк

Новая тема
"Пишу простой запрос к 1С (ТиС, dbf):

ТекстЗапроса =
"//{{ЗАПРОС(Заявки)
|ЗаявкаПокупателя = Регистр.Заявки.ЗаявкаПокупателя;
|Номенклатура = Регистр.Заявки.Номенклатура;
|Ном = Регистр.Заявки.НомерСтроки;
|Кол = Регистр.Заявки.КоличествоРасход;
|Сумма = Регистр.Заявки.СтоимостьРасход;
|Функция КонКол = КонОст(Кол);
|Функция КонСумма = КонОст(Сумма);
|Группировка ЗаявкаПокупателя;
|Группировка Номенклатура;
|"//}}ЗАПРОС

И хоть установил привязку строки и провел документы (неподтверждённая заявка), 1С выдаёт мне, что переменная запроса "Ном = 0". Пытался функции всякие к ней применить - всё равно ничего. Где я сглупил?
"
Группировку по Ном добавь. Для одной заявки и одной номенклатуры может быть два номера строки, однако!
И группировку добавлял с её обходом - всё равно Отладчик говорит:

Запрос.Ном=0

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

// выполняем движение
Регистр.Заявки.ПривязыватьСтроку(НомерСтроки()) // <-- вот эту строку добавь
Регистр.Заявки.ДвижениеПриходВыполнить();

.
.
.

Регистр.Заявки.КоличествоРасход  = КоличествоРасход;
Регистр.Заявки.СтоимостьРасход   = СтоимостьРасход;
Регистр.Заявки.ПривязыватьСтроку(НомерСтроки()) // <-- вот эту строку добавь
Регистр.Заявки.ДвижениеРасходВыполнить();

Ну и перепроведение заявок обязат-но"
Спасибо!

Только это-то понятно - итак сделал.
Но я решил обойтись по-другому.
Читают тему
(гостей: 1)

Быстрый переход