![]() |
![]() |
![]() |
|
v7: Запрос | ☑ | ||
---|---|---|---|---|
0
NemeL
09.02.12
✎
12:35
|
подскажите как лучше решить задачу: есть документ, надо по двум столбцам таблицам передать параметры для запросы, что бы вывести остаток.
|
|||
1
Джинн
09.02.12
✎
12:36
|
А в переводе на русский как вопрос звучит?
|
|||
2
ЧеловекДуши
09.02.12
✎
12:37
|
Увольняйся.
|
|||
3
povar
09.02.12
✎
12:44
|
(0) шифровальщиком подрабатываете ?
|
|||
5
andrewks
11.02.12
✎
22:26
|
(4) а что, на русском тоже программировать надо?
|
|||
6
NemeL
11.02.12
✎
22:26
|
а мне нужно было в запрос передать параметры двух столбцов таблицы чтоб показать остаток, решил эту задачу так
[CODE] Процедура Выводостатка() СпНаименования=СоздатьОбъект("СписокЗначений"); ВыгрузитьТабличнуюЧасть(СпНаименования,"Наименование,Цвет" ); ВыбратьСтроки(); Пока ПолучитьСтроку()>0 Цикл Сообщить(Наименование); КонецЦикла; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса= " |Материал = Регистр.ОстаткиМатериалов.Материал; |Цвет = Регистр.ОстаткиМатериалов.ЦветТкани; |Количество = Регистр.ОстаткиМатериалов.Количество; |Функция КоличествоКонОст = КонОст(Количество); |Группировка Материал; |Группировка Цвет без групп; |Условие (Материал в СпНаименования); |Условие (Цвет в СпНаименования); |"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица"); Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка("Материал") = 1 Цикл Пока Запрос.Группировка("Цвет")=1 Цикл Таб.ВывестиСекцию("Строка"); КонецЦикла; КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры [/CODE] |
|||
7
Злой Бобр
12.02.12
✎
12:49
|
(6) Неправильно. Думай сам почему.
[CODE] Процедура Выводостатка() СпНаименования=СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(СпНаименования,"Наименование, Цвет, Количество" );// Количество меняешь как у тебя в документе СпНаименования.Свернуть("Наименование, Цвет","Количество");// И тут тоже СпНаименования.ВыбратьСтроки(); Пока СпНаименования.ПолучитьСтроку()>0 Цикл Сообщить("Материал - "+СпНаименования.Наименование+"; Цвет - "+СпНаименования.Цвет+"; Остаток "+Регистр.ОстаткиМатериалов.Остаток(СпНаименования.Наименование, СпНаименования.Цвет, "Количество")); КонецЦикла; КонецПроцедуры [/CODE] А так в принципе ответ (2) в самый раз. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |