Имя: Пароль:
1C
1C 7.7
v7: Подскажите как через запрос получить периодический реквизит
0 serg-lom89
 
25.06.13
15:32
ТекстЗапроса=
   "//{{ЗАПРОС(ПроведенныеДокументы)
   |Период С НачДата по КонДата;
   |ОбрабатыватьДокументы Проведенные;
   |Док = Документ.ПутевойЛист2Г.ТекущийДокумент;  
   |ДатаД = Документ.ПутевойЛист2Г.ДатаДок;  
   |Вод = Документ.ПутевойЛист2Г.Водитель;
   |ОстатокНачало = Документ.ПутевойЛист2Г.ОстатокТопливаНаНачалоДня;
   |ОстатокКонец = Документ.ПутевойЛист2Г.ОстатокТопливаНаКонецДня;
   |Получено =Документ.ПутевойЛист2Г.Получено ;      
   |РасхНорма = Документ.ПутевойЛист2Г.РасходТопливаПоНорме;
   |РасхФакт = Документ.ПутевойЛист2Г.РасходТопливаФактический;

   |ТипТоплива = Документ.ПутевойЛист2Г.Автомобиль.Получить(ДатаД).ВидТоплива;  
   |Группировка ТипТоплива;
   |Группировка Вод Упорядочить по Вод.Наименование Без Групп;
   |Функция ИтРасхФакт = Сумма(РасхФакт);";
   Если ВыбВодитель.Выбран()=1 Тогда
       ТекстЗапроса=ТекстЗапроса+            
       "Условие (ВыбВодитель=Вод);";
   КонецЕсли;
   Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
       Возврат;
   КонецЕсли;
Пишет ошибку :
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
{C:\DOCUMENTS AND SETTINGS\ADMIN\РАБОЧИЙ СТОЛ\ОТЧЕТПОВОДИТЕЛЯМ.ERT(70)}: ТипТоплива = Документ.ПутевойЛист2Г.Автомобиль. <<?>> Получить(ДатаД).ВидТоплива;  
Запрос[14] : Неверно заданный путь 'Получить'
Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
{C:\DOCUMENTS AND SETTINGS\ADMIN\РАБОЧИЙ СТОЛ\ОТЧЕТПОВОДИТЕЛЯМ.ERT(70)}: Группировка ТипТоплива <<?>> ;
Запрос[15] : Переменная  'ТипТоплива' не опеределена
1 Guk
 
25.06.13
15:33
периодический реквизит в запросе можно получить только на дату конца запроса. и естественно без всяких Получить...
2 serg-lom89
 
25.06.13
15:35
(1) если не через получить то тогда как?
3 Guk
 
25.06.13
15:35
(2) просто реквизит укажи. он сам получится...
4 serg-lom89
 
25.06.13
15:39
(3) так а если такая ситуация.
был одни вид топлива аи92 на автомобиле(напрмер на 01.01.2000)
затем его поменяли на Другой аи95 с напрмер на 01.01.2001)
ТО как тогда?Если сформировать отчет в промежутке 01.01.2000-1.01.2001 то будет же топливо аи92
5 KishMish
 
25.06.13
15:40
можно использовать внешние функции
Функция ПолучитьРеквизит(ДатаПолучения)
Возврат Константа.Какаято.Получить(ДатаПолучения)
КонеФункции

в запросе
Функция МоеЗначение=ПолучитьРеквизит(ДатаДок)

как-то так
6 Злой Бобр
 
25.06.13
16:49
(0) Ввести ТипТоплива в ТЧ документа, или (если делать по уму) сделать регистр из которого и тянуть запросом данные.
Использовть внешние функции непредлагаю, т.к. перебор доков и плюс еще внешние функции - за такое нада пальцы в двери.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.