Имя: Пароль:
1C
1С v8
Стандартный запрос внутри документа
,
0 ejiki
 
19.06.13
10:23
Собстно сабж. Делаю кнопку, по которой будет создаваться документ с данными на основании того в котором кнопка. Запросом собираю нужные мне реквизиты. А вот при отладке не могу проверить исполнение запроса. Может я дико туплю. Подскажите уважаемые!

[/+Code]
Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
   Запрос.Текст =
   "ВЫБРАТЬ
   |ИнвентаризацияТоваровНаСкладе.Склад КАК Склад,
   |ИнвентаризацияТоваровНаСкладе.Товары.(Номенклатура КАК Номенклатура,
   |    КоличествоУчет КАК КоличествоУчет,
   |    СчетУчета КАК СчетУчета,
   |    СуммаУчет КАК СуммаУчет)
   |ИЗ
   |Документ.ИнвентаризацияТоваровНаСкладе КАК ИнвентаризацияТоваровНаСкладе
   |
   |ГДЕ
   |ИнвентаризацияТоваровНаСкладе.Ссылка = &ТекущийДокумент";
   
   Результат = Запрос.Выполнить();  // <--- Вот тут не могу получить определения              
   Выборка = Результат.Выбрать();
   Пока Выборка.Следующий() Цикл
       // действия с документом - элементом выборки,
       // его значение содержится в переменной Выборка
   КонецЦикла;
1 ejiki
 
19.06.13
10:23
Ах да, и как свернуть код?
2 чувак
 
19.06.13
10:24
"Запрос.Выполнить().Выгрузить() " возвращает таблицу значений, можешь через отладчик посмотреть значения
3 chelentano
 
19.06.13
10:25
(0) "вот при отладке не могу проверить исполнение запроса" - почему, что мешает?
4 lebar
 
19.06.13
10:41
(0) Отладка, вообще, доходит до этого места?
5 ejiki
 
19.06.13
10:41
(3) я указал в коде что пытаюсь прочитать

(2) Спасибо попробую ;)
6 ejiki
 
19.06.13
10:42
(4) да доходит, совершенно нормально
7 ejiki
 
19.06.13
10:43
(4) а через консоль запросов Запрос 100% отрабатывает верно
8 vicof
 
19.06.13
10:44
(7) ты еще выборку не прочитал, что ты хочешь получить?
9 vicof
 
19.06.13
10:44
точней не спозиционировал
10 ejiki
 
19.06.13
10:57
(9) поясни пожалуйста, может я что-то не допонимаю. Лучше всего на примере. Примеры я хорошо воспринимаю.
11 ejiki
 
19.06.13
11:04
(8) вот все что по запросу получил хочу в выборке получить и присваивать каждой строчке нового документа значения из запроса
12 ejiki
 
19.06.13
11:06
ощущение что начинаю осознавать свою дикую тупость
.. что же мне выбирать.. мб номер строки? тогда будет и просто и понятно
13 dva1c
 
19.06.13
11:07
(11) Все так. Обходишь в цикле и присваиваешь.
14 ejiki
 
19.06.13
12:48
(13)

Пока Выборка.Следующий() Цикл
   Строка                                             = РегСтрока.Добавить();
   Строка.СчетДт                                      = ПланыСчетов.Хозрасчетный.ТМЦпринятыеНаОтветственноеХранение;
   Строка.СубконтоДт.Контрагенты                      = Справочники.Контрагенты.НайтиПоКоду("000000042");
   Строка.СубконтоДт.Номенклатура                     = Выборка.Номенклатра;
   Строка.СубконтоДт.Склады                           = Выборка.Склад;
   Строка.СчетКт                                      = ПланыСчетов.Хозрасчетный.ТМЦпринятыеНаОтветственноеХранение;
   Строка.СубконтоКт.Контрагенты                      = Справочники.Контрагенты.НайтиПоКоду("000000042");
   Строка.СубконтоКт.Номенклатура                     = Выборка.Номенклатура;
   Строка.СубконтоКт.Склады                           = Выборка.Склад;
   Строка.Сумма                                       = Выборка.СуммаУчет;
   Строка.Количество                                  = Выборка.КоличествоУчет;
   Строка.Содержание                                  = "Загружено "+СокрЛП(Строка(ТекущаяДата()));
   Строка.Период                                      = ТекущаяДата();
   РегСтрока.Записать(Истина);
   КонецЦикла;    
           
   Примерно так, вот только вставка Выборки так правильно пишется? или я ошибся и в моем случае по другому?
15 SanGvin
 
19.06.13
13:09
запросом либо из ТЧ выбирай либо еще одну выборку по ТЧ открывай
16 ejiki
 
19.06.13
13:53
(15) можешь примером показать? что мне нужно сделать
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.