Имя: Пароль:
1C
1C 7.7
v7: запрос работает выборочно
,
0 Креатив
 
15.01.13
10:55
написал запрос, чтобы найти приказ о приёме на работу сотрудника
       "//{{ЗАПРОС(Сформировать)
   |Период с '01.01.2001';
   |Сотрудник = Документ.ПриказОПриемеНаРаботу.Сотрудник;
   |ТекущийДокумент = Документ.ПриказОПриемеНаРаботу.ТекущийДокумент;
   |Группировка ТекущийДокумент;
   |Условие(Сотрудник = ВыбСотрудник);
   |"//}}ЗАПРОС
   ;
работает, но не по всем сотрудникам
1 Ёпрст
 
15.01.13
10:56
еще бы, он работает только по одному - ВыбСотрудник
2 Ёпрст
 
15.01.13
10:56
Это же очевидно, не так ли ?
3 1Сергей
 
15.01.13
10:57
мало кода
4 Креатив
 
15.01.13
11:20
(1)Так я выбираю разных сотрудников. По одним показывает приказы, про другим - нет.
5 Креатив
 
15.01.13
11:23
(3)
Процедура Сформировать()
   Перем Запрос, ТекстЗапроса, Таб;
   //Создание объекта типа Запрос
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Период с '01.01.2001';
   |Сотрудник = Документ.ПриказОПриемеНаРаботу.Сотрудник;
   |ТекущийДокумент = Документ.ПриказОПриемеНаРаботу.ТекущийДокумент;
   |Группировка ТекущийДокумент;
   |Условие(Сотрудник = ВыбСотрудник);
   |"//}}ЗАПРОС
   ;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;

   // Подготовка к заполнению выходных форм данными запроса
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("Сформировать");
   // Заполнение полей "Заголовок"
   Таб.ВывестиСекцию("Заголовок");
   Состояние("Заполнение выходной таблицы...");
   Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
   Пока Запрос.Группировка(1) = 1 Цикл
       // Заполнение полей ТекущийДокумент
       Таб.ВывестиСекцию("ТекущийДокумент");
   КонецЦикла;
   // Вывод заполненной формы
   Таб.ТолькоПросмотр(1);
   Таб.Показать("Сформировать", "");
КонецПроцедуры
6 1Сергей
 
15.01.13
11:23
(4) может, и нет приказов. может, они ранее 01.01.2001. может, они помечены на удаление
7 Ёпрст
 
15.01.13
11:23
(4) по одим есть проведенные документы за выбранный период, по другим нет.
8 Креатив
 
15.01.13
11:27
(6)Есть. Период убирал совсем, никакой разницы.
(7)Документы проведены по всем.
9 Ёпрст
 
15.01.13
11:29
убери условие, воткни группировку по сотруднику и гляди, что там есть.
Дальше много думай, что ты пихаешь в фильтр.
10 Креатив
 
15.01.13
11:38
(9)
   ТекстЗапроса =
   "//{{ЗАПРОС(Сформировать)
   |Сотрудник = Документ.ПриказОПриемеНаРаботу.Сотрудник;
   |ТекущийДокумент = Документ.ПриказОПриемеНаРаботу.ТекущийДокумент;
   |Группировка ТекущийДокумент;
   |Группировка Сотрудник без групп;
   |"//}}ЗАПРОС
   ;
Выводит не всех.
11 Karambol
 
15.01.13
11:42
(10) Может по отсутствующим сотрудникам нет приказа?
12 Cthulhu
 
15.01.13
11:42
а если ещё ТА подвигать...
13 Ёпрст
 
15.01.13
11:45
(10) переиндексируй базу, если дбф.
14 Креатив
 
15.01.13
11:52
(12)Ты знал... и молчал.
Ошибка? Это не ошибка, это системная функция.