Имя: Пароль:
1C
1C 7.7
v7: Помогите разобратся
0 DeMi4
 
03.05.12
14:35
ТекстЗапроса = "
   |ВЫБРАТЬ
   |    регГазетыСклад.Товар КАК [Товар $Справочник.Газеты]
   |    ,СУММА( регГазетыСклад.КоличествоОстаток ) КАК ОстКоличество
   |ИЗ
   |    $РегистрОстатки.ГазетыСклад(
   |         :ВыбДата,
   |         Товар = :ИскомаяГазета,
   |         (Товар),
   |         (Количество),
   |    ) КАК регГазетыСклад
   |СГРУППИРОВАТЬ
   |    регГазетыСклад.Товар
   |";
   
   Запрос = СоздатьОбъект( "ПрямойЗапрос" );
   Запрос.Текст = ТекстЗапроса;    
   Запрос.УстановитьТекстовыйПараметр( "ВыбДата", ТекущийДокумент() );
   Запрос.УстановитьТекстовыйПараметр( "ИскомаяГазета", _Товар );
   
   ИТЗ = Запрос.Выполнить();    
   ТЗ = СоздатьОбъект( "ТаблицаЗначений" );
   ИТЗ.Выгрузить( ТЗ );

//глПросмотрТСЗ( ТЗ );
//тзИтоги.Свернуть( "Товар", "Количество" );
   Если ТЗ.КоличествоСтрок() > 0 Тогда
       Возврат ТЗ.ПолучитьЗначение(1,"ОстКоличество");
   Иначе
       Возврат 0;
   КонецЕсли;    
КонецФункции

ПрямойЗапрос::Остатки_РегистрОстатки_DBF(АссоциативныйВектор ВекторВыражения=) : Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
Если ДатаРасчетов > ДатаТА Тогда
{ПрямойЗапрос@MD(5059) }

ИТЗ = Запрос.Выполнить();    
{Документ.ГазетыРазнарядка.Форма.Модуль(743)}: ПрямойЗапрос::Остатки_РегистрОстатки_DBF(АссоциативныйВектор ВекторВыражения=) : Операции сравнения на больше-меньше допустимы только над значениями совпадающих базовых типов (число, строка, дата)
Если ДатаРасчетов > ДатаТА Тогда
{ПрямойЗапрос@MD(5059) }

Что делаю не так
1 Ёпрст
 
03.05.12
14:39
(0) подсовываешь позицию заместо даты
2 Ёпрст
 
03.05.12
14:39
да и .. Если док не записан, ТекущийДокумент() будет дырка от бублика
3 DeMi4
 
03.05.12
14:45
А как надо
Как позицию запихать
4 Ёпрст
 
03.05.12
14:46
Документ, для начала, записан хоть ?
5 Ёпрст
 
03.05.12
14:47
и если че, запрос не верный - не нужна там сумма и группировать - он и т ак уже сгруппированный будет на выходе.
6 ЧеловекДуши
 
03.05.12
14:49
(3)Обычно, если документ не записан, то люди ставят попросту дату документа.
Но можно пойти дальше и вычленить время и подставить еще и текущее время :)
7 ЧеловекДуши
 
03.05.12
14:50
+ По существу позиция документа, это дата + время :)
8 DeMi4
 
03.05.12
14:55
Документ не записан
Решим путем Выбран() = 0
а если записан коректно ли передавать
ТекущийДокумент() в принице все работает
9 Ёпрст
 
03.05.12
14:56
(8) открой класс да посмотри, как там реализована передача параметра.
10 Mikeware
 
03.05.12
14:56
(8) 1986 год инструкции органически читать не способен?
11 Ёпрст
 
03.05.12
14:56
в обычном запросе передают сразу позицию, как правило.
12 DeMi4
 
03.05.12
15:03
СформироватьПозициюДокумента(ТекущийДокумент()); Если так то будет правильно
Ошибка? Это не ошибка, это системная функция.