Имя: Пароль:
1C
1C 7.7
v7: Проблемка с запросом пишет неизвестная ошибка указывает на текст запроса
0 ЮлияКорж
 
10.01.12
13:08
Пищу проверку на вероятное дублирование доков и выбивает ошибку неизвестная ошибка и указывает на строку Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
////////////////////////////////////////////////////////////
Процедура Выполнить()
   ДокПриема=СоздатьОбъект("Документ.ПриказОПриеме");
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |ОбрабатыватьДокументы Все;
   |Сотр = Документ.ПриказОПриеме.Сотрудник;
   |ДатаПрик = Документ.ПриказОПриеме.ДатаДок;
   |ДатаПриема = Документ.ПриказОПриеме.ДатаНачала;
   |НомерПриказа = Документ.ПриказОПриеме.НомерПриказа;
   |Док=Документ.ПриказОПриеме.ТекущийДокумент;
   |НомерДок=Документ.ПриказОПриеме.НомерДок;
   |Группировка Сотр;
   |Группировка ДатаПрик;
   |Группировка НомерПриказа;
   |
   |)"//}}ЗАПРОС
   ;
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;                
 флаг=0;м=0;р=0;
ДокПриема.ВыбратьДокументы();
Пока ДокПриема.ПолучитьДокумент()>0 Цикл
       Пока (Запрос.Группировка("Сотр")=1) Цикл
           Если Запрос.Сотр=ДокПриема.ТекущийДокумент().Сотрудник Тогда
           флаг=флаг+1;
           КонецЕсли;    
       КонецЦикла;        
           Пока (Запрос.Группировка("ДатаПрик")=1) Цикл
               Если Запрос.ДатаПрик=ДокПриема.ТекущийДокумент().ДатаДок Тогда
               м=м+1;        
                 КонецЕсли;                  
           КонецЦикла;            
               Пока  (Запрос.Группировка("НомерПриказа")=1) Цикл
                   Если  Запрос.НомерПриказа=ДокПриема.ТекущийДокумент().НомерПриказа Тогда
                   р=р+1;
                   КонецЕсли;                  
               КонецЦикла;            
           //    КонецЦикла;    
           Если (м>1) и (р>1) и (флаг>1) Тогда
               сообщить("Возможен дубликат документа "+Запрос.НомерДок+" Дубликат по дате"+ Запрос.ДатаПрик+" Сотруднику,номеру приказа");
           КонецЕсли;
КонецЦикла;        
КонецПроцедуры
1 SnarkHunter
 
10.01.12
13:13
Жуть какая-то...
2 SnarkHunter
 
10.01.12
13:13
|)"//}}ЗАПРОС

Зачем здесь закрывающая скобка?
3 andrewks
 
10.01.12
13:19
(2) а ты внимательный! :)
4 MatveyIgor
 
10.01.12
13:26
"//{{ЗАПРОС(Сформировать)

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

   ;
5 1Сергей
 
10.01.12
13:46
вместо двух последних группировок достаточно одной по документу, да и то, если только существуют сотрудники с несколькими приказами о приеме
6 ЮлияКорж
 
10.01.12
15:19
так вообще можно проверить на вероятное дублирование, а то что то мне кажется не так