|
Помогите разобраться с выборкой в запросе и добавлением в список значений. | ☑ | ||
---|---|---|---|---|
0
Начинающий Программер
28.11.11
✎
09:26
|
Такой вот простецкий код, а голова не варит. Хочу в список значений загнать все полученные из запроса ОСы:
Запрос.Текст = "ВЫБРАТЬ | ОсновныеСредства.Ссылка КАК ОсновноеСредство |ИЗ | Справочник.ОсновныеСредства КАК ОсновныеСредства |ГДЕ | НЕ ОсновныеСредства.ЭтоГруппа"; Выборка = Запрос.Выполнить().Выбрать(); СписокОС = Новый СписокЗначений; Пока Выборка.Следующий() Цикл СписокОС.Добавить(Выборка); КонецЦикла; В отладчике Выборка показывается как выборка из результата запроса, не пустая, элементы есть. А вот в список значений не добавляется ничего. И вопрос ещё, переменная "Выборка" в момент после метода Выборка.Следующий() какое принимает значение? Конкретного элемента справочника? |
|||
1
Wobland
28.11.11
✎
09:27
|
СписокОрганизаций=Новый СписокЗначений;
СписокОрганизаций.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0)); |
|||
2
Kirich1983
28.11.11
✎
09:27
|
(0) Выборка.ОсновноеСредство
|
|||
3
Начинающий Программер
28.11.11
✎
09:33
|
(1), (2) Спасибо)
Вот ещё по другой теме, если кто заглянет: Теперь беру этот список и делаю запрос по остаткам по счету: Для Каждого ЭлементСписка Из СписокОС Цикл Запрос = Новый Запрос; //находим текущую балансовую стоимость ОС Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйБалансоваяСтоимостьОС.Субконто1, | ХозрасчетныйБалансоваяСтоимостьОС.Организация, | ЕСТЬNULL(ХозрасчетныйБалансоваяСтоимостьОС.СуммаОстатокДт, 0) КАК СуммаОстатокДт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &МоментВремени, | Счет = &Счет, | , | Организация = &Организация | И Субконто1 = &Субконто1) КАК ХозрасчетныйБалансоваяСтоимостьОС"; Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.ОСвОрганизации); Запрос.УстановитьПараметр("Субконто1", ЭлементСписка); Запрос.УстановитьПараметр("МоментВремени",Дата); Результат = Запрос.Выполнить(); И такая ошибка: Ошибка при вызове метода контекста (Выполнить) Результат = Запрос.Выполнить(); по причине: {(11, 16)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. И Субконто1 <<?>>= &Субконто1) КАК ХозрасчетныйБалансоваяСтоимостьОС То есть как бы Субконто1 и элемент списка не равны друг другу по типу. Но ведь они равны) |
|||
4
Buster007
28.11.11
✎
09:34
|
ЭлементСписка.Значение
|
|||
5
Buster007
28.11.11
✎
09:35
|
запрос в цикле - это очень плохо.
|
|||
6
Начинающий Программер
28.11.11
✎
09:38
|
(4) Точно!
(5) Исправлю позже, пока хочу получить работающую модель) |
|||
7
sttt
28.11.11
✎
11:25
|
может так:
ВЫБРАТЬ ОсновныеСредства.Ссылка ПОМЕСТИТЬ ОС ИЗ Справочник.ОсновныеСредства КАК ОсновныеСредства ГДЕ (НЕ ОсновныеСредства.ЭтоГруппа) ; ВЫБРАТЬ ХозрасчетныйБалансоваяСтоимостьОС.Субконто1, ХозрасчетныйБалансоваяСтоимостьОС.Организация, ЕСТЬNULL(ХозрасчетныйБалансоваяСтоимостьОС.СуммаОстатокДт, 0) КАК СуммаОстатокДт ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки( &ДатаОстатка, Счет = &СчетУчета, , Организация = &Организация И Субконто1 В(ВЫБРАТЬ ОС.Ссылка ИЗ ОС КАК ОС)) КАК ХозрасчетныйБалансоваяСтоимостьОС |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |