|
v7: Функция Счетчик не правильно срабатывает в запросе мне | ☑ | ||
---|---|---|---|---|
0
ЮлияКорж
24.01.12
✎
14:18
|
У меня в повтояются доки приема на одного сотрудника при при применении функциии счетчик в выборке количество одинаковых комбинаций должно быть две а функция счетчик напротив каждой из них выводит 1
Процедура Выполнить() Перем ВерДубль,Сотр1,Дата1,С; Таб=СоздатьОбъект("Таблица"); ТАБ.ИсходнаяТаблица("Таблица"); Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |ОбрабатыватьДокументы Все; //|Обрабатывать НеПомеченныеНаУдаление; |Сотр = Справочник.Сотрудники.ФизическоеЛицо.ТекущийЭлемент; |ДатаНачала = Справочник.Сотрудники.ДатаНачалаДействия; |ДатаОкон = Справочник.Сотрудники.ДатаОкончанияДействия; |Функция счет=Счётчик(Сотр,ДатаНачала); //|Функция Cум=Сумма(счет); |Группировка Сотр; |Группировка ДатаНачала; |"//}}ЗАПРОС ; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда КонецЕсли; Сотр1=""; Пока (Запрос.Группировка("Сотр")=1) Цикл //Если(Сотр1=Запрос.Сотр) Тогда Cотр1=Сотр1+"1"; //КонецЕсли; Пока (Запрос.Группировка("ДатаНачала")=1) Цикл //Если (Дата1=Запрос.ДатаНачала) Тогда Cотр1=Cотр1+"2"; // КонецЕсли; Если (ПустаяСтрока(Cотр1)=0) Тогда ЕСЛИ ПустоеЗначение(Запрос.ДатаОкон)=1 Тогда ТАБ.ВывестиСекцию("Сотр"); КонецЕсли; КонецЕсли; //ВерДубль=1; КонецЦикла; // ВерДубль=1; КонецЦикла; Таб.Показать("Таблица"); Таб.ТолькоПросмотр(1); |
|||
1
filh
24.01.12
✎
14:19
|
продолжайте наблюдения.
|
|||
2
Ёпрст
24.01.12
✎
14:23
|
(0) у вас неверное представление о функции счётчик в запросе
Зы: у неё нет аргументов, если че |
|||
3
ЮлияКорж
24.01.12
✎
15:05
|
В чем подвох может быт
|
|||
4
povar
24.01.12
✎
15:07
|
(3) никаких подвохов, читайте доки
|
|||
5
ЮлияКорж
24.01.12
✎
15:14
|
Организовать цикл по докам типа док.выбрьдоки
Пока док.получить>0 цикл так |
|||
6
ЮлияКорж
24.01.12
✎
17:44
|
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос ДокПриема=СоздатьОбъект("Документ.ПриказОПриеме"); Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |ОбрабатыватьДокументы все; |ТекущийЭлемент = Справочник.Сотрудники.ФизическоеЛицо.ТекущийЭлемент; |ДатаНачалаДействия = Справочник.Сотрудники.ДатаНачалаДействия; |ДатаОкончанияДействия = Справочник.Сотрудники.ДатаОкончанияДействия; |ТекущийЭлемент1 = Документ.ПриказОПриеме.Сотрудник.ФизическоеЛицо.ТекущийЭлемент; |ДатаДокнАЧ=Документ.ПриказОПриеме.ДатаНачала; |Функция Счётчик = Счётчик(); |Группировка ТекущийЭлемент; |Группировка ДатаНачалаДействия; |Группировка ДатаОкончанияДействия; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); ДокПриема.ВыбратьДокументы(); Пока ДокПриема.ПолучитьДокумент()>0 Цикл Пока Запрос.Группировка(1) = 1 Цикл с=0;k=0; Если (Запрос.ТекущийЭлемент=ДокПриема.Сотрудник.ФизическоеЛицо.ТекущийЭлемент()) Тогда с=с+1; КонецЕсли; // Заполнение полей ТекущийЭлемент Таб.ВывестиСекцию("ТекущийЭлемент"); Пока Запрос.Группировка(2) = 1 Цикл Если (Запрос.ДатаНачалаДействия=ДокПриема.ДатаНачала) Тогда k=k+1; КонецЕсли; // Заполнение полей ДатаНачалаДействия Таб.ВывестиСекцию("ДатаНачалаДействия"); Пока Запрос.Группировка(3) = 1 Цикл //Если ПустоеЗначение(Запрос.ДатаОкончанияДействия)=1 Тогда // Заполнение полей ДатаОкончанияДействия Таб.ВывестиСекцию("ДатаОкончанияДействия"); КонецЕсли; КонецЦикла; КонецЦикла; КонецЦикла; КонецЦикла; // Заполнение полей "Итого" Таб.ВывестиСекцию("Секция_6"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); Вот так или как я уже что то сегодня вообще |
|||
7
Ёпрст
24.01.12
✎
17:46
|
(6) да уж..
всё в топку смело и без оглядки |
|||
8
Скользящий
24.01.12
✎
17:59
|
Жесть. Руки отрезать мало.
|
|||
9
Cthulhu
24.01.12
✎
19:06
|
пятнично!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |