Имя: Пароль:
1C
1C 7.7
v7: Ошибка в запросе, как проставить правильно условие?
0 Ночной Эльф
 
30.07.12
13:29
Собственно код запроса

Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   
   Запрос = СоздатьОбъект("Запрос");
   
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |Без итогов;
   |НомерДок = Документ.ЗаданиеНаИзготовление.НомерДок;
   |Контрагент = Документ.ЗаданиеНаИзготовление.Контрагент;
   |ФактДатаВыполнения = Документ.ЗаданиеНаИзготовление.ФактДатаВыполнения;
   |Номенклатура = Документ.ЗаданиеНаИзготовление.Номенклатура;
   |ФактДатаРаботы = Документ.ЗаданиеНаИзготовление.ФактДатаРаботы;
   |ЗаданиеНаИзготовление = Документ.ЗаданиеНаИзготовление.ТекущийДокумент;
   |Группировка Номенклатура упорядочить по Номенклатура.Наименование;
   |Условие(ФактДатаРаботы = "");
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры

   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;

Выдает ошибку на

|Условие(ФактДатаРаботы = "");

Как правильно написать условие, что если ФактДатаРаботы пустая то только тогда выбирать документ?
1 Злой Бобр
 
30.07.12
13:34
(0) |Условие(НашаФункия(ФактДатаРаботы) = 0);

Функция НашаФункция(ДД)
   м=ПустоеЗначение(ДД);
   Возврат м;
КонецФункции
2 viktor_vv
 
30.07.12
13:40
Кажись в запросе и ПустоеЗначение() работает.

|Условие(ПустоеЗначение(ФактДатаРаботы) = 1);
3 ЧеловекДуши
 
30.07.12
13:41
+ Все проще

|Условие(ФактДатаРаботы = """");

Ты забыл вторые ковычки :)
4 Morphius
 
30.07.12
13:42
(0)
Перем Запрос, ТекстЗапроса, Таб;
ПустаяСтрока="";
   //Создание объекта типа Запрос

   
   Запрос = СоздатьОбъект("Запрос");
   
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)

   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |Без итогов;
   |НомерДок = Документ.ЗаданиеНаИзготовление.НомерДок;
   |Контрагент = Документ.ЗаданиеНаИзготовление.Контрагент;
   |ФактДатаВыполнения = Документ.ЗаданиеНаИзготовление.ФактДатаВыполнения;
   |Номенклатура = Документ.ЗаданиеНаИзготовление.Номенклатура;
   |ФактДатаРаботы = Документ.ЗаданиеНаИзготовление.ФактДатаРаботы;
   |ЗаданиеНаИзготовление = Документ.ЗаданиеНаИзготовление.ТекущийДокумент;
   |Группировка Номенклатура упорядочить по Номенклатура.Наименование;
   |Условие(ФактДатаРаботы = ПустаяСтрока);
   |"//}}ЗАПРОС

   ;
5 ЧеловекДуши
 
30.07.12
13:42
+ По тексту, т.к. ты передаешь текст (в кавычках), то нужно дважды по два, т.е. двойные кавычки.
6 Morphius
 
30.07.12
13:43
(0)
Перем Запрос, ТекстЗапроса, Таб;
ПеременнаяПустаяСтрока="";
   //Создание объекта типа Запрос


   
   Запрос = СоздатьОбъект("Запрос");
   
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)


   |Период с ВыбНачПериода по ВыбКонПериода;
   |Обрабатывать НеПомеченныеНаУдаление;
   |Без итогов;
   |НомерДок = Документ.ЗаданиеНаИзготовление.НомерДок;
   |Контрагент = Документ.ЗаданиеНаИзготовление.Контрагент;
   |ФактДатаВыполнения = Документ.ЗаданиеНаИзготовление.ФактДатаВыполнения;
   |Номенклатура = Документ.ЗаданиеНаИзготовление.Номенклатура;
   |ФактДатаРаботы = Документ.ЗаданиеНаИзготовление.ФактДатаРаботы;
   |ЗаданиеНаИзготовление = Документ.ЗаданиеНаИзготовление.ТекущийДокумент;
   |Группировка Номенклатура упорядочить по Номенклатура.Наименование;
   |Условие(ФактДатаРаботы = ПеременнаяПустаяСтрока);
   |"//}}ЗАПРОС


   ;
7 Злой Бобр
 
30.07.12
13:43
Да вариантов несколько. Пусть автор выбирает что ему нужно.
8 Morphius
 
30.07.12
13:44
И в (2) правильный ответ. А в (1) изврат;)
9 Ночной Эльф
 
30.07.12
13:47
Всем спасибо за помощь сработало только

|Условие(ПустоеЗначение(ФактДатаРаботы) = 1);
10 Ночной Эльф
 
30.07.12
13:48
(8) согласен что изврат (1) даже не рассматривал ))
11 Ночной Эльф
 
30.07.12
13:51
Ха только еще одно условие не могу поставить

|Условие(Номенклатура.ЭтоГруппа() = 0);

Все равно выдает вместе с группами
12 Boroda
 
30.07.12
13:53
(11) Просто надо дописать "без групп" на группировку по номенклатуре
13 Ночной Эльф
 
30.07.12
13:55
блин точно просто первый раз пишу 7.7 )))) так что не судите строго
AdBlock убивает бесплатный контент. 1Сергей