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

РегистрНакопления.Остатки - выборка всех записей?

Автор |R|U|D|E|N, 13 апр 2011, 11:40

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

|R|U|D|E|N

Добрый день.

У меня есть РегистрНакопления "ОстаткиОборудования" в этом регистре есть 3-и измирения "Поставщик", "SN", "Оборудование", один ресурс "Количество" и несколько реквизитов "ДопИнфо", "Диагноз"

Подскажите пожалуйста, как мне построить отчет, что бы видеть кроме остатков еще и данные Реквизитов?

В СКД я создаю два запроса; 1-й к ОстаткиОборудования.Остатки и второй к ОстаткиОборудования а потом делаю связь между этими запросами по перечисленным выше измирениям.
Все это работает до тех пор пока в регистре есть только одна запись с такими Измирениями. Как только появляется еще одна запись, то в отчете выводятся данные из всех Реквизитов соответствующих этим измирениям.

Мне же надо, чтоб из регистра выберались только данные реквизитов соответствующих этой конкретной записи которая сейчас на остатках.


С уважением, Александр.

cska-fanat-kz

Путаете назначение таблиц: основной и остатков.

1. В основной таблице хранятся все движения по регистру
2. В таблице остатков - итоги(!!!) актуальные и за период. То есть в этой таблице обобщенные данные по всем записям! Соответственно данных реквизитов в этой таблице тут не будет в принципе.

Вашу задачу можно решать несколькими способами:
1. Перевести интересующий Реквизит в Измерение. Делать очень осторожно и осмысленно, потому что в разрезе этого нового измерения также начнут считаться остатки.
2. Через соединение с основной таблицей. Только потом группировку придется делать (?)...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

|R|U|D|E|N

cska-fanat-kz я же и писал выше, что я получаю остатки из Остатков а дополнительные данные из Основной таблицы и потом делаю связь этих таблиц...
я понимаю отличия...

а как должна выполняться эта групперовка? Это должен быть один запрос к 2-м таблицам в рамках одного набора данных? или это могут быть разные наборы данных?

|R|U|D|E|N

Добавление еще одного измерения мне не подходит тк необходимые данные у меня текстовые "ДопИнфо", "Диагноз" и в каждом документе разные!

cska-fanat-kz

Нормально соединить основную таблицу с таблицей остатков получится только в том случае если у записей с одинаковыми значениями измерений значения реквизитов также одинаковы.
При любом нарушении этого условия - будут появляться дополнительные строки и ничего вы с ними не сделаете. При выполнении условия - соединяем таблицу остатков со сгруппированной основной таблицей (поля выбираем следующие: выбираем измерения по которым будем соединяться с таблицей остатков и необходимые реквизиты).

Пример:

ВЫБРАТЬ
   ВзаиморасчетыСРаботникамиОрганизаций.Аванс,
   ВзаиморасчетыСРаботникамиОрганизаций.СпособВыплаты,
   ВзаиморасчетыСРаботникамиОрганизаций.Физлицо
ПОМЕСТИТЬ ВТ_ОснТаб
ИЗ
   РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций

СГРУППИРОВАТЬ ПО
   ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
   ВзаиморасчетыСРаботникамиОрганизаций.Аванс,
   ВзаиморасчетыСРаботникамиОрганизаций.СпособВыплаты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВТ_ОснТаб.Физлицо,
   ВТ_ОснТаб.СпособВыплаты,
   ВТ_ОснТаб.Аванс,
   ВзаиморасчетыСРаботникамиОрганизацийОстатки.СуммаВзаиморасчетовОстаток
ИЗ
   ВТ_ОснТаб КАК ВТ_ОснТаб
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки КАК ВзаиморасчетыСРаботникамиОрганизацийОстатки
      ПО ВТ_ОснТаб.Физлицо = ВзаиморасчетыСРаботникамиОрганизацийОстатки.Физлицо
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

***Vjacheslav***

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

|R|U|D|E|N

cska-fanat-kz спасибо Вам за код. Вроде понял как оно должно быть)

Я так понемаю, что подобное не осуществить с помощью конструктора в СКД? Нужно будет дописывать руками?

cska-fanat-kz

весь вышеприведенный код можно и в конструкторе собрать...

что в принципе я и сделал в консоли запросов ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск