Вопрос про запрос

Новая тема
"В "Торговля и склад" 7.7 выполняю запрос:

-----------------------------------------------------------

ТЗапрос="//{{ЗАПРОС(Сформировать)

|Период с ДатаНачала по ДатаКонца;

|Номенклатура = Регистр.Продажи. Номенклатура,

| Регистр.ОстаткиТМЦ. Номенклатура,

| Регистр.ПартииОтданные.Номенклатура;

|Поставщик = Регистр.Продажи. Поставщик;

|КолПродажи = Регистр.Продажи. Количество;

|КолВозврата = Регистр.Продажи. КоличествоВ;

|КолОстатки = Регистр.ОстаткиТМЦ. Количество,

| Регистр.ПартииОтданные.Количество;

|Функция Продано = Сумма(КолПродажи );

|Функция Возвращено = Сумма(КолВозврата);

|Функция НачОст = НачОст(КолОстатки);

|Функция КонОст = КонОст(КолОстатки);

|Функция Приход = Приход(КолОстатки);

|Функция Расход = Расход(КолОстатки);

|Группировка Номенклатура без групп;

|Группировка Документ;

|"//}}ЗАПРОC

;

------------------------------------------------------------

переменная "Поставщик" во временном наборе данных - пустая!  

Если исключить из запроса:

------------------------------------------------------------

|Функция НачОст = НачОст(КолОстатки);

|Функция КонОст = КонОст(КолОстатки);

|Функция Приход = Приход(КолОстатки);

|Функция Расход = Расход(КолОстатки);

------------------------------------------------------------

переменная "Поставщик" во временном наборе данных получает

соответствующее значение!  

Почему, и как все-таки получить в результат запроса поставщика?

"
"|КолОстатки = Регистр.ОстаткиТМЦ. Количество,

| Регистр.ПартииОтданные.Количество;



|Поставщик = Регистр.Продажи. Поставщик;



Поставщик не участвует в КолОстатки:( И вообще, Регистр.Продажи - оборотный.



А какие остатки предполагается получить в результате работы запроса? Разные типы данных неспроста учитываются на разных регистрах.



Чем не устраивает регистр "ПартииНаличие"?"
"Конкретизирую задачу:

В комплексной конфигурации необходимо дополнить отчет "Планирование закупок" возможностью наложения фильтра по группе поставщиков номенклатуры.



Исходный текст запроса выглядит так:

--------------------------------------

|Период с ДатаНачала по ДатаКонца;

|Номенклатура = Регистр.Продажи.       Номенклатура,

|               Регистр.ОстаткиТМЦ.    Номенклатура,

|               Регистр.ПартииОтданные.Номенклатура;

|Фирма        = Регистр.ОстаткиТМЦ.    Фирма,

|               Регистр.Продажи.       Фирма,

|               Регистр.ПартииОтданные.Фирма;

|ЮрЛицо       = Регистр.ОстаткиТМЦ.    Фирма.ЮрЛицо,

|               Регистр.Продажи.       Фирма.ЮрЛицо,

|               Регистр.ПартииОтданные.Фирма.ЮрЛицо;

|УпрАналитика = Регистр.Продажи.       Фирма.УпрАналитика,

|               Регистр.ОстаткиТМЦ.    Фирма.УпрАналитика,

|               Регистр.ПартииОтданные.Фирма.УпрАналитика;

|КолПродажи  = Регистр.Продажи.   Количество;

|КолВозврата = Регистр.Продажи.   КоличествоВ;

|КолОстатки  = Регистр.ОстаткиТМЦ.    Количество,

|              Регистр.ПартииОтданные.Количество;";

|Функция Продано    = Сумма(КолПродажи );

|Функция Возвращено = Сумма(КолВозврата);

|Функция НачОст     = НачОст(КолОстатки);

|Функция КонОст     = КонОст(КолОстатки);

|Функция Приход     = Приход(КолОстатки);

|Функция Расход     = Расход(КолОстатки);

|Группировка Номенклатура без групп;

|Группировка Документ;

|"//}}ЗАПРОС

--------------------------------------

Для построения условия в запросе мне необходимо наименование

поставщика включенной в выборку номенклатуры. Чего я и пытаюсь сделать в приведенном ранее фрагменте запроса.



Против регистра ПартииНаличные я ничего не имею, однако

при добавление к запросу :

--------------------------------------

|Поставщик   = Регистр.ПартииНаличие.Партия.Поставщик;

|КолНаличие  = Регистр.ПартииНаличие.Количество;

|Функция КоличествоНаличие = Сумма(КолНаличие);

--------------------------------------

в выборке получаю: Поставщик-пусто, КоличествоНаличие-0 !

Видимо по какой-то причине регистр ПартииНаличие-пуст.

Возможно всвязи с тем, что пользователь ведет в конфигурации лишь частичный учет.

"
"Функция КоличествоНаличие = Сумма(КолНаличие) - не будет работать. Надо НачОст, Приход, Расход, КонОст



Вспомогательный запрос:

"//{{ЗАПРОС(Сформировать)

|Период с ВыбНачПериода по ВыбКонПериода;

|Фирма = Регистр.ПартииНаличие.Фирма;

|Номенклатура = Регистр.ПартииНаличие.Номенклатура;

|Партия = Регистр.ПартииНаличие.Партия;

|Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;

|Количество = Регистр.ПартииНаличие.Количество;

|КодОперации = Регистр.ПартииНаличие.КодОперации;

|Функция КоличествоНачОст = НачОст(Количество);

|Функция КоличествоПриход = Приход(Количество);

|Функция КоличествоРасход = Расход(Количество);

|Функция КоличествоКонОст = КонОст(Количество);

|Группировка Поставщик без групп;

|Группировка Номенклатура без групп;

|Условие(Фирма = ВыбФирма);

|Условие(Поставщик в ВыбПоставщик);

|"//}}ЗАПРОС

Номенклатуру, полученную в этом запросе, запихнуть в СписокЗначений (СЗ), и в основной запрос добавить Условие(Номенклатура в СЗ).

"
Так действительно работает :-)

Спасибо за помощь!

Тему закрываю.
Читают тему
(гостей: 1)

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