Имя: Пароль:
1C
1C 7.7
v7: Нужна помощь в запросе 7.7
0 Popkorm
 
07.03.12
14:24
навечек в 7.7 так что прошу помощи:
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Менеджер = Регистр.Покупатели.Договор.Владелец.Менеджер;
   |Контрагент = Регистр.Покупатели.Договор.Владелец;
   |Аналитика = Регистр.Покупатели.Аналитика;
   |Фирма = Регистр.Покупатели.Фирма;
   |Сумма = Регистр.Покупатели.СуммаРуб;
   |КодОперации = Регистр.Покупатели.КодОперации;
   |ТекДок = Регистр.Покупатели.ТекущийДокумент;
   |Функция Задолженность = НачОст(Сумма);
   |Функция ЗадолженностьКон = КонОст(Сумма);
   |Функция Оплата = Расход(Сумма) когда (КодОперации = Перечисление.КодыОпераций.ОплатаОтПокупателя);
   |Функция Отгрузка = Приход(Сумма) когда (КодОперации = Перечисление.КодыОпераций.Продажа);
   |Группировка Менеджер без групп;
   |Группировка Контрагент без групп;
   |Группировка Документ;
   |//Условие(Менеджер.УчаствуетВРейтинге = 1);
   |Условие(Оплата(НЕ(ТекДок.ДатаДок>"+КонМесяца(ВыбДата)+")));
   |Условие(Отгрузка(НЕ(ТекДок.ДатаОтчета>"+КонМесяца(ВыбДата)+")));
   |Условие(Отгрузка(НЕ(ТекДок.ДатаОтчета="")));
   |Условие(Задолженность(НЕ(ТекДок.ДатаДок>"+КонМесяца(ВыбДата)+")));
   |Условие(ЗадолженностьКон(НЕ(ТекДок.ДатаДок>"+КонМесяца(ВыбДата)+")));
   |"//}}ЗАПРОС


велетает ошибка:
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
{\\FBTERMINAL\USERS\SHAMSUTDINOV\TIS_TD\ШАМСУТДИНОВ\РЕНТАБЕЛЬНОСТЬМЕНЕДЖЕРОВ1.ERT(148)}: Условие(Оплата(НЕ(ТекДок.ДатаДок>31.01 <<?>> .12)));
Запрос[18] : Ожидается ')' перед '.'
1 Popkorm
 
07.03.12
14:25
то есть период у меня такой:
   ВыбНачПериода = НачМесяца(ВыбДата);
   ВыбКонПериода = КонМесяца(ВыбДата)+20;
2 Рэйв
 
07.03.12
14:27
убери ковычки

просто
ТекДок.ДатаДок>КонМесяца(ВыбДата)

запрос должен и так съесть
3 Рэйв
 
07.03.12
14:27
и дальше тоже
4 Popkorm
 
07.03.12
14:33
(2)не сьел:
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Менеджер = Регистр.Покупатели.Договор.Владелец.Менеджер;
   |Контрагент = Регистр.Покупатели.Договор.Владелец;
   |Аналитика = Регистр.Покупатели.Аналитика;
   |Фирма = Регистр.Покупатели.Фирма;
   |Сумма = Регистр.Покупатели.СуммаРуб;
   |КодОперации = Регистр.Покупатели.КодОперации;
   |ТекДок = Регистр.Покупатели.ТекущийДокумент;
   |Функция Задолженность = НачОст(Сумма);
   |Функция ЗадолженностьКон = КонОст(Сумма);
   |Функция Оплата = Расход(Сумма) когда (КодОперации = Перечисление.КодыОпераций.ОплатаОтПокупателя);
   |Функция Отгрузка = Приход(Сумма) когда (КодОперации = Перечисление.КодыОпераций.Продажа);
   |Группировка Менеджер без групп;
   |Группировка Контрагент без групп;
   |Группировка Документ;
   |//Условие(Менеджер.УчаствуетВРейтинге = 1);
   |Условие(Оплата(НЕ(ТекДок.ДатаДок>КонМесяца(ВыбДата))));
   |Условие(Отгрузка(НЕ(ТекДок.ДатаОтчета>КонМесяца(ВыбДата))));
   |Условие(Отгрузка(НЕ(ТекДок.ДатаОтчета="")));
   |Условие(Задолженность(НЕ(ТекДок.ДатаДок>КонМесяца(ВыбДата))));
   |Условие(ЗадолженностьКон(НЕ(ТекДок.ДатаДок>КонМесяца(ВыбДата))));
ошибка:
Условие(Оплата(НЕ(ТекДок.ДатаДок>31.01 <<?>> .12)));
Запрос[18] : Ожидается ')' перед '.'
5 Vladal
 
07.03.12
14:34
Поставь одинарные кавычки (апостроф)

(НЕ(ТекДок.ДатаДок>'31.01.12')));
6 dk
 
07.03.12
14:36
гыыы
7 Popkorm
 
07.03.12
14:38
(5)переменная КонМесяца(ВыбДата) нужна
8 dk
 
07.03.12
14:38
(0) Ты разберись что такое Оплата и как ее с датами сравнивать и вообще как функцию вызываешь
9 palpetrovich
 
07.03.12
14:45
можно так
Функция ПроверкаДаты(ТекДок)  
   Если ТекДок.ДатаДок>КонМесяца(ВыбДата) Тогда
       Возврат 1;    
   КонецЕсли;
   Возврат 0;
КонецФункции        

|Функция Оплата = Расход(Сумма) когда ((КодОперации = Перечисление.КодыОпераций.ОплатаОтПокупателя) И (ПроверкаДаты(ТекДок)=1));
10 Злой Бобр
 
07.03.12
17:15
(0) Условия повеселили. А так - новичкам нада снеговик зубрить а не клюшками махать.
11 Deon
 
07.03.12
17:16
(10) Может ТС решил с истории начать
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.