Вопрос про запрос
18.05.2005
09:54
#1
"В "Торговля и склад" 7.7 выполняю запрос:
-----------------------------------------------------------
ТЗапрос="//{{ЗАПРОС(Сформировать)
|Период с ДатаНачала по ДатаКонца;
|Номенклатура = Регистр.Продажи. Номенклатура,
| Регистр.ОстаткиТМЦ. Номенклатура,
| Регистр.ПартииОтданные.Номенклатура;
|Поставщик = Регистр.Продажи. Поставщик;
|КолПродажи = Регистр.Продажи. Количество;
|КолВозврата = Регистр.Продажи. КоличествоВ;
|КолОстатки = Регистр.ОстаткиТМЦ. Количество,
| Регистр.ПартииОтданные.Количество;
|Функция Продано = Сумма(КолПродажи );
|Функция Возвращено = Сумма(КолВозврата);
|Функция НачОст = НачОст(КолОстатки);
|Функция КонОст = КонОст(КолОстатки);
|Функция Приход = Приход(КолОстатки);
|Функция Расход = Расход(КолОстатки);
|Группировка Номенклатура без групп;
|Группировка Документ;
|"//}}ЗАПРОC
;
------------------------------------------------------------
переменная "Поставщик" во временном наборе данных - пустая!
Если исключить из запроса:
------------------------------------------------------------
|Функция НачОст = НачОст(КолОстатки);
|Функция КонОст = КонОст(КолОстатки);
|Функция Приход = Приход(КолОстатки);
|Функция Расход = Расход(КолОстатки);
------------------------------------------------------------
переменная "Поставщик" во временном наборе данных получает
соответствующее значение!
Почему, и как все-таки получить в результат запроса поставщика?
"
-----------------------------------------------------------
ТЗапрос="//{{ЗАПРОС(Сформировать)
|Период с ДатаНачала по ДатаКонца;
|Номенклатура = Регистр.Продажи. Номенклатура,
| Регистр.ОстаткиТМЦ. Номенклатура,
| Регистр.ПартииОтданные.Номенклатура;
|Поставщик = Регистр.Продажи. Поставщик;
|КолПродажи = Регистр.Продажи. Количество;
|КолВозврата = Регистр.Продажи. КоличествоВ;
|КолОстатки = Регистр.ОстаткиТМЦ. Количество,
| Регистр.ПартииОтданные.Количество;
|Функция Продано = Сумма(КолПродажи );
|Функция Возвращено = Сумма(КолВозврата);
|Функция НачОст = НачОст(КолОстатки);
|Функция КонОст = КонОст(КолОстатки);
|Функция Приход = Приход(КолОстатки);
|Функция Расход = Расход(КолОстатки);
|Группировка Номенклатура без групп;
|Группировка Документ;
|"//}}ЗАПРОC
;
------------------------------------------------------------
переменная "Поставщик" во временном наборе данных - пустая!
Если исключить из запроса:
------------------------------------------------------------
|Функция НачОст = НачОст(КолОстатки);
|Функция КонОст = КонОст(КолОстатки);
|Функция Приход = Приход(КолОстатки);
|Функция Расход = Расход(КолОстатки);
------------------------------------------------------------
переменная "Поставщик" во временном наборе данных получает
соответствующее значение!
Почему, и как все-таки получить в результат запроса поставщика?
"
18.05.2005
10:10
#2
"|КолОстатки = Регистр.ОстаткиТМЦ. Количество,
| Регистр.ПартииОтданные.Количество;
|Поставщик = Регистр.Продажи. Поставщик;
Поставщик не участвует в КолОстатки:( И вообще, Регистр.Продажи - оборотный.
А какие остатки предполагается получить в результате работы запроса? Разные типы данных неспроста учитываются на разных регистрах.
Чем не устраивает регистр "ПартииНаличие"?"
| Регистр.ПартииОтданные.Количество;
|Поставщик = Регистр.Продажи. Поставщик;
Поставщик не участвует в КолОстатки:( И вообще, Регистр.Продажи - оборотный.
А какие остатки предполагается получить в результате работы запроса? Разные типы данных неспроста учитываются на разных регистрах.
Чем не устраивает регистр "ПартииНаличие"?"
19.05.2005
07:02
#3
"Конкретизирую задачу:
В комплексной конфигурации необходимо дополнить отчет "Планирование закупок" возможностью наложения фильтра по группе поставщиков номенклатуры.
Исходный текст запроса выглядит так:
--------------------------------------
|Период с ДатаНачала по ДатаКонца;
|Номенклатура = Регистр.Продажи. Номенклатура,
| Регистр.ОстаткиТМЦ. Номенклатура,
| Регистр.ПартииОтданные.Номенклатура;
|Фирма = Регистр.ОстаткиТМЦ. Фирма,
| Регистр.Продажи. Фирма,
| Регистр.ПартииОтданные.Фирма;
|ЮрЛицо = Регистр.ОстаткиТМЦ. Фирма.ЮрЛицо,
| Регистр.Продажи. Фирма.ЮрЛицо,
| Регистр.ПартииОтданные.Фирма.ЮрЛицо;
|УпрАналитика = Регистр.Продажи. Фирма.УпрАналитика,
| Регистр.ОстаткиТМЦ. Фирма.УпрАналитика,
| Регистр.ПартииОтданные.Фирма.УпрАналитика;
|КолПродажи = Регистр.Продажи. Количество;
|КолВозврата = Регистр.Продажи. КоличествоВ;
|КолОстатки = Регистр.ОстаткиТМЦ. Количество,
| Регистр.ПартииОтданные.Количество;";
|Функция Продано = Сумма(КолПродажи );
|Функция Возвращено = Сумма(КолВозврата);
|Функция НачОст = НачОст(КолОстатки);
|Функция КонОст = КонОст(КолОстатки);
|Функция Приход = Приход(КолОстатки);
|Функция Расход = Расход(КолОстатки);
|Группировка Номенклатура без групп;
|Группировка Документ;
|"//}}ЗАПРОС
--------------------------------------
Для построения условия в запросе мне необходимо наименование
поставщика включенной в выборку номенклатуры. Чего я и пытаюсь сделать в приведенном ранее фрагменте запроса.
Против регистра ПартииНаличные я ничего не имею, однако
при добавление к запросу :
--------------------------------------
|Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;
|КолНаличие = Регистр.ПартииНаличие.Количество;
|Функция КоличествоНаличие = Сумма(КолНаличие);
--------------------------------------
в выборке получаю: Поставщик-пусто, КоличествоНаличие-0 !
Видимо по какой-то причине регистр ПартииНаличие-пуст.
Возможно всвязи с тем, что пользователь ведет в конфигурации лишь частичный учет.
"
В комплексной конфигурации необходимо дополнить отчет "Планирование закупок" возможностью наложения фильтра по группе поставщиков номенклатуры.
Исходный текст запроса выглядит так:
--------------------------------------
|Период с ДатаНачала по ДатаКонца;
|Номенклатура = Регистр.Продажи. Номенклатура,
| Регистр.ОстаткиТМЦ. Номенклатура,
| Регистр.ПартииОтданные.Номенклатура;
|Фирма = Регистр.ОстаткиТМЦ. Фирма,
| Регистр.Продажи. Фирма,
| Регистр.ПартииОтданные.Фирма;
|ЮрЛицо = Регистр.ОстаткиТМЦ. Фирма.ЮрЛицо,
| Регистр.Продажи. Фирма.ЮрЛицо,
| Регистр.ПартииОтданные.Фирма.ЮрЛицо;
|УпрАналитика = Регистр.Продажи. Фирма.УпрАналитика,
| Регистр.ОстаткиТМЦ. Фирма.УпрАналитика,
| Регистр.ПартииОтданные.Фирма.УпрАналитика;
|КолПродажи = Регистр.Продажи. Количество;
|КолВозврата = Регистр.Продажи. КоличествоВ;
|КолОстатки = Регистр.ОстаткиТМЦ. Количество,
| Регистр.ПартииОтданные.Количество;";
|Функция Продано = Сумма(КолПродажи );
|Функция Возвращено = Сумма(КолВозврата);
|Функция НачОст = НачОст(КолОстатки);
|Функция КонОст = КонОст(КолОстатки);
|Функция Приход = Приход(КолОстатки);
|Функция Расход = Расход(КолОстатки);
|Группировка Номенклатура без групп;
|Группировка Документ;
|"//}}ЗАПРОС
--------------------------------------
Для построения условия в запросе мне необходимо наименование
поставщика включенной в выборку номенклатуры. Чего я и пытаюсь сделать в приведенном ранее фрагменте запроса.
Против регистра ПартииНаличные я ничего не имею, однако
при добавление к запросу :
--------------------------------------
|Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;
|КолНаличие = Регистр.ПартииНаличие.Количество;
|Функция КоличествоНаличие = Сумма(КолНаличие);
--------------------------------------
в выборке получаю: Поставщик-пусто, КоличествоНаличие-0 !
Видимо по какой-то причине регистр ПартииНаличие-пуст.
Возможно всвязи с тем, что пользователь ведет в конфигурации лишь частичный учет.
"
19.05.2005
09:40
#4
"Функция КоличествоНаличие = Сумма(КолНаличие) - не будет работать. Надо НачОст, Приход, Расход, КонОст
Вспомогательный запрос:
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Фирма = Регистр.ПартииНаличие.Фирма;
|Номенклатура = Регистр.ПартииНаличие.Номенклатура;
|Партия = Регистр.ПартииНаличие.Партия;
|Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;
|Количество = Регистр.ПартииНаличие.Количество;
|КодОперации = Регистр.ПартииНаличие.КодОперации;
|Функция КоличествоНачОст = НачОст(Количество);
|Функция КоличествоПриход = Приход(Количество);
|Функция КоличествоРасход = Расход(Количество);
|Функция КоличествоКонОст = КонОст(Количество);
|Группировка Поставщик без групп;
|Группировка Номенклатура без групп;
|Условие(Фирма = ВыбФирма);
|Условие(Поставщик в ВыбПоставщик);
|"//}}ЗАПРОС
Номенклатуру, полученную в этом запросе, запихнуть в СписокЗначений (СЗ), и в основной запрос добавить Условие(Номенклатура в СЗ).
"
Вспомогательный запрос:
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|Фирма = Регистр.ПартииНаличие.Фирма;
|Номенклатура = Регистр.ПартииНаличие.Номенклатура;
|Партия = Регистр.ПартииНаличие.Партия;
|Поставщик = Регистр.ПартииНаличие.Партия.Поставщик;
|Количество = Регистр.ПартииНаличие.Количество;
|КодОперации = Регистр.ПартииНаличие.КодОперации;
|Функция КоличествоНачОст = НачОст(Количество);
|Функция КоличествоПриход = Приход(Количество);
|Функция КоличествоРасход = Расход(Количество);
|Функция КоличествоКонОст = КонОст(Количество);
|Группировка Поставщик без групп;
|Группировка Номенклатура без групп;
|Условие(Фирма = ВыбФирма);
|Условие(Поставщик в ВыбПоставщик);
|"//}}ЗАПРОС
Номенклатуру, полученную в этом запросе, запихнуть в СписокЗначений (СЗ), и в основной запрос добавить Условие(Номенклатура в СЗ).
"
Читают тему
(гостей: 1)