|
Помогите с запрос | ☑ | ||
---|---|---|---|---|
0
Den_B12
29.05.13
✎
14:07
|
Всем привет.
Бухгалтерия предприятия, редакция 2.0 (2.0.46.8) Помогите плиз с запросиком... Итак, запрос к остаткам на указанных счетах, выбираю нужны данные: Запрос = Новый Запрос; Счета = Новый Массив; Счета.Добавить(ПланыСчетов.Хозрасчетный.СпецодеждаВЭксплуатацииВспомогательный); Счета.Добавить(ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации); Запрос.УстановитьПараметр("Счета", Счета); ВидСубконто = Новый Массив; ВидСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура); ВидСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПартииМатериаловВЭксплуатации); ВидСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РаботникиОрганизаций); Запрос.УстановитьПараметр("ВидСубконто", ВидСубконто); Запрос.УстановитьПараметр("ДатаСведений", ДатаСведений); Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1.Родитель, | ХозрасчетныйОстатки.Субконто1.Наименование, | ХозрасчетныйОстатки.Субконто1.БазоваяЕдиницаИзмерения, | ХозрасчетныйОстатки.Субконто1.НаименованиеПолное, | ХозрасчетныйОстатки.Субконто2.Дата, | ХозрасчетныйОстатки.Субконто3.Наименование |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, Счет В (&Счета), &ВидСубконто, ) КАК ХозрасчетныйОстатки"; Теперь нужно добавить для каждой номенклатуры поле, которое будет содержать информацию о значениях дополнительных реквизитов (их у нас пока два) справочника Номенклатура (значения содержатся в регистре сведений ЗначенияСвойствОбъектов) Можно как-нибудь выдернуть эти данные и засунуть их в новое поле? |
|||
1
mikecool
29.05.13
✎
14:08
|
да, левое соединение с регистром
|
|||
2
Aprobator
29.05.13
✎
14:11
|
только геморно это довольно без СКД.
|
|||
3
Aprobator
29.05.13
✎
14:12
|
хотя, если пока только два - то можно, вот когда все приспичит, тогда будет веселее.
|
|||
4
Den_B12
29.05.13
✎
15:16
|
(1) это понятно
но по две строчки получается для каждой номенклатуры... Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1.Родитель, | ХозрасчетныйОстатки.Субконто1.Наименование, | ХозрасчетныйОстатки.Субконто1.БазоваяЕдиницаИзмерения, | ХозрасчетныйОстатки.Субконто1.НаименованиеПолное, | ХозрасчетныйОстатки.Субконто2.Дата, | ХозрасчетныйОстатки.Субконто3.Наименование, | ЗначенияСвойствОбъектов.Значение, | ЗначенияСвойствОбъектов.Свойство |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, Счет В (&Счета), &ВидСубконто, ) КАК ХозрасчетныйОстатки | ПО ХозрасчетныйОстатки.Субконто1 = ЗначенияСвойствОбъектов.Объект"; А нужно чтобы запись по номенклатуре была одна, но было поле (типа таблицы значения) в котором бы и выводились все значения и свойства для этой номенклатуры. |
|||
5
Aprobator
29.05.13
✎
16:17
|
(4) левое соединение нефига не в ту сторону. И чтобы было по одной строчке, соединений должно быть по количеству требуемых свойств.
|
|||
6
Den_B12
03.06.13
✎
08:56
|
(5) тьфу ты, ошибся, действительно не в ту сторону.
Поясните плиз про "соединений должно быть по количеству требуемых свойств", это как? |
|||
7
Den_B12
03.06.13
✎
09:18
|
Вот так тоже в две строчки получается. Народ подскажите как быть.
Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1.Родитель, | ХозрасчетныйОстатки.Субконто1.Наименование, | ХозрасчетныйОстатки.Субконто1.БазоваяЕдиницаИзмерения, | ХозрасчетныйОстатки.Субконто1.НаименованиеПолное, | ХозрасчетныйОстатки.Субконто2.Дата, | ХозрасчетныйОстатки.Субконто3.Наименование, | ВЫБОР | КОГДА ЗначенияСвойствОбъектов.Свойство.Наименование = ""Инвентарный номер"" | ТОГДА ЗначенияСвойствОбъектов.Значение | КОНЕЦ КАК ИнвентарныйНомер, | ВЫБОР | КОГДА ЗначенияСвойствОбъектов.Свойство.Наименование = ""Заводской номер"" | ТОГДА ЗначенияСвойствОбъектов.Значение | КОНЕЦ КАК ЗаводскойНомер |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаСведений, Счет В (&Счета), &ВидСубконто, ) КАК ХозрасчетныйОстатки | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО ХозрасчетныйОстатки.Субконто1 = ЗначенияСвойствОбъектов.Объект"; |
|||
8
Aprobator
03.06.13
✎
10:58
|
(7) если так, то ГРУППИРОВКА по полям кроме ВЫБОР КОГДА и МАКСИМУМ(ВЫБОР ....
|
|||
9
Aprobator
03.06.13
✎
10:59
|
(8) + и добавь условие на свойства для РС. Чтобы все подряд не тащилось.
|
|||
10
viktor_vv
03.06.13
✎
11:04
|
|Выбрать ЗначенияСвойствОбъектов1.ЗначениеСвойства КАК Значение1,
|Выбрать ЗначенияСвойствОбъектов2.ЗначениеСвойства КАК Значение2, | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов1 | ПО ХозрасчетныйОстатки.Субконто1 = ЗначенияСвойствОбъектов1.Объект И ЗначенияСвойствОбъектов1.Свойство = &Свойство1 | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов2 | ПО ХозрасчетныйОстатки.Субконто1 = ЗначенияСвойствОбъектов2.Объект И ЗначенияСвойствОбъектов2.Свойство = &Свойство2"; |
|||
11
viktor_vv
03.06.13
✎
11:10
|
(10)*
"ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1.Родитель, | ХозрасчетныйОстатки.Субконто1.Наименование, |ЗначенияСвойствОбъектов1.ЗначениеСвойства КАК Значение1, |ЗначенияСвойствОбъектов2.ЗначениеСвойства КАК Значение2, |
|||
12
Den_B12
03.06.13
✎
11:30
|
(8) ни по какому полю не дает добавить группировку. Пишет "Недопустимое поле для группировки Субконто1НаименованиеПолное"... Хотя этого поля в группировку не добавлено
|
|||
13
Den_B12
03.06.13
✎
11:59
|
(11) емае, так просто. Большое вам человеческое спасибо!!!
|
|||
14
Aprobator
03.06.13
✎
13:07
|
(12) там строка неограниченной длины, потому и пишет. ВЫРАЗИТЬ(... КАК ... ) решило бы проблему.
|
|||
15
Aprobator
03.06.13
✎
13:08
|
(10)(11) собственно, что я и имел ввиду.
|
|||
16
Den_B12
03.06.13
✎
13:23
|
Всем еще раз спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |