:Помогите с запросом по остаткам в подборе номенклатуры в КА

1. curys 15.12.11 01:26 Сейчас в теме
Доброе время суток.

Помогите с запросом по остаткам в бух учете.Необходимо получать остатки не только по Управл. учету, но и по бух.

Так вот подскажите куда мне его вставить в основной запрос, а то я что-то не могу сообразить?

Вот текст Запроса текущего кода:

+ Code
ТекстЗапроса = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТоварыНаСкладах.Номенклатура КАК Номенклатура,
| СУММА( ЕСТЬNULL(ТоварыНаСкладах.КоличествоОстаток, 0.00)
| " + ?(СтруктураЗаказов = Неопределено,"","+ ЕСТЬNULL(ТоварыВРезерве.КоличествоОстаток, 0.00)") + "
| ) КАК КоличествоСвободныйОстаток,
| 0.00 КАК КоличествоОстатокОрганизации
|ИЗ
| (ВЫБРАТЬ
| ОбщиеОстатки.Номенклатура КАК Номенклатура,
| ОбщиеОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| ОбщиеОстатки.Качество КАК Качество,
| СУММА(ОбщиеОстатки.КоличествоОстаток) КАК КоличествоОстаток
| ИЗ
| (";

//Формируем запрос по свободным остаткам

ТекстЗапроса = ТекстЗапроса + ПолучитьСтрокуЗапросаСвободныеОстаткиУПП(Новый Структура("СвободныеОстатки,ТоварыВНТТ"), ТекстУсловияКачества, Истина);

ТекстЗапроса = ТекстЗапроса + "
| ) КАК ОбщиеОстатки
|
| СГРУППИРОВАТЬ ПО
| ОбщиеОстатки.Номенклатура, ОбщиеОстатки.ХарактеристикаНоменклатуры, ОбщиеОстатки.Качество
| ) КАК ТоварыНаСкладах
|";

Если НЕ СтруктураЗаказов = Неопределено Тогда
Если ЗаказИзШапки Тогда
Если ВидРегистраПлюсСвободныйОстаток = "ТоварыВРезервеНаСкладах" Тогда
ТекстЗапроса = ТекстЗапроса +"
|ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ?(мУсловиеНоменклатураСклад = "", "", " И ") + "ДокументРезерва = &ДокументРезерва) КАК ТоварыВРезерве
|ПО
| ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
| И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
| И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
|";
ИначеЕсли ВидРегистраПлюсСвободныйОстаток = "ТоварыКПередачеСоСкладов" Тогда
ТекстЗапроса = ТекстЗапроса +"
|ЛЕВОЕ СОЕДИНЕНИЕ
| РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ?(мУсловиеНоменклатураСклад = "", "", " И ") + "ДокументПередачи = &ДокументРезерва) КАК ТоварыВРезерве
|ПО ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
| И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
| И ТоварыВРезерве.Качество = ТоварыНаСкладах.Качество
|";
КонецЕсли;
Иначе
//временная таблица товаров в резерве

Запрос.Текст = "
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТоварыВРезервеНаСкладах.Номенклатура КАК Номенклатура,
| ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
| СУММА(ТоварыВРезервеНаСкладах.КоличествоОстаток) КАК КоличествоОстаток
|ПОМЕСТИТЬ ТоварыВРезерве
|ИЗ
| РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Дата, " + мУсловиеНоменклатураСклад + ") КАК ТоварыВРезервеНаСкладах

//При использовании регистра свободных остатков добавляется только резерв по заказам документа

|ВНУТРЕННЕЕ СОЕДИНЕНИЕ
| ЗаказыТаблицаНоменклатура КАК ЗаказаноПоДокументуЗаказ
|ПО
| ЗаказаноПоДокументуЗаказ.Номенклатура = ТоварыВРезервеНаСкладах.Номенклатура
| И ЗаказаноПоДокументуЗаказ.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
| И ЗаказаноПоДокументуЗаказ.ДокументРезерва = ТоварыВРезервеНаСкладах.ДокументРезерва
|ГДЕ
| НЕ ЗаказаноПоДокументуЗаказ.ДокументРезерва ЕСТЬ NULL
| ИЛИ ТоварыВРезервеНаСкладах.ДокументРезерва = &ДокументРезерва
|СГРУППИРОВАТЬ ПО ТоварыВРезервеНаСкладах.Номенклатура, ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
|ИНДЕКСИРОВАТЬ ПО ТоварыВРезервеНаСкладах.Номенклатура, ТоварыВРезервеНаСкладах.ХарактеристикаНоменклатуры
|";
Запрос.Выполнить();

ТекстЗапроса = ТекстЗапроса +"
|ЛЕВОЕ СОЕДИНЕНИЕ
| ТоварыВРезерве КАК ТоварыВРезерве
|ПО
| ТоварыВРезерве.Номенклатура = ТоварыНаСкладах.Номенклатура
| И ТоварыВРезерве.ХарактеристикаНоменклатуры = ТоварыНаСкладах.ХарактеристикаНоменклатуры
| И ТоварыНаСкладах.Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)
|";
КонецЕсли;
КонецЕсли;
ТекстЗапроса = ТекстЗапроса +"
|
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладах.Номенклатура
|";
Запрос.Текст = ТекстЗапроса;

А это, то что надо добавить:
ВЫБРАТЬ
ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Организация,
ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Организация),
ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура,
ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура),
ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Склад,
ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Склад),
ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки

Буду очень благодарен за помощь, а то мозг уже не особо соображает(((
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. kolya_tlt 87 15.12.11 21:56 Сейчас в теме
(1) одновременно в подборе остатки по бух и упр? жесть! а зачем? мимо кассы отгружаете больше?

ТекстЗапроса = ТекстЗапроса +"
|ЛЕВОЕ СОЕДИНЕНИЕ
| УправленческийОстатки.КоличествоОстаток КАК ОстатокПОБух
|ИЗ РегистрБухгалтерии.Управленческий.Остатки(, Счет В (&Счета), , ) КАК УправленческийОстатки";
2. 1cgordov 15.12.11 13:52 Сейчас в теме
Воспользуйтесь отладной, установите точку останова перед выполнением запроса и скопируйте получившийся полный текст запроса и необходимые параметры в консоль запроса, а затем в режиме конструктора просто соедините со своим запросом. Выйдя из режима конструктора сразу наглядно увидите куда что добавлять в исходный код. А делать это за Вас думаю тут никто не станет
3. Temniy 19 15.12.11 18:46 Сейчас в теме
Воспользуйтесь консолью запросов
4. druv 214 15.12.11 21:50 Сейчас в теме
Добавлять надо в самый первый запрос. Только как добавлять зависит от того, что ты хочешь получить: Сумму остатков по УУ и БУ или Среднее, или 2 колонки на выходе: остатки по УУ и по БУ. От этого будет зависеть как добавлять. А вообще на мой взгляд это глупость....Уверен ли ты, что ведется партионный учет, а не РАУЗ(хотя не помню есть ли РАУЗ в КА), и правильно ли ведется партионный учет. Если нужен для списания остатков для бухов (н-р списать остстки по 10,01 счету), то проще сделать обработку заполнения по остаткам в документе.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот