Учет услуг

1. 4ish 25.06.12 22:51 Сейчас в теме
Собственно, сабж. Попросили тут "мелкую" доработку - учет услуг в 1С:ТиС 7.7.
Вроде задача простая.
Переделать документ "Поступление (доп.)", чтобы в нем можно было выбирать услуги из справочника "Номенклатура". Добавить оборотный регистр, в который вышеуказанный документ будет делать движения. И переделать типовой отчет "Отчет по клиентам".

С первыми двумя пунктами проблем не возникло. А вот отчет сносит крышу уже 4-й день. В типовом отчете номенклатура в зависимости от типа документа выбирается из регистра "ПартииОтданные", "РеализованныйТовар" или "ПартииНаличие" (которые, заметим, все остаточные). В принципе я сумел прикрутить свой регистр и отчет вполне себе работает. Но оказалось, что клиент хотел прикрутить к этому отчету множественный фильтр. И вот тут начались заморочки. Сам фильтр сделать труда не составило. Была только одна маленькая проблемка - он не работает.

Кто-нибудь сталкивался с такой проблемой?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dusha0020 1117 26.06.12 01:08 Сейчас в теме
Ну я насколько помню множественный фильтр это выборка по каким-то спискам значений.
Там проблемы от заполнения самих списков могут быть и главное от того как Вы в запросе скрутили остаточные и оборотные регистры. В общем искать ошибку без кода почти бесполезно.
3. 4ish 26.06.12 09:34 Сейчас в теме
(2) Да код привести не проблема. Могу даже md-шник выложить, который накатывается на демку ТиС. Просто, как я понимаю, условие накладывается на группировку. А группировки "Номенклатура" в этом отчете нет, она рассчитывается в рекурсивной процедуре при выводе в отчет и собирается по документам из регистра.
4. ra9000 11 26.06.12 12:53 Сейчас в теме
Что мешает сделать группировку по номенклатуре.
Выложи запрос который получается перед
Запрос.Выполнить(ТекстЗапроса);
Собственно "ТекстЗапроса" - это интересует.
5. 4ish 26.06.12 13:35 Сейчас в теме
(4) В типовом отчете группировка Номенклатура (на форме отчета) идет после группировки КодОперации, причем ее нельзя поднять на уровень выше. А в запросе как таковой группировки Номенклатура нет, она обрабатывается перебором документов. Если же создавать группировку принудительно, то отчет вылетает с ошибкой "Не было обращения к старшим уровням выборки." в процедуре ВывестиГруппировку().

Текст запроса:
//{{ЗАПРОС(Сформировать)
Период с ДатаНачала по ДатаКонца;
Фирма = Регистр.Поставщики.Фирма;
УпрАналитика = Регистр.Поставщики.Фирма.УпрАналитика;
ЮрЛицо = Регистр.Поставщики.Фирма.ЮрЛицо;
Контрагент = Регистр.Поставщики.Договор.Владелец;
СвойствоКонтр = Регистр.Поставщики.Договор.Владелец.ОсновноеСвойство.ЗначениеСвойства;
Договор = Регистр.Поставщики.Договор;
КодОперации = Регистр.Поставщики.КодОперации;
Сумма = Регистр.Поставщики.СуммаРуб;
ДолгПоставщика = Регистр.Поставщики.СуммаРуб;
Номенклатура = Регистр.УчетУслуг.Номенклатура;
Долг = Регистр.Поставщики.СуммаРуб;
СуммаДляПринятых = Регистр.УчетУслуг.СуммаРуб;
Док = Регистр.Поставщики.ТекущийДокумент, Регистр.УчетУслуг.ТекущийДокумент;
Функция ДолгПоставщикаКонОст = КонОст(ДолгПоставщика);
Функция ДолгПоставщикаНачОст = НачОст(ДолгПоставщика);
Функция ДолгПоставщикаПриход = Приход(ДолгПоставщика)Когда (Не(КодОперации в ИсключитьИзОплатыПост));
Функция ВозвратПоставщику = Приход(ДолгПоставщика)Когда (КодОперации в ИсключитьИзОплатыПост);
Функция ДолгПоставщикаРасход = Расход(ДолгПоставщика);
Функция ДолгКонОст = КонОст(Долг);
Функция ДолгНачОст = НачОст(Долг);
Функция ДолгПриход = Приход(Долг);
Функция ДолгРасход = Расход(Долг);
Функция ПростоСуммаРасход = Расход(Сумма);
Функция ПростоСуммаПриход = Приход(Сумма);
Условие (КодОперации <> глКО.ЗачтенАвансПоставщику);
Условие (КодОперации <> глКО.ЗачтенАвансПокупателя);
Условие (КодОперации <> глКО.ЗачтенВозвратПокупателя);
Условие (КодОперации <> глКО.ЗачтенВозвратПоставщику);
Условие (КодОперации <> глКО.СторнированВозврат);
Условие (КодОперации <> глКО.СторнированАванс);
Условие (КодОперации <> глКО.Закупка);
Условие (КодОперации <> глКО.ЗакупкаРозница);
Условие (КодОперации <> глКО.АвансовыйОтчет);
Условие (КодОперации <> глКО.АвансовыйОтчетВал);
Условие (КодОперации <> глКО.КурсоваяРазница);
Условие (Номенклатура в глУсловие1);Группировка Фирма;Группировка Контрагент без групп;Группировка КодОперации;
Группировка Док;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот