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

Отбор по группе в БГУ(2.0)

Автор Elfidor, 11 ноя 2019, 12:28

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

Elfidor

Добрый день! Я новичок, работаю в этой сфере первый месяц(первая работа) и ещё очень прилично путаюсь в коде и т.д.
Поступила задача - на форме документа ИнвентаризацияДрагМеталловВНФА создать поле "Группа", которое отсеивала бы то, что залетает в таб.часть "Инвентаризация" в зависимости от того, какую группу выбрал клиент. Поле "Группа" имеет составной тип данных(СправочникСсылка.Номенклатура, СправочникСсылка.ОсновныеСредства). По сути, осталось только подправить немного запрос в процедуре просто вставив свой кусочек с отбором, но в какое место в запросе его вставлять я искренне не знаю... Спросить совершенно не у кого. Помогите, пожалуйста, хоть словом, хоть подсказкой! Я очень не хочу чтобы меня из-за этого уволили...
P.S. 1С:Предприятие 8.3 (8.3.15.1565), Бухгалтерия государственного учреждения, редакция 2.0 (2.0.66.12)
Тело одной из процедур:
&НаСервере
&Вместо("ЗаполнитьТаблицуИнвентаризацияПоУчетуИНВ8а")
Процедура ИнвентаризацияЗаполнитьТаблицуИнвентаризацияПоУчетуИНВ8а(МассивЦМО, ТолькоПересчитать)
   
   ЗаблокироватьДанныеФормыДляРедактирования();
   
   Запрос = Новый Запрос;
   
   Запрос.Текст =
   
   "ВЫБРАТЬ
   |   НастройкиЕдиницИзмеренияДрагМатериалов.Организация КАК Организация,
   |   НастройкиЕдиницИзмеренияДрагМатериалов.УчетнаяЕдиницаИзмерения КАК УчетнаяЕдиницаИзмерения,
   |   НастройкиЕдиницИзмеренияДрагМатериалов.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   НастройкиЕдиницИзмеренияДрагМатериалов.Коэффициент КАК Коэффициент
   |ПОМЕСТИТЬ НастройкиЕдиницИзмерения
   |ИЗ
   |   РегистрСведений.НастройкиЕдиницИзмеренияДрагМатериалов КАК НастройкиЕдиницИзмеренияДрагМатериалов
   |ГДЕ
   |   НастройкиЕдиницИзмеренияДрагМатериалов.ЕдиницаИзмерения = &Граммы
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ЖурналПроводокЕПСБУОстатки.Организация КАК Организация,
   |   ЖурналПроводокЕПСБУОстатки.Субконто1 КАК ОбъектНФА,
   |   ЖурналПроводокЕПСБУОстатки.Субконто2 КАК ЦМО,
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстатокДт КАК Количество
   |ПОМЕСТИТЬ ДанныеОСПоЦМО
   |ИЗ
   |   РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(
   |         &ДатаСведений,
   |         Счет В ИЕРАРХИИ (&МассивСчетовОС),
   |         &МассивСубконтоОС,
   |         Организация = &Организация
   |            И &ПодразделенияНет) КАК ЖурналПроводокЕПСБУОстатки
   |ГДЕ
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстаток > 0
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   МестонахождениеОССрезПоследних.Организация КАК Организация,
   |   МестонахождениеОССрезПоследних.ОсновноеСредство КАК ОсновноеСредство,
   |   МестонахождениеОССрезПоследних.ИнвНомер КАК ИнвНомер,
   |   МестонахождениеОССрезПоследних.ЦМО КАК ЦМО
   |ПОМЕСТИТЬ МестонахождениеОС
   |ИЗ
   |   РегистрСведений.МестонахождениеОС.СрезПоследних(&ДатаСведений, ) КАК МестонахождениеОССрезПоследних
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ЖурналПроводокЕПСБУОстатки.Организация КАК Организация,
   |   ЖурналПроводокЕПСБУОстатки.Субконто1 КАК ОбъектНФА,
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстатокДт КАК КоличествоОстаток
   |ПОМЕСТИТЬ ОстаткиОСНаДату
   |ИЗ
   |   РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(&ДатаСведений, Счет В ИЕРАРХИИ (&МассивСчетовОС), ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконто.ОсновныеСредства), ) КАК ЖурналПроводокЕПСБУОстатки
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   ДанныеОСПоЦМО.Организация КАК Организация,
   |   ДанныеОСПоЦМО.ОбъектНФА КАК ОбъектНФА,
   |   ДанныеОСПоЦМО.ЦМО КАК ЦМО,
   |   ВЫБОР
   |      КОГДА МестонахождениеОС.ИнвНомер ЕСТЬ NULL
   |         ТОГДА ЗНАЧЕНИЕ(Справочник.ИнвентарныеНомераОС.ПустаяСсылка)
   |      ИНАЧЕ МестонахождениеОС.ИнвНомер
   |   КОНЕЦ КАК ИнвНомер,
   |   ВЫБОР
   |      КОГДА МестонахождениеОС.ИнвНомер ЕСТЬ NULL
   |            ИЛИ МестонахождениеОС.ИнвНомер = ЗНАЧЕНИЕ(Справочник.ИнвентарныеНомераОС.ПустаяСсылка)
   |         ТОГДА ДанныеОСПоЦМО.Количество
   |      ИНАЧЕ 1
   |   КОНЕЦ КАК Количество,
   |   ВЫБОР
   |      КОГДА МестонахождениеОС.ИнвНомер ЕСТЬ NULL
   |            ИЛИ МестонахождениеОС.ИнвНомер = ЗНАЧЕНИЕ(Справочник.ИнвентарныеНомераОС.ПустаяСсылка)
   |         ТОГДА NULL
   |      ИНАЧЕ 1
   |   КОНЕЦ КАК ОбщееКоличество
   |ПОМЕСТИТЬ ОстаткиОСПоЦМО
   |ИЗ
   |   ДанныеОСПоЦМО КАК ДанныеОСПоЦМО
   |      ЛЕВОЕ СОЕДИНЕНИЕ МестонахождениеОС КАК МестонахождениеОС
   |      ПО ДанныеОСПоЦМО.Организация = МестонахождениеОС.Организация
   |         И ДанныеОСПоЦМО.ОбъектНФА = МестонахождениеОС.ОсновноеСредство
   |         И ДанныеОСПоЦМО.ЦМО = МестонахождениеОС.ЦМО
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   ОстаткиОСПоЦМО.Организация КАК Организация,
   |   ОстаткиОСПоЦМО.ОбъектНФА КАК ОбъектНФА,
   |   ОстаткиОСПоЦМО.ЦМО КАК ЦМО,
   |   ОстаткиОСПоЦМО.ИнвНомер КАК ИнвНомер,
   |   ОстаткиОСПоЦМО.Количество КАК Количество,
   |   ВЫБОР
   |      КОГДА ОстаткиОСПоЦМО.ОбщееКоличество ЕСТЬ NULL
   |         ТОГДА ОстаткиОСНаДату.КоличествоОстаток
   |      ИНАЧЕ ОстаткиОСПоЦМО.ОбщееКоличество
   |   КОНЕЦ КАК ОбщееКоличество,
   |   &ЕдиницаИзмерения КАК ЕдиницаИзмерения
   |ПОМЕСТИТЬ ИтоговыеДанныеОбОстаткахОС
   |ИЗ
   |   ОстаткиОСПоЦМО КАК ОстаткиОСПоЦМО
   |      ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиОСНаДату КАК ОстаткиОСНаДату
   |      ПО ОстаткиОСПоЦМО.Организация = ОстаткиОСНаДату.Организация
   |         И ОстаткиОСПоЦМО.ОбъектНФА = ОстаткиОСНаДату.ОбъектНФА
   |ГДЕ
   |   ОстаткиОСПоЦМО.ЦМО В(&МассивЦМО)
   |   И ОстаткиОСПоЦМО.Организация = &Организация
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ЖурналПроводокЕПСБУОстатки.Организация КАК Организация,
   |   ЖурналПроводокЕПСБУОстатки.Субконто1 КАК ОбъектНФА,
   |   ЗНАЧЕНИЕ(Справочник.ИнвентарныеНомераОС.ПустаяСсылка) КАК ИнвНомер,
   |   ЖурналПроводокЕПСБУОстатки.Субконто2 КАК ЦМО,
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстатокДт КАК Количество
   |ПОМЕСТИТЬ ДанныеМЗПоЦМО
   |ИЗ
   |   РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(
   |         &ДатаСведений,
   |         Счет В ИЕРАРХИИ (&МассивСчетовМЗ),
   |         &МассивСубконтоМЗ,
   |         Организация = &Организация
   |            И &ПодразделенияНет) КАК ЖурналПроводокЕПСБУОстатки
   |ГДЕ
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстаток > 0
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ЖурналПроводокЕПСБУОстатки.Организация КАК Организация,
   |   ЖурналПроводокЕПСБУОстатки.Субконто1 КАК ОбъектНФА,
   |   ЗНАЧЕНИЕ(Справочник.ИнвентарныеНомераОС.ПустаяСсылка) КАК ИнвНомер,
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстатокДт КАК ОбщееКоличество
   |ПОМЕСТИТЬ ОстаткиМЗ
   |ИЗ
   |   РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(
   |         &ДатаСведений,
   |         Счет В ИЕРАРХИИ (&МассивСчетовМЗ),
   |         ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконто.Номенклатура),
   |         Организация = &Организация
   |            И &ПодразделенияНет) КАК ЖурналПроводокЕПСБУОстатки
   |ГДЕ
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстаток > 0
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |   ЖурналПроводокЕПСБУОстатки.Организация,
   |   ЖурналПроводокЕПСБУОстатки.Субконто1,
   |   ЗНАЧЕНИЕ(Справочник.ИнвентарныеНомераОС.ПустаяСсылка),
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстатокДт
   |ИЗ
   |   РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(&ДатаСведений, Счет В (&МассивСчетовМЗИК), ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконто.Номенклатура), ) КАК ЖурналПроводокЕПСБУОстатки
   |ГДЕ
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстаток > 0
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   ОстаткиМЗ.Организация КАК Организация,
   |   ОстаткиМЗ.ОбъектНФА КАК ОбъектНФА,
   |   ОстаткиМЗ.ИнвНомер КАК ИнвНомер,
   |   СУММА(ОстаткиМЗ.ОбщееКоличество) КАК ОбщееКоличество
   |ПОМЕСТИТЬ ОстаткиМЗИК
   |ИЗ
   |   ОстаткиМЗ КАК ОстаткиМЗ
   |
   |СГРУППИРОВАТЬ ПО
   |   ОстаткиМЗ.Организация,
   |   ОстаткиМЗ.ОбъектНФА,
   |   ОстаткиМЗ.ИнвНомер
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   ДанныеМЗПоЦМО.Организация КАК Организация,
   |   ДанныеМЗПоЦМО.ОбъектНФА КАК ОбъектНФА,
   |   ДанныеМЗПоЦМО.ИнвНомер КАК ИнвНомер,
   |   ДанныеМЗПоЦМО.ЦМО КАК ЦМО,
   |   ДанныеМЗПоЦМО.Количество КАК Количество,
   |   ОстаткиМЗИК.ОбщееКоличество КАК ОбщееКоличество,
   |   ВЫРАЗИТЬ(ДанныеМЗПоЦМО.ОбъектНФА КАК Справочник.Номенклатура).ЕдиницаИзмерения КАК ЕдиницаИзмерения
   |ПОМЕСТИТЬ ИтоговыеДанныеОбОстаткахМЗ
   |ИЗ
   |   ДанныеМЗПоЦМО КАК ДанныеМЗПоЦМО
   |      ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиМЗИК КАК ОстаткиМЗИК
   |      ПО ДанныеМЗПоЦМО.Организация = ОстаткиМЗИК.Организация
   |         И ДанныеМЗПоЦМО.ОбъектНФА = ОстаткиМЗИК.ОбъектНФА
   |         И ДанныеМЗПоЦМО.ИнвНомер = ОстаткиМЗИК.ИнвНомер
   |ГДЕ
   |   ДанныеМЗПоЦМО.ЦМО В(&МассивЦМО)
   |   И ДанныеМЗПоЦМО.Организация = &Организация
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   ИтоговыеДанныеОбОстаткахОС.Организация КАК Организация,
   |   ИтоговыеДанныеОбОстаткахОС.ОбъектНФА КАК ОбъектНФА,
   |   ИтоговыеДанныеОбОстаткахОС.ЦМО КАК ЦМО,
   |   ИтоговыеДанныеОбОстаткахОС.ИнвНомер КАК ИнвНомер,
   |   ИтоговыеДанныеОбОстаткахОС.Количество КАК Количество,
   |   ИтоговыеДанныеОбОстаткахОС.ОбщееКоличество КАК ОбщееКоличество,
   |   ИтоговыеДанныеОбОстаткахОС.ЕдиницаИзмерения КАК ЕдиницаИзмерения
   |ПОМЕСТИТЬ ИтоговыеДанныеМЦ
   |ИЗ
   |   ИтоговыеДанныеОбОстаткахОС КАК ИтоговыеДанныеОбОстаткахОС
   |
   |ОБЪЕДИНИТЬ ВСЕ
   |
   |ВЫБРАТЬ
   |   ИтоговыеДанныеОбОстаткахМЗ.Организация,
   |   ИтоговыеДанныеОбОстаткахМЗ.ОбъектНФА,
   |   ИтоговыеДанныеОбОстаткахМЗ.ЦМО,
   |   ИтоговыеДанныеОбОстаткахМЗ.ИнвНомер,
   |   ИтоговыеДанныеОбОстаткахМЗ.Количество,
   |   ИтоговыеДанныеОбОстаткахМЗ.ОбщееКоличество,
   |   ИтоговыеДанныеОбОстаткахМЗ.ЕдиницаИзмерения
   |ИЗ
   |   ИтоговыеДанныеОбОстаткахМЗ КАК ИтоговыеДанныеОбОстаткахМЗ
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   НаличиеДрагМатериаловВОбъектахНФАОстатки.Организация КАК Организация,
   |   НаличиеДрагМатериаловВОбъектахНФАОстатки.ОбъектНФА КАК ОбъектНФА,
   |   НаличиеДрагМатериаловВОбъектахНФАОстатки.ИнвНомер КАК ИнвНомер,
   |   НаличиеДрагМатериаловВОбъектахНФАОстатки.ВидДрагМатериала КАК ВидДрагМатериала,
   |   НаличиеДрагМатериаловВОбъектахНФАОстатки.ЕдИзм КАК ЕдИзм,
   |   ВЫБОР
   |      КОГДА ЕСТЬNULL(НастройкиЕдиницИзмерения.Коэффициент, 0) <> 0
   |         ТОГДА ВЫРАЗИТЬ(ЕСТЬNULL(НаличиеДрагМатериаловВОбъектахНФАОстатки.МассаДМОстаток, 0) * НастройкиЕдиницИзмерения.Коэффициент КАК ЧИСЛО(17, 8))
   |      ИНАЧЕ ЕСТЬNULL(НаличиеДрагМатериаловВОбъектахНФАОстатки.МассаДМОстаток, 0)
   |   КОНЕЦ КАК МассаДМОстаток,
   |   НаличиеДрагМатериаловВОбъектахНФАОстатки.КоличествоДМОстаток КАК КоличествоДМОстаток,
   |   НастройкиЕдиницИзмерения.Коэффициент КАК Коэффициент
   |ПОМЕСТИТЬ ОстаткиДрагМатериалов
   |ИЗ
   |   РегистрНакопления.НаличиеДрагМатериаловВОбъектахНФА.Остатки(
   |         &ДатаСведений,
   |         Организация = &Организация
   |            И ВидДрагМатериала В (&МассивДрагМеталлов)) КАК НаличиеДрагМатериаловВОбъектахНФАОстатки
   |      ЛЕВОЕ СОЕДИНЕНИЕ НастройкиЕдиницИзмерения КАК НастройкиЕдиницИзмерения
   |      ПО НаличиеДрагМатериаловВОбъектахНФАОстатки.Организация = НастройкиЕдиницИзмерения.Организация
   |         И НаличиеДрагМатериаловВОбъектахНФАОстатки.ЕдИзм = НастройкиЕдиницИзмерения.УчетнаяЕдиницаИзмерения
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   ИтоговыеДанныеМЦ.ОбъектНФА КАК ОбъектНФА,
   |   ИтоговыеДанныеМЦ.ИнвНомер КАК ИнвентарныйНомер,
   |   ИтоговыеДанныеМЦ.Количество КАК Количество,
   |   ИтоговыеДанныеМЦ.ОбщееКоличество КАК ОбщееКоличество,
   |   ИтоговыеДанныеМЦ.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   ОстаткиДрагМатериалов.ВидДрагМатериала КАК ВидДрагМатериала,
   |   ОстаткиДрагМатериалов.ЕдИзм КАК ЕдиницаИзмеренияДрагМатериала,
   |   ОстаткиДрагМатериалов.МассаДМОстаток КАК ОбщаяМассаДМОстаток,
   |   ОстаткиДрагМатериалов.КоличествоДМОстаток КАК ОбщееКоличествоДМОстаток,
   |   ВЫРАЗИТЬ((ВЫРАЗИТЬ(ОстаткиДрагМатериалов.МассаДМОстаток КАК ЧИСЛО(17, 8))) * (ВЫРАЗИТЬ(ИтоговыеДанныеМЦ.Количество КАК ЧИСЛО(17, 8))) / (ВЫРАЗИТЬ(ИтоговыеДанныеМЦ.ОбщееКоличество КАК ЧИСЛО(17, 8))) КАК ЧИСЛО(17, 8)) КАК МассаДМУчет,
   |   ВЫРАЗИТЬ((ВЫРАЗИТЬ(ОстаткиДрагМатериалов.КоличествоДМОстаток КАК ЧИСЛО(17, 8))) * (ВЫРАЗИТЬ(ИтоговыеДанныеМЦ.Количество КАК ЧИСЛО(17, 8))) / (ВЫРАЗИТЬ(ИтоговыеДанныеМЦ.ОбщееКоличество КАК ЧИСЛО(17, 8))) КАК ЧИСЛО(17, 0)) КАК КоличествоДМУчет
   |ПОМЕСТИТЬ ДанныеПоДМ
   |ИЗ
   |   ИтоговыеДанныеМЦ КАК ИтоговыеДанныеМЦ
   |      ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиДрагМатериалов КАК ОстаткиДрагМатериалов
   |      ПО ИтоговыеДанныеМЦ.Организация = ОстаткиДрагМатериалов.Организация
   |         И ИтоговыеДанныеМЦ.ОбъектНФА = ОстаткиДрагМатериалов.ОбъектНФА
   |         И ИтоговыеДанныеМЦ.ИнвНомер = ОстаткиДрагМатериалов.ИнвНомер
   |ГДЕ
   |   ОстаткиДрагМатериалов.МассаДМОстаток > 0
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |   ДанныеПоДМ.ОбъектНФА КАК ОбъектНФА,
   |   ДанныеПоДМ.ИнвентарныйНомер КАК ИнвентарныйНомер,
   |   СУММА(ДанныеПоДМ.Количество) КАК Количество,
   |   СУММА(ДанныеПоДМ.ОбщееКоличество) КАК ОбщееКоличество,
   |   ДанныеПоДМ.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
   |   ДанныеПоДМ.ВидДрагМатериала КАК ВидДрагМатериала,
   |   ДанныеПоДМ.ЕдиницаИзмеренияДрагМатериала КАК ЕдиницаИзмеренияДрагМатериала,
   |   СУММА(ДанныеПоДМ.ОбщаяМассаДМОстаток) КАК ОбщаяМассаДМОстаток,
   |   СУММА(ДанныеПоДМ.ОбщееКоличествоДМОстаток) КАК ОбщееКоличествоДМОстаток,
   |   СУММА(ДанныеПоДМ.МассаДМУчет) КАК МассаДМУчет,
   |   СУММА(ДанныеПоДМ.КоличествоДМУчет) КАК КоличествоДМУчет
   |ИЗ
   |   ДанныеПоДМ КАК ДанныеПоДМ
   |
   |СГРУППИРОВАТЬ ПО
   |   ДанныеПоДМ.ОбъектНФА,
   |   ДанныеПоДМ.ИнвентарныйНомер,
   |   ДанныеПоДМ.ЕдиницаИзмерения,
   |   ДанныеПоДМ.ВидДрагМатериала,
   |   ДанныеПоДМ.ЕдиницаИзмеренияДрагМатериала";   



         
   МассивСчетовОС = УчетДрагМатериалов.ПолучитьМассивСчетовДМДляОС();
   МассивСчетовОС = УчетДрагМатериалов.ДополнитьМассивСчетовДМДляМЦ(Объект.Организация, МассивСчетовОС, "Основные средства");
   
   МассивСчетовМЗ = УчетДрагМатериалов.ПолучитьМассивСчетовДМДляМЗ();
   МассивСчетовМЗ = УчетДрагМатериалов.ДополнитьМассивСчетовДМДляМЦ(Объект.Организация, МассивСчетовМЗ, "Номенклатура");
   МассивСчетовМЗИК = УчетДрагМатериалов.ПолучитьМассивСчетовДМДляМЗИК();
   
   МассивСубконтоОС = Новый Массив;
   МассивСубконтоОС.Добавить(ПланыВидовХарактеристик.ВидыСубконто.ОсновныеСредства);
   МассивСубконтоОС.Добавить(ПланыВидовХарактеристик.ВидыСубконто.ЦМО);

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

   
   ТипДМ = Перечисления.ТипыДрагМатериалов.ДрагоценныеМеталлы;
   МассивДрагМеталлов = УчетДрагМатериалов.МассивДрагМатериалов(ТипДМ);
   
   Если ЗначениеЗаполнено(Объект.Подразделение) Тогда
      Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ПодразделенияНет", "Подразделение = &Подразделение");
      Запрос.УстановитьПараметр("Подразделение",   Объект.Подразделение);
   Иначе
      Запрос.УстановитьПараметр("ПодразделенияНет",   Истина);
   КонецЕсли;
   
   Запрос.УстановитьПараметр("ДатаСведений",       Новый Граница(КонецДня(Объект.Дата), ВидГраницы.Включая));
   Запрос.УстановитьПараметр("Организация",      Объект.Организация);
   Запрос.УстановитьПараметр("ЕдиницаИзмерения",   УчетДрагМатериалов.Штуки());
   Запрос.УстановитьПараметр("МассивЦМО",         МассивЦМО);
   Запрос.УстановитьПараметр("МассивСчетовОС",      МассивСчетовОС);
   Запрос.УстановитьПараметр("МассивСчетовМЗ",      МассивСчетовМЗ);
   Запрос.УстановитьПараметр("МассивСчетовМЗИК",   МассивСчетовМЗИК);
   Запрос.УстановитьПараметр("МассивСубконтоОС",   МассивСубконтоОС);
   Запрос.УстановитьПараметр("МассивСубконтоМЗ",   МассивСубконтоМЗ);
   Запрос.УстановитьПараметр("МассивДрагМеталлов",   МассивДрагМеталлов);
   Запрос.УстановитьПараметр("Граммы",            УчетДрагМатериалов.Граммы());
   //Запрос.УстановитьПараметр("НакладыватьОтборПоГруппе",            ?(ЗначениеЗаполнено(Объект.ГруппаНФА), Истина, Ложь));
   //Запрос.УстановитьПараметр("ЗначенияДляОтбораПоГруппе",            Объект.ГруппаНФА);

   
   РезультатЗапроса = Запрос.Выполнить();
   Объект.Инвентаризация.Загрузить(РезультатЗапроса.Выгрузить());

   
КонецПроцедуры

Пример "волшебного кусочка" для запроса:
                    |   И ВЫБОР
                    |         КОГДА &НакладыватьОтборПоГруппе
                    |            ТОГДА ВложенныйЗапрос.ОсновноеСредство В ИЕРАРХИИ (&ЗначенияДляОтбораПоГруппе)
                    |         ИНАЧЕ ИСТИНА
                    |      КОНЕЦ

P.S. Я понимаю, что по идее это должно быть очень легко, но, к сожалению, я ещё не до конца врубился во всё это...
Заранее огромное спасибо!

LexaK

да в общем просто все, там где получаете свои ОС (первым запросом) там и ставьте отбор

   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ЖурналПроводокЕПСБУОстатки.Организация КАК Организация,
   |   ЖурналПроводокЕПСБУОстатки.Субконто1 КАК ОбъектНФА,
   |   ЖурналПроводокЕПСБУОстатки.Субконто2 КАК ЦМО,
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстатокДт КАК Количество
   |ПОМЕСТИТЬ ДанныеОСПоЦМО
   |ИЗ
   |   РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(
   |         &ДатаСведений,
   |         Счет В ИЕРАРХИИ (&МассивСчетовОС),
   |         &МассивСубконтоОС,
   |         Организация = &Организация
   |            И &ПодразделенияНет) КАК ЖурналПроводокЕПСБУОстатки
   |ГДЕ
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстаток > 0
   |   И ВЫБОР
   |         КОГДА &НакладыватьОтборПоГруппе
   |            ТОГДА ЖурналПроводокЕПСБУОстатки.Субконто1 В ИЕРАРХИИ (&ЗначенияДляОтбораПоГруппе)
   |         ИНАЧЕ ИСТИНА
   |      КОНЕЦ
  |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |...
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ЖурналПроводокЕПСБУОстатки.Организация КАК Организация,
   |   ЖурналПроводокЕПСБУОстатки.Субконто1 КАК ОбъектНФА,
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстатокДт КАК КоличествоОстаток
   |ПОМЕСТИТЬ ОстаткиОСНаДату
   |ИЗ
   |   РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(&ДатаСведений, Счет В ИЕРАРХИИ (&МассивСчетовОС), ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконто.ОсновныеСредства), ) КАК ЖурналПроводокЕПСБУОстатки
   |   И ВЫБОР
   |         КОГДА &НакладыватьОтборПоГруппе
   |            ТОГДА ЖурналПроводокЕПСБУОстатки.Субконто1 В ИЕРАРХИИ (&ЗначенияДляОтбораПоГруппе)
   |         ИНАЧЕ ИСТИНА
   |      КОНЕЦ
   |;
если помогло нажмите: Спасибо!

Elfidor

Цитата: LexaK от 11 ноя 2019, 13:25
да в общем просто все, там где получаете свои ОС (первым запросом) там и ставьте отбор

   |ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ЖурналПроводокЕПСБУОстатки.Организация КАК Организация,
   |   ЖурналПроводокЕПСБУОстатки.Субконто1 КАК ОбъектНФА,
   |   ЖурналПроводокЕПСБУОстатки.Субконто2 КАК ЦМО,
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстатокДт КАК Количество
   |ПОМЕСТИТЬ ДанныеОСПоЦМО
   |ИЗ
   |   РегистрБухгалтерии.ЖурналПроводокЕПСБУ.Остатки(
   |         &ДатаСведений,
   |         Счет В ИЕРАРХИИ (&МассивСчетовОС),
   |         &МассивСубконтоОС,
   |         Организация = &Организация
   |            И &ПодразделенияНет) КАК ЖурналПроводокЕПСБУОстатки
   |ГДЕ
   |   ЖурналПроводокЕПСБУОстатки.КоличествоОстаток > 0
   |   И ВЫБОР
   |         КОГДА &НакладыватьОтборПоГруппе
   |            ТОГДА ЖурналПроводокЕПСБУОстатки.Субконто1 В ИЕРАРХИИ (&ЗначенияДляОтбораПоГруппе)
   |         ИНАЧЕ ИСТИНА
   |      КОНЕЦ
  |;
   |

Спасибо огромное! Всё заработало, но появилась такая проблема, что когда "подразделение" на форме выбрано - ничего не работает, связано с тем, что результат запроса пустой (там дальше в коде есть замена текста запроса, так что дело явно не в "&ПодразделенияНет"). Проверял через консоль - "поле ЖурналПроводокЕПСБУОстатки.Субконто2 КАК ЦМО не найдено". То есть все параметры запроса встают на свои места, но в сам результат не заходят. Не знаете с чем это может быть связано?
P.S. Все разработки ведутся в расширении, т.к. конфа на замке

Теги:

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

Рейтинг@Mail.ru

Поиск