Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 окт 2025, 22:59

Распределение колонки ресурсы по ТЗ

Автор Sasha1C, 24 сен 2025, 12:42

0 Пользователей и 1 гость просматривают эту тему.

Sasha1C

Добрый день, есть запрос для получения данных из Регистра бухгалтерии. И возник вопрос как верно распределить поле количество остаток, а именно на картинке видно что для выбранных реквизитов (картинка 2) общий остаток 4 (для строк с 3-8 остаток всего 4, и в теории на последней строчке КоличчествоОСтаток должен быть 0) . И как лучше это обыграть. В сам запрос вносить изменения или потом на моменте обхода результата запроса уже пытаться исправить что-то? Внешний источник это ТЧ текущего документа. Рад любой помощи, заранее спасибо.
Запрос = Новый Запрос();
Запрос.УстановитьПараметр("Организация", Реквизиты.Организация);
Запрос.УстановитьПараметр("Период", Новый Граница(Новый МоментВремени(Реквизиты.Период, Реквизиты.Регистратор), ВидГраницы.Исключая));

Запрос.УстановитьПараметр("СчетаУчетаБСО", БухгалтерскийУчетВызовСервераПовтИсп.СчетаВИерархии(ПланыСчетов.Хозрасчетный.БланкиСтрогойОтчетности_));   //006.1

ВидыСубконтоБСО = Новый Массив;
ВидыСубконтоБСО.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура);
ВидыСубконтоБСО.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партии);
ВидыСубконтоБСО.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады);

Запрос.УстановитьПараметр("ВидыСубконтоБСО",   ВидыСубконтоБСО);

Запрос.УстановитьПараметр("ВнешнийИсточник", ТаблицаБланки);
Запрос.УстановитьПараметр("СписокПартий",    ОбщегоНазначенияБПВызовСервера.УдалитьПовторяющиесяЭлементыМассива(ТаблицаБланки.ВыгрузитьКолонку("ДокументОприходования")));

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

sali

это называется схопывание или выражаясь профессиональным языком - группировка
сделай группировку по серии

Sasha1C

sali, Я пробовал, но тут так сделать не получится, так как общие модули тянут номер строки в качестве параметра. А если в запросе убрать номер, то типовые процедуры ругаются. А это не одна или 2 , а с десяток.

sali

Sasha1C, я тебе за номер что-то говорил? Сказал, по Сериям БСО сгруппируй

Sasha1C

sali, Спасибо, уже сделал. Просто пришлось чу-чуть с модулями подшаманить)

Теги: Запрос ТЗ 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск