|
Передача параметров в запрос через массив, как это сделать? | ☑ | ||
---|---|---|---|---|
0
kasazanov
24.10.12
✎
10:40
|
ЭтотОбъект.Материалы.Очистить();
Запрос = Новый Запрос( "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет КАК Счет, | ХозрасчетныйОстатки.Субконто1 КАК Субконто1, | ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток, | ХозрасчетныйОстатки.Субконто2 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОтчета, , , ) КАК ХозрасчетныйОстатки |ГДЕ | (ХозрасчетныйОстатки.Счет = &Счет | ИЛИ ХозрасчетныйОстатки.Счет = &Счет1 | ИЛИ ХозрасчетныйОстатки.Счет = &Счет2 | ИЛИ ХозрасчетныйОстатки.Счет = &Счет3) | И ХозрасчетныйОстатки.Субконто2 = &Субконто2"); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01")); Запрос.УстановитьПараметр("Счет1", ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.03")); Запрос.УстановитьПараметр("Счет2", ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.05")); Запрос.УстановитьПараметр("Счет3", ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.09")); Запрос.УстановитьПараметр("Субконто2", ЭтотОбъект.Склад); Запрос.УстановитьПараметр("ДатаОтчета", ЭтотОбъект.Дата); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() цикл СтрокаТЧ = ЭтотОбъект.Материалы.Добавить(); СтрокаТЧ.Номенклатура = Выборка.Субконто1; СтрокаТЧ.Количество = Выборка.КоличествоОстаток; СтрокаТЧ.Счет = Выборка.Счет; КонецЦикла; При нажатии на кнопку в ТЧ заполняется вся таблица, а нужно чтобы пользователь мог выбрать например 10.01 и 10.03 как это сделать? может кто подскажет |
|||
1
salvator
24.10.12
✎
10:41
|
ХозрасчетныйОстатки.Счет В (&МассивСчетов)
|
|||
2
1Сергей
24.10.12
✎
10:41
|
.Счет В (СписокЗначений)
|
|||
3
lxndr
24.10.12
✎
10:43
|
только условия все в параметрах виртуальной таблицы.
|
|||
4
1Сергей
24.10.12
✎
10:46
|
(1) Садись, два
|
|||
5
Cube
24.10.12
✎
10:47
|
(4) В смысле? В (1) правильно, в (2) не правильно.
|
|||
6
1Сергей
24.10.12
✎
10:52
|
(5) Запрос Массив не поймёт
|
|||
7
YF
24.10.12
✎
10:53
|
(6) О как. Все типовые в топку!
|
|||
8
sanja26
24.10.12
✎
10:53
|
(6) давно запросы писал?
|
|||
9
Cube
24.10.12
✎
10:54
|
(6) И ты уверен в этом?)
|
|||
10
1Сергей
24.10.12
✎
10:54
|
хм, ошибся... можно и то и то
|
|||
11
Cube
24.10.12
✎
10:55
|
(10) Садись, два.
|
|||
12
Reset
24.10.12
✎
10:56
|
И Сальватору пусть свою исправит на пятерку! Нет, четверку
|
|||
13
1Сергей
24.10.12
✎
10:56
|
(11) СЗ можно, атвичайу!
|
|||
14
butterbean
24.10.12
✎
10:57
|
(13) но не нужно
|
|||
15
1Сергей
24.10.12
✎
10:57
|
(12) я ему в журнал не ставил
|
|||
16
Cube
24.10.12
✎
10:57
|
(13) СЗ, конечно можно, но без "&" не взлетит, атвичайу!
|
|||
17
1Сергей
24.10.12
✎
10:58
|
(16) Я специально написал ошибку, чтобы у ТС это засело в голове
|
|||
18
Reset
24.10.12
✎
10:58
|
(16) Он вывернется, скажет, что имел в виду В(&Счет1,&Счет2,&Счет3)
|
|||
19
kasazanov
24.10.12
✎
10:59
|
ЭтотОбъект.Материалы.Очистить();
Запрос = Новый Запрос( "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет КАК Счет, | ХозрасчетныйОстатки.Субконто1 КАК Субконто1, | ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток, | ХозрасчетныйОстатки.Субконто2 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОтчета, , , ) КАК ХозрасчетныйОстатки |ГДЕ | ХозрасчетныйОстатки.Счет В (&Счет) | И ХозрасчетныйОстатки.Субконто2 = &Субконто2"); Счет = Новый Массив; Счет.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01")); Счет.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.03")); Счет.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.05")); Счет.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.09")); Запрос.УстановитьПараметр("Счет", Счет); //Запрос.УстановитьПараметр("Счет1", ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.03")); //Запрос.УстановитьПараметр("Счет2", ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.05")); //Запрос.УстановитьПараметр("Счет3", ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.09")); Запрос.УстановитьПараметр("Субконто2", ЭтотОбъект.Склад); Запрос.УстановитьПараметр("ДатаОтчета", ЭтотОбъект.Дата); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() цикл СтрокаТЧ = ЭтотОбъект.Материалы.Добавить(); СтрокаТЧ.Номенклатура = Выборка.Субконто1; СтрокаТЧ.Количество = Выборка.КоличествоОстаток; СтрокаТЧ.Счет = Выборка.Счет; КонецЦикла; Сделал вот так, вроде все запустилось, теперь вопрос как передать параметры чтобы пользователь смог выбрать нужные ему счета? Создать какую то форму? |
|||
20
1Сергей
24.10.12
✎
10:59
|
(18) Завтра в школу с родителями
|
|||
21
Reset
24.10.12
✎
11:00
|
(19) К (3) присмотрись, там дело говорят
|
|||
22
Reset
24.10.12
✎
11:05
|
Если только выбрать, можно так
Счета = Новый СписокЗначений; Счета.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01")); Счета.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.03")); Счета.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.05")); Счета.Добавить(ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.09")); Счета.ОтметитьЭлементы(); МассивСчетов=Новый Массив; Для каждого Элемент из Счета цикл Если Элемент.Пометка тогда МассивСчетов.Добавить(Элемент.Значение); КонецЕсли; КонецЦикла; Если МассивСчетов.Количество()=0 тогда Предупреждение("Не Выбраны счета"); Возврат; КонецЕсли; Запрос.УстановитьПараметр("МассивСчетов", МассивСчетов); |
|||
23
del123
24.10.12
✎
11:14
|
(19) добавить форму на нее поле ввода с типом СписокЗначений и типом значения списка ПланСчетовСсылка.Хозрасчетный
|
|||
24
kasazanov
24.10.12
✎
11:15
|
Reset, мужиг ! Огромное спасибо!
|
|||
25
х86
24.10.12
✎
11:18
|
(22)построитель + отбор на форму
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |