7.7 Помогите дополнить запрос...

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Asttoxa, 31 май 2012.

  1. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Добрый день!
    Есть такой запросик:
    Код:
     ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с НачДата по КонДата;
    |НЗ_Картриджей = Документ.НЗ_Картриджей.ТекущийДокумент;
    |Инж = Документ.НЗ_Картриджей.Инженер;
    |Функция Счётчик = Счётчик();
    |Группировка Инж;
    |Группировка НЗ_Картриджей;
    |Условие(Инж в Инженер);
    |"//}}ЗАПРОС
    ;
    
    У меня счетчик показывает сколько картриджей заправил тот или иной инженер.

    Мне нужно в этот запрос добавить общую сумму документа НЗ. И Общую сумму по инженеру. Не могу понять как. Добавляю сумму по строкам в документе и у меня сразу счетчик начинает считать не количество документов, а количество строк. Да и сумму не правильную показывает (я использую |Функция Сумма_НЗ = Сумма(НЗ_Картриджей); )

    Спасибо.
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Структуру документа НЗ_Картриджей то опишите. Телепаты в отпуске
  3. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Для экспериментов с запросами, рекомендую результат выгружать в таблицу значений. Так будет видно, какие значения, по каким группировкам и в какой последовательности идут.

    Полагаю, что счетчик будет показывать разное значение для разных группировок.

    А вообще, когда необходимо посчитать количество чего-либо (а счетчик обычно ведет себя "интересно"), поступаю так:
    1. Выгружаю запрос в ТЗ
    2. Добавляю в ТЗ еще одну колонку, заполняю ее единицами
    3. Сворачиваю ТЗ по нужным мне реквизитам, складывая значения новой колонки
    4. В ТЗ получаю нужную мне строку, а в добавленной колонке будет указано количество.
  4. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Структура следующая:
    Шапка
    Картридж - спр
    Инженер - спр
    Статус - переч

    Табл часть
    Номенклатура - спр
    Цена - Число
    Количество - Число
    Сумма - число

    Да это я знаю как делать, просто хотел найти дорожку покороче, чтобы без ТЗ. Да и сколько нужно писанины для того, чтобы вывести сначала количество документов у инженера, а потом сами документы. Как минимум две ТЗ. А с запросом все просто он сразу посчитает количества.
  5. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Код:
     ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с НачДата по КонДата;
    |НЗ_Картриджей = Документ.НЗ_Картриджей.ТекущийДокумент;
    |Инж = Документ.НЗ_Картриджей.Инженер;
    |СуммаДок = Документ.НЗ_Картриджей.Сумма;
    |Функция Счётчик = Счётчик();
    |Функция Сум = Сумма(СуммаДок);
    |Группировка Инж;
    |Группировка НЗ_Картриджей;
    |Условие(Инж в Инженер);
    |"//}}ЗАПРОС
    ;
    
    У реквизита МЧ Сумма д.б. установлен итог по колонке
  6. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Спасибо показывает все правильно. Но теперь счетчик показывает количество обработанных строк, а не количество документов. :( Можно ли сделать, чтобы счетчик реагировал на определенные движения?
  7. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Если завести отдельный реквизит в шапке документа и сумму прописывать в ней.
    (В запросе обращаться к ней разумеется)
  8. TopicStarter Overlay
    Asttoxa
    Offline

    Asttoxa Опытный в 1С

    Регистрация:
    18 май 2010
    Сообщения:
    525
    Симпатии:
    0
    Баллы:
    26
    Выкрутился сделав вот так:
    Код:
    |Период с НачДата по КонДата;
    |НЗ_Картриджей = Документ.НЗ_Картриджей.ТекущийДокумент;
    |Инж = Документ.НЗ_Картриджей.Инженер;
    |НоменкДок = Документ.НЗ_Картриджей.Номенклатура; 
    |Наим = Документ.НЗ_Картриджей.НомерСтроки;
    |СуммаДок = Документ.НЗ_Картриджей.Сумма;
    |Функция Счётчик = Счётчик() когда ((Наим=1)или(НЗ_Картриджей.КоличествоСтрок()=0));
    |Функция Сум = Сумма(СуммаДок);
    |Группировка Инж;
    |Группировка НЗ_Картриджей;
    |Условие(Инж в Инженер);
    
  9. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Прикольно... Сам так не делал.
Похожие темы
  1. alp
    Ответов:
    9
    Просмотров:
    772
Загрузка...

Поделиться этой страницей