|
Отобрать 2 значение | ☑ | ||
---|---|---|---|---|
0
universal23
14.02.13
✎
11:48
|
Добрый день форумчани!
Помогите подправить запрос. В РегистрСведений.ЗначенияСвойствОбъектов есть список, Объект(Контрагент), Свойства(Отбор по "Конец ключей УСЦ",), Значение(Дата). Сначало нужно перебрать те контрогенты у котор. Значение<=СсылкаНаОбъект.Дата. Потом выяснить сколько у этого контрагента кол-во ключей в Свойства(отобрать по "Количество ключей") и получить значение- Как эта сделать? //перебирает всех контрагентов, если он находит Значение<=СсылкаНаОбъект.Дата и кол-во ключей, то цикл прерывается КонецКлючей=ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Конец ключей УСЦ"); КоличествоКлючей=ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Количество ключей"); ДатаПланаПродаж=СсылкаНаОбъект.Дата; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект КАК Контрагент, | ЗначенияСвойствОбъектов.Свойство, | ЗначенияСвойствОбъектов.Значение КАК Инфо |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Свойство = &Ключи |И ЗначенияСвойствОбъектов.Значение <= &ДатаПланаПродаж"; Запрос.УстановитьПараметр("Ключи", КонецКлючей.ссылка); Запрос.УстановитьПараметр("ДатаПланаПродаж", ДатаПланаПродаж); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Запрос.УстановитьПараметр("Ключи", КоличествоКлючей); Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); КолКлючей=Выборка.Инфо; .... КонецЦикла; //////////////////\\\\\\\\\\\\\\\\\\\\\ Вот второй запрос пытался сделать, тоже не получилась, он считает Свойство(КоличествоКлючей) сколько у контрагентов всего заполнен Значение; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект КАК Контрагент, | КОЛИЧЕСТВО(ЗначенияСвойствОбъектов.Значение) КАК инфо |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов, | (ВЫБРАТЬ | ЗначенияСвойствОбъектов.Значение | ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ГДЕ | ЗначенияСвойствОбъектов.Свойство = &КоличествоКлючей)как КоличествоКлючей |ГДЕ | ЗначенияСвойствОбъектов.Свойство = &Ключи | И ЗначенияСвойствОбъектов.Значение <= &ДатаПланаПродаж |СГРУППИРОВАТЬ ПО ЗначенияСвойствОбъектов.Объект | "; Запрос.УстановитьПараметр("Ключи", КонецКлючей.ссылка); Запрос.УстановитьПараметр("ДатаПланаПродаж", ДатаПланаПродаж); Запрос.УстановитьПараметр("КоличествоКлючей", КоличествоКлючей); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() цикл КолКлючей=Выборка.инфо; .... КонецЦикла; |
|||
1
universal23
14.02.13
✎
14:10
|
никто не знает ?
|
|||
2
universal23
18.02.13
✎
11:27
|
помогите пожалуйста написать запрос
|
|||
3
Godofsin
18.02.13
✎
11:30
|
Вот чессна тебе скажу - нихера не понял.
а запросы сжечь |
|||
4
Reset
18.02.13
✎
11:33
|
не только запросы...
Пока Выборка.Следующий() Цикл Выборка = Запрос.Выполнить().Выбрать(); КонецЦикла; |
|||
5
Reset
18.02.13
✎
11:35
|
(4) Хотя это работоспособная конструкция, в теории,хм. Просто выглядит дико просто
|
|||
6
Галахад
гуру
18.02.13
✎
11:37
|
Запрос по концу ключей
к нему левое соединение по количеству ключей |
|||
7
Peltzer
18.02.13
✎
11:38
|
А кто мешает использовать такую конструкцию в запросе?
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ КлючиИлиКакИхТам) |
|||
8
universal23
18.02.13
✎
11:50
|
(4) Ща попробую..
(7) КОЛИЧЕСТВО - он у меня считает Сколько свойств(Кол-воКлючей) заполнено в значении- я второй запрос написал, там присутствует КОЛИЧЕСТВО, если еще добавить РАЗЛИЧНЫЕ то тоже самое. (3) мне надо 2 Свойство отобрать и 2 значение вывести, т.е. если 1 свойство отобрал и значение <= то отбираем 2-ое свойство и вівести значение |
|||
9
Reset
18.02.13
✎
11:51
|
(8) Не надо пробовать, это я издевался. Не обращай внимания.
Лучше постарайся токойве рассказать задачу |
|||
10
Reset
18.02.13
✎
11:51
|
толковей*
|
|||
11
Peltzer
18.02.13
✎
12:27
|
Так, что ли? |
|||
12
universal23
18.02.13
✎
13:15
|
(6) КонецКлючей=ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Конец ключей УСЦ");
КоличествоКлючей=ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Количество ключей"); ДатаПланаПродаж=СсылкаНаОбъект.Дата; //дата Документа ПланаПродаж Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗначенияСвойствОбъектов.Объект КАК Контрагент, | ЗначенияСвойствОбъектов.Свойство, | ЗначенияСвойствОбъектов.Значение, | ЗначенияСвойствОбъектов1.Объект, | ЗначенияСвойствОбъектов1.Свойство, | ЗначенияСвойствОбъектов1.Значение КАК Инфо |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов1 | ПО (ЗначенияСвойствОбъектов.Объект=ЗначенияСвойствОбъектов1.Объект) |ГДЕ | ЗначенияСвойствОбъектов.Свойство = &Ключи |И ЗначенияСвойствОбъектов.Значение <= &ДатаПланаПродаж |И ЗначенияСвойствОбъектов1.Свойство=&Ключи1 |"; Запрос.УстановитьПараметр("Ключи", КонецКлючей.ссылка); Запрос.УстановитьПараметр("ДатаПланаПродаж",ДатаПланаПродаж); Запрос.УстановитьПараметр("Ключи1", КоличествоКлючей); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() цикл КолКлючей=Выборка.инфо; КлючБухгалт=Справочники.Номенклатура.НайтиПоКоду("К00000050"); док=ссылканаобъект.ПолучитьОбъект(); стр=док.СоставПлана.Добавить(); стр.Номенклатура=КлючБухгалт; стр.Количество="1"; стр.Контрагент=контрагент; стр.СтавкаНДС=КлючБухгалт.СтавкаНДС; стр.Договор=Контрагент.ОсновнойДоговорКонтрагента; док.Записать(); КонецЦикла; записывает одного контрагента и цикл прерывается, а нужно список вывести- в чем проблема-где ошибка? (10) Постараюсь еще более подробно объяснить.. (11) Запрос.Параметры.(); // тут ошибка,какой параметр хотел задать? Объясняю еще раз в РегистреСведений.ЗначенияСвойствОбъектов есть список в Колонке(ОБЪЕКТ) контрагенты. (СВОЙСТВО) КонецКлючей,Кол-воКлючей и много другое. (ЗНАЧЕНИЕ)тут понятно что выводит, даты,цифры и т.д. Мне нужно сначало по (СВОЙСТВО)КонецКлючей Найти Дату, сравнить эту дату с СозданииДокументаПланаПродаж- т.е. в запросе делаем так (ЗначенияСвойствОбъектов.Значение <= &ДатаПланаПродаж) если значение подходит ТОГДА по этому контрагенту будем выбирать следующее СВОЙСТВО КоличествоКлючей и вывести ЗНАЧЕНИЕ и так нужно список вывести, а у меня только один контрагент выводит и цикл прерывается. |
|||
13
Галахад
гуру
18.02.13
✎
13:18
|
Вообще не читабельно.
|
|||
14
Reset
18.02.13
✎
13:22
|
(12) В (6) вроде правильно тогда
|
|||
15
universal23
18.02.13
✎
13:37
|
Все спасибо большое, разобрался
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |