Вход | Регистрация


1С:Предприятие ::

Метки:

использование функции счетчик в запросе

Я
   Doberman
 
16.05.05 - 13:31
Всем добрый день. Помогите, плиз, побороть такую проблему:
-есть 5-ти уровневый справочник отделов (коды уникальны в пределах подчинения)
-есть одноуровневый справочник ПК, в котором, в котором один из реквизитов ссылается на справочник отделов.
НАДА: сделать отчет/запрос- перебор всех эл. справочника ПК в разрезе отделов с подчсетом кол-ва ПК в пределах каждой группы.
----------
И вроде бы ерундовый запрос:
    ТекстЗапроса = 
    "//{{ЗАПРОС(КрЗапрос)

    |Период с (ТекущаяДата()) по (ТекущаяДата());
    |ТекущийЭлемент = Справочник.ПК.ТекущийЭлемент;
    |МестоИспользования = Справочник.ПК.МестоИспользования;
    |КодОС = Справочник.ПК.КодОС;
    |Функция Счётчик = Счётчик();
    |Функция СчётчикОС = Счётчик() когда(ПустаяСтрока(КодОС)=0);
    |Группировка МестоИспользования упорядочить по МестоИспользования.Наименование;
    |Группировка ТекущийЭлемент;
    |//}}ЗАПРОС

    ;
-------------------
ПРОБЛЕМА: функция счетчик неправильно подсчитывет значения составных групп, т.е. групп, содержащих в себе другие группы. Например, кол-во ПК в отделе труда и з/п подсчитывает верно, а кол-во ПК в бухгалтерии, куда входит отдел труда и з/п а также другие отделы считает уже неверно... Не могу понять, где ошибка, уже с ног сбился... Спасите, помогите, СОС!!!
 
 
   Doberman
 
1 - 16.05.05 - 13:51
лююююди, ау, вы где?
   SnarkHunter
 
2 - 16.05.05 - 13:54
Неужели никто не сталкивался?
   121
 
3 - 16.05.05 - 13:56
Да есть где-то на форуме пример со счетчиком, в свое время не нашла, пришлось извращаться((
   Ёпрст
 
4 - 16.05.05 - 13:58
(0) 1.Покажи остальной код (где используешь счетчик)
   2.На хрена тебе "Период с (ТекущаяДата()) по (ТекущаяДата()); " ?
   1С Дурочкааа
5 - 16.05.05 - 13:58
Она, наверное, считает поштучно в отделе труда, а в бухгалтерии вычисляет и поштучно и для группы отдел труда. Т.е. разница должна быть на итоги по вложенным группам.
   Doberman
 
6 - 16.05.05 - 13:59
да я этот форум уже 2 часа рою, а то что надо, все никак не попадается
   Doberman
 
7 - 16.05.05 - 14:04
неа ,весь прикол в том, что в более крупной группе элементов выдает меньше, чем во вложенной группе, вот такое идиотство ,блин
   Doberman
 
8 - 16.05.05 - 14:07
Пока Запрос.Группировка(1) = 1 Цикл
       // Заполнение полей МестоИспользования

        Если укруп=1 Тогда
        Если Запрос.МестоИспользования.Уровень()=2 Тогда
        Таб.ВывестиСекцию("МестоИспользования");
        КонецЕсли;
        Иначе
        Таб.ВывестиСекцию("МестоИспользования");
        КонецЕсли;
    
    Пока Запрос.Группировка(2) = 1 Цикл
       //    МатПлата=Получить(ТекущийЭлемент.МатеринскаяПлата)

            Таб.ВывестиСекцию("ТекущийЭлемент");
        КонецЦикла;
    КонецЦикла;
----счетчики выводятся в составе секции МестоИспользования
   1С Дурочкааа
9 - 16.05.05 - 14:09
Запрос отрабатывает только элементы справочника. Итоги по группам добавляются в конце обработки запроса.
   Doberman
 
10 - 16.05.05 - 14:16
неа, запрос обрабатывает все элементы- я делал выгрузку рез-та запроса в таблицу значений и сатрел
 
 
   1С Дурочкааа
11 - 16.05.05 - 14:19
Запрос отрабатывает только(!) элементы справочника. Итоги по группам добавляются в конце обработки запроса. Это однозначно.
   Ёпрст
 
12 - 16.05.05 - 14:19
(9)семеряжная правда!
(10)обрабатывает то все элементы, но не значения групп!
   Doberman
 
13 - 16.05.05 - 14:23
ок, не буду спорить, но как осознание этого факта может мне помочь?
   1С Дурочкааа
14 - 16.05.05 - 14:29
Осознание этого факта поможет тебе понять откуда в запросе берутся цифры, которые тебе не понятны.
   Ёпрст
 
15 - 16.05.05 - 14:32
(13)Решение в лоб:
Используй Уровень()
   Ёпрст
 
16 - 16.05.05 - 14:34
+15


|Группировка МестоИспользования упорядочить по МестоИспользования.Уровень();
   Ёпрст
 
17 - 16.05.05 - 14:36
(15),(16) блин ... сам ступил ... Сорри :((
   Doberman
 
18 - 16.05.05 - 14:46
(14) ааааа, ни фига не понимаю... че ж тогда при просмотре таблицы значений идет сначала старшая группа, потом младшая, а потом элементы...
   Doberman
 
19 - 16.05.05 - 17:03
НАРОД, ХЕЛп!!!!
нашел парочку веток, типа
Внешний отчет
но все равно счетчик неправильно подсчитывает итог по сложным группам, содержащим несколько вложенные групп. Что делать? Я в отчаянии, Спасите, ПАМАГИТЕ, ЛЕЛИК!!!!!!!!!!!!111
   lemon
 
20 - 16.05.05 - 17:15
(19) не вникал...   но если уперлись...
делайте запрос без групп, выгружайте в ТЗ без групп, добавляйте группы с подсчетом количества...
   Vovik
 
21 - 16.05.05 - 17:21
Лень вникать в твой запрос.
Но есть такой метод если тебе поможет:
Счетчик=0
Внутри цикла когда идет нужная секция
Счетчик=Счетчик+1
   Doberman
 
22 - 16.05.05 - 17:31
(21) так не канает :(
   Doberman
 
23 - 17.05.05 - 09:32
НАРОД, подсобите, пагибаююююю, ааааааааааааааа...
   Proba
24 - 17.05.05 - 10:07
Обрати внгимание, на всякий случай, на такой элемент запроса как Обрабатывать НеПомеченныеНаУдаление
   sergei_ssau
 
25 - 17.05.05 - 10:44
Попробуй написать функцию в
английском варианте.
Слушал, что в завизимости от релиза именно по этой функции
срабатывае глюк!
   Doberman
 
26 - 18.05.05 - 18:17
НАРОД!!!!!!!!!!!!!!!!!!!!
Счс мля загавкаю и кусаться начну.
ПАМАГИТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
ААААААААААААААА!!!!!!!!!!!!!!!1
Могет, я неудачно объяснил, чего нада, постараюсь еще раз:
нада выдать все элементы одного справочника, подбив их сумму по элементам или группам 2-го уровня другого справочника.
Не знаю, удачно ли объяснил, но поднапряжитесь,  очень нада, честно...



Список тем форума
  Рекламное место пустует
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки - вот настоящая работа.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует