0

Построение запроса из регистра бухгалтерии

#1С 8.2#1С Бухгалтерия

Добрый день. У элементов справочника ОсновныеСредства есть вкладка “Драгметаллы”. Нужно на основании остатков основных средств из РегистраБухгалтерии.Хозрасчетный получить отчёт вида:

Подразделение 100   золото 10
                            серебро 15
                            платина 0,3
                            МПГ 1,2

И так по каждому подразделению. Запрос был следующий:

"ВЫБРАТЬ
                          | ХозрасчетныйОстатки.Субконто1.ДИТ_ДрагоценныеМеталлы.(
                          |     Ссылка,
                          |     ВидМеталла,
                          |     ВесГраммы
                          | )
                          |ИЗ
                          | РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
                  |ГДЕ
                          | ХозрасчетныйОстатки.Подразделение = &Подразделение"

Но 1С ругается из-за обращения к вложенной таблице через поле составного типа. В этом отчёте уже есть другой запрос, но он выводит остатки по контрагентам, а не подразделениям. Да и он слишком сложен для такого небольшого отчёта, хотелось бы сделать попроще. Возможно ли это? Как всё-таки можно получить итоговую сумму по металлам? Вполне возможно, что я не понимаю полностью имеющийся запрос и вообще не из тех мест пытаюсь что-то достать. Заранее спасибо! Текст имеющегося запроса:

"ВЫБРАТЬ
    |   ДанныеДМ.ОбъектУчета КАК ОбъектУчета,
    |   ПОДСТРОКА(ДанныеДМ.ОбъектУчета.НаименованиеПолное, 1, 300) КАК Наименование,
    |   ВЫБОР
    |       КОГДА ДанныеДМ.ВидМеталла = ЗНАЧЕНИЕ(Перечисление.ДИТ_ВидыДрагоценныхМеталлов.Золото)
    |           ТОГДА ""175001""
    |       КОГДА ДанныеДМ.ВидМеталла = ЗНАЧЕНИЕ(Перечисление.ДИТ_ВидыДрагоценныхМеталлов.Серебро)
    |           ТОГДА ""175002""
    |       КОГДА ДанныеДМ.ВидМеталла = ЗНАЧЕНИЕ(Перечисление.ДИТ_ВидыДрагоценныхМеталлов.Платина)
    |           ТОГДА ""175003""
    |       КОГДА ДанныеДМ.ВидМеталла = ЗНАЧЕНИЕ(Перечисление.ДИТ_ВидыДрагоценныхМеталлов.МеталлыПлатиновойГруппы)
    |           ТОГДА ""175004""
    |   КОНЕЦ КАК КодОКП,
    |   ДанныеДМ.Количество КАК МассаГраммы,
    |   ДанныеДМ.МОЛ КАК МОЛ,
    |   ДанныеДМ.Подразделение,
    |   ДанныеДМ.ТипОбъектаУчета,
    |   ДанныеДМ.ИнвентарныйНомер КАК ИнвентарныйНомер,
    |   ДанныеДМ.КоличествоОстаток,
    |   ДанныеДМ.ЗаводскойНомер КАК ЗаводскойНомер,
    |   ДанныеДМ.НомерПаспорта КАК НомерПаспорта,
    |   ДанныеДМ.ДатаВыпуска КАК ДатаВыпуска,
    |   ДанныеДМ.КодЕИ КАК КодЕИ,
    |   ДанныеДМ.ЕИ КАК ЕИ
    |ИЗ
    |   (ВЫБРАТЬ
    |       ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка КАК ОбъектУчета,
    |       ОсновныеСредстваДИТ_ДрагоценныеМеталлы.ВидМеталла КАК ВидМеталла,
    |       СУММА(ВЫБОР
    |               КОГДА ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Чистота = 0
    |                   ТОГДА ОсновныеСредстваДИТ_ДрагоценныеМеталлы.ВесГраммы
    |               ИНАЧЕ ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Чистота * ОсновныеСредстваДИТ_ДрагоценныеМеталлы.ВесГраммы
    |           КОНЕЦ) КАК Количество,
    |       МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ КАК МОЛ,
    |       МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение КАК Подразделение,
    |       ""Основные средства"" КАК ТипОбъектаУчета,
    |       ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ИнвентарныйНомер КАК ИнвентарныйНомер,
    |       1 КАК КоличествоОстаток,
    |       ПОДСТРОКА(ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка.ЗаводскойНомер, 1, 300) КАК ЗаводскойНомер,
    |       ПОДСТРОКА(ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка.НомерПаспорта, 1, 300) КАК НомерПаспорта,
    |       ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка.ДатаВыпуска КАК ДатаВыпуска,
    |       ""796"" КАК КодЕИ,
    |       ""шт"" КАК ЕИ
    |   ИЗ
    |       РегистрБухгалтерии.Хозрасчетный.Остатки(
    |               &ДатаКон,
    |               ,
    |               ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.ОсновныеСредства),
    |               Организация = &Организация
    |                   И Субконто1.ДИТ_СодержитДрагоценныеМеталлы) КАК ХозрасчетныйОстатки
    |           ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ОсновныеСредства.ДИТ_ДрагоценныеМеталлы КАК ОсновныеСредстваДИТ_ДрагоценныеМеталлы
    |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&ДатаКон, ) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних
    |               ПО ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка = МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство
    |               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОСБухгалтерскийУчет.СрезПоследних(&ДатаКон, ) КАК ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних
    |               ПО ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка = ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство
    |           ПО ХозрасчетныйОстатки.Субконто1 = ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка
    |   ГДЕ
    |       ХозрасчетныйОстатки.СуммаОстатокДт > 0
    |
    |   СГРУППИРОВАТЬ ПО
    |       ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка,
    |       ОсновныеСредстваДИТ_ДрагоценныеМеталлы.ВидМеталла,
    |       МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ,
    |       МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение,
    |       ПервоначальныеСведенияОСБухгалтерскийУчетСрезПоследних.ИнвентарныйНомер,
    |       ПОДСТРОКА(ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка.ЗаводскойНомер, 1, 300),
    |       ПОДСТРОКА(ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка.НомерПаспорта, 1, 300),
    |       ОсновныеСредстваДИТ_ДрагоценныеМеталлы.Ссылка.ДатаВыпуска
    |
    |   ОБЪЕДИНИТЬ ВСЕ
    |
    |   ВЫБРАТЬ
    |       НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка,
    |       НоменклатураДИТ_ДрагоценныеМеталлы.ВидМеталла,
    |       СУММА(ВЫБОР
    |               КОГДА НоменклатураДИТ_ДрагоценныеМеталлы.Чистота = 0
    |                   ТОГДА НоменклатураДИТ_ДрагоценныеМеталлы.ВесГраммы
    |               ИНАЧЕ НоменклатураДИТ_ДрагоценныеМеталлы.Чистота * НоменклатураДИТ_ДрагоценныеМеталлы.ВесГраммы
    |           КОНЕЦ * ХозрасчетныйОстатки.КоличествоОстаток),
    |       ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка),
    |       ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка),
    |       ""Материалы"",
    |       """",
    |       ХозрасчетныйОстатки.КоличествоОстаток,
    |       """",
    |       """",
    |       """",
    |       НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка.БазоваяЕдиницаИзмерения.Код,
    |       НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка.БазоваяЕдиницаИзмерения.Наименование
    |   ИЗ
    |       РегистрБухгалтерии.Хозрасчетный.Остатки(
    |               &ДатаКон,
    |               ,
    |               ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура),
    |               Организация = &Организация
    |                   И Субконто1.ДИТ_СодержитДрагоценныеМеталлы) КАК ХозрасчетныйОстатки
    |           ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДИТ_ДрагоценныеМеталлы КАК НоменклатураДИТ_ДрагоценныеМеталлы
    |           ПО ХозрасчетныйОстатки.Субконто1 = НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка
    |   ГДЕ
    |       НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка.ДИТ_СодержитДрагоценныеМеталлы
    |       И (НЕ НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка.ПометкаУдаления)
    |       И ХозрасчетныйОстатки.КоличествоОстаток > 0
    |
    |   СГРУППИРОВАТЬ ПО
    |       НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка,
    |       НоменклатураДИТ_ДрагоценныеМеталлы.ВидМеталла,
    |       ХозрасчетныйОстатки.КоличествоОстаток,
    |       НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка.БазоваяЕдиницаИзмерения.Код,
    |       НоменклатураДИТ_ДрагоценныеМеталлы.Ссылка.БазоваяЕдиницаИзмерения.Наименование) КАК ДанныеДМ
    |ИТОГИ
    |   СУММА(МассаГраммы),
    |   МИНИМУМ(МОЛ),
    |   МИНИМУМ(ИнвентарныйНомер),
    |   МИНИМУМ(ЗаводскойНомер),
    |   МИНИМУМ(НомерПаспорта),
    |   МИНИМУМ(ДатаВыпуска),
    |   МИНИМУМ(КодЕИ),
    |   МИНИМУМ(ЕИ)
    |ПО
    |   ОБЩИЕ,
    |   ОбъектУчета,
    |   КодОКП"
 772 1
Добавленоgamograff290 дней назад
Последняя активность280 дней назад


Добавить комментарий

Кирилл написал:289 дней назад0

Доброго дня!

Запрос большой не осилил, логики до конца не понял, данных не видел :)

Но по вашей проблеме всё просто:

  1. Получите табличные части всех элементов справочников ОС и поместите во временную таблицу
  2. Следующим подзапросом получите просто список всех драгметаллов по подразделениям и соедините с таблицей из пункта 1.
  3. Не знаю как вы выводите отчет, скорее всего в СКД. Поэтому там не возникнет проблем сгруппировать полученную таблицу по подразделениям.

Ответить

Задать вопрос!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

1С 8.2: Ошибка при вызове метода контекста (Выполнить) Ожидается выражение "ВЫБРАТЬ"

Всем привет. Помогите пожалуйста!!!!!!!!!!!!!!! Выдает ошибку. Была пропущена т...

Проблема с расчетом себестоимости в УТ 11.1.10.131

Добрый день, помогите пожалуйста разобраться с проблемой. При закрытии месяца вы...

Динамический список

Добрый день! В бухгалтерии 3 необходимо сделать вывод дополнительной колонки в ...

Если нет разницы!!Зачем тогда Условие В ВТ? Или все таки разница ЕСТЬ!!!!!

Привет. Пожалуйста подскажите! И ТАК ВОПРОС: В параметрах виртуальной таблицы ...

Запрос к регистру накопления выводит двойные записи

Добрый день. Из регистра накопления требуется выбрать начальный, конечный остатк...

Новое

"Наряд на хозтранспорт и спецтехнику" Путевые листы

Здравствуйте, Форумчане, прошу вашего совета. В организации такая ситуация: ест...

Создание обработки

Помогите с задачей. Суть такова - нужно создать внешнею обработку которая будет ...

Заполнение раздела 3 Расчет налоговой базы Книги доходов и расходов

Добрый день! Меня зовут Наталья. Про заполнение Кудир в КА очень все хорошо пишу...

Розница 2.2.4 пропал "отчёт ДС по платёжным картам"?

Здравствуйте, возникла проблема после обновления конфигурации до 2.2.4.33 пропал...

Перенаправления значений

1С:Предприятие 8.2 (8.2.19.130) Зарплата и Управление Персоналом, редакция 2.5 (...