Собственно, сабж. Попросили тут "мелкую" доработку - учет услуг в 1С:ТиС 7.7.
Вроде задача простая.
Переделать документ "Поступление (доп.)", чтобы в нем можно было выбирать услуги из справочника "Номенклатура". Добавить оборотный регистр, в который вышеуказанный документ будет делать движения. И переделать типовой отчет "Отчет по клиентам".
С первыми двумя пунктами проблем не возникло. А вот отчет сносит крышу уже 4-й день. В типовом отчете номенклатура в зависимости от типа документа выбирается из регистра "ПартииОтданные", "РеализованныйТовар" или "ПартииНаличие" (которые, заметим, все остаточные). В принципе я сумел прикрутить свой регистр и отчет вполне себе работает. Но оказалось, что клиент хотел прикрутить к этому отчету множественный фильтр. И вот тут начались заморочки. Сам фильтр сделать труда не составило. Была только одна маленькая проблемка - он не работает.
Кто-нибудь сталкивался с такой проблемой?
Вроде задача простая.
Переделать документ "Поступление (доп.)", чтобы в нем можно было выбирать услуги из справочника "Номенклатура". Добавить оборотный регистр, в который вышеуказанный документ будет делать движения. И переделать типовой отчет "Отчет по клиентам".
С первыми двумя пунктами проблем не возникло. А вот отчет сносит крышу уже 4-й день. В типовом отчете номенклатура в зависимости от типа документа выбирается из регистра "ПартииОтданные", "РеализованныйТовар" или "ПартииНаличие" (которые, заметим, все остаточные). В принципе я сумел прикрутить свой регистр и отчет вполне себе работает. Но оказалось, что клиент хотел прикрутить к этому отчету множественный фильтр. И вот тут начались заморочки. Сам фильтр сделать труда не составило. Была только одна маленькая проблемка - он не работает.
Кто-нибудь сталкивался с такой проблемой?
По теме из базы знаний
- Учет НДС в типовом решении 1С:Бухгалтерия предприятия 8
- Ведение учета услуг в разрезе характеристик для УТ 10.3
- Установка цен номенклатуры с учетом услуг доставки УТ 11. Файл - Схема компоновки.
- Программа для Салона красоты, Парикмахерской, Солярия, СПА - Электронный журнал записи клиентов, клиентская база, учет услуг.
- Конфигурация для Салона красоты, Парикмахерской, Солярия, СПА - журнал записи клиентов, клиентская база, учет услуг
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ну я насколько помню множественный фильтр это выборка по каким-то спискам значений.
Там проблемы от заполнения самих списков могут быть и главное от того как Вы в запросе скрутили остаточные и оборотные регистры. В общем искать ошибку без кода почти бесполезно.
Там проблемы от заполнения самих списков могут быть и главное от того как Вы в запросе скрутили остаточные и оборотные регистры. В общем искать ошибку без кода почти бесполезно.
(2) Да код привести не проблема. Могу даже md-шник выложить, который накатывается на демку ТиС. Просто, как я понимаю, условие накладывается на группировку. А группировки "Номенклатура" в этом отчете нет, она рассчитывается в рекурсивной процедуре при выводе в отчет и собирается по документам из регистра.
(4) В типовом отчете группировка Номенклатура (на форме отчета) идет после группировки КодОперации, причем ее нельзя поднять на уровень выше. А в запросе как таковой группировки Номенклатура нет, она обрабатывается перебором документов. Если же создавать группировку принудительно, то отчет вылетает с ошибкой "Не было обращения к старшим уровням выборки." в процедуре ВывестиГруппировку().
Текст запроса:
//{{ЗАПРОС(Сформировать)
Период с ДатаНачала по ДатаКонца;
Фирма = Регистр.Поставщики.Фирма;
УпрАналитика = Регистр.Поставщики.Фирма.УпрАналитика;
ЮрЛицо = Регистр.Поставщики.Фирма.ЮрЛицо;
Контрагент = Регистр.Поставщики.Договор.Владелец;
СвойствоКонтр = Регистр.Поставщики.Договор.Владелец.ОсновноеСвойство.ЗначениеСвойства;
Договор = Регистр.Поставщики.Договор;
КодОперации = Регистр.Поставщики.КодОперации;
Сумма = Регистр.Поставщики.СуммаРуб;
ДолгПоставщика = Регистр.Поставщики.СуммаРуб;
Номенклатура = Регистр.УчетУслуг.Номенклатура;
Долг = Регистр.Поставщики.СуммаРуб;
СуммаДляПринятых = Регистр.УчетУслуг.СуммаРуб;
Док = Регистр.Поставщики.ТекущийДокумент, Регистр.УчетУслуг.ТекущийДокумент;
Функция ДолгПоставщикаКонОст = КонОст(ДолгПоставщика);
Функция ДолгПоставщикаНачОст = НачОст(ДолгПоставщика);
Функция ДолгПоставщикаПриход = Приход(ДолгПоставщика)Когда (Не(КодОперации в ИсключитьИзОплатыПост));
Функция ВозвратПоставщику = Приход(ДолгПоставщика)Когда (КодОперации в ИсключитьИзОплатыПост);
Функция ДолгПоставщикаРасход = Расход(ДолгПоставщика);
Функция ДолгКонОст = КонОст(Долг);
Функция ДолгНачОст = НачОст(Долг);
Функция ДолгПриход = Приход(Долг);
Функция ДолгРасход = Расход(Долг);
Функция ПростоСуммаРасход = Расход(Сумма);
Функция ПростоСуммаПриход = Приход(Сумма);
Условие (КодОперации <> глКО.ЗачтенАвансПоставщику);
Условие (КодОперации <> глКО.ЗачтенАвансПокупателя);
Условие (КодОперации <> глКО.ЗачтенВозвратПокупателя);
Условие (КодОперации <> глКО.ЗачтенВозвратПоставщику);
Условие (КодОперации <> глКО.СторнированВозврат);
Условие (КодОперации <> глКО.СторнированАванс);
Условие (КодОперации <> глКО.Закупка);
Условие (КодОперации <> глКО.ЗакупкаРозница);
Условие (КодОперации <> глКО.АвансовыйОтчет);
Условие (КодОперации <> глКО.АвансовыйОтчетВал);
Условие (КодОперации <> глКО.КурсоваяРазница);
Условие (Номенклатура в глУсловие1);Группировка Фирма;Группировка Контрагент без групп;Группировка КодОперации;
Группировка Док;
Текст запроса:
//{{ЗАПРОС(Сформировать)
Период с ДатаНачала по ДатаКонца;
Фирма = Регистр.Поставщики.Фирма;
УпрАналитика = Регистр.Поставщики.Фирма.УпрАналитика;
ЮрЛицо = Регистр.Поставщики.Фирма.ЮрЛицо;
Контрагент = Регистр.Поставщики.Договор.Владелец;
СвойствоКонтр = Регистр.Поставщики.Договор.Владелец.ОсновноеСвойство.ЗначениеСвойства;
Договор = Регистр.Поставщики.Договор;
КодОперации = Регистр.Поставщики.КодОперации;
Сумма = Регистр.Поставщики.СуммаРуб;
ДолгПоставщика = Регистр.Поставщики.СуммаРуб;
Номенклатура = Регистр.УчетУслуг.Номенклатура;
Долг = Регистр.Поставщики.СуммаРуб;
СуммаДляПринятых = Регистр.УчетУслуг.СуммаРуб;
Док = Регистр.Поставщики.ТекущийДокумент, Регистр.УчетУслуг.ТекущийДокумент;
Функция ДолгПоставщикаКонОст = КонОст(ДолгПоставщика);
Функция ДолгПоставщикаНачОст = НачОст(ДолгПоставщика);
Функция ДолгПоставщикаПриход = Приход(ДолгПоставщика)Когда (Не(КодОперации в ИсключитьИзОплатыПост));
Функция ВозвратПоставщику = Приход(ДолгПоставщика)Когда (КодОперации в ИсключитьИзОплатыПост);
Функция ДолгПоставщикаРасход = Расход(ДолгПоставщика);
Функция ДолгКонОст = КонОст(Долг);
Функция ДолгНачОст = НачОст(Долг);
Функция ДолгПриход = Приход(Долг);
Функция ДолгРасход = Расход(Долг);
Функция ПростоСуммаРасход = Расход(Сумма);
Функция ПростоСуммаПриход = Приход(Сумма);
Условие (КодОперации <> глКО.ЗачтенАвансПоставщику);
Условие (КодОперации <> глКО.ЗачтенАвансПокупателя);
Условие (КодОперации <> глКО.ЗачтенВозвратПокупателя);
Условие (КодОперации <> глКО.ЗачтенВозвратПоставщику);
Условие (КодОперации <> глКО.СторнированВозврат);
Условие (КодОперации <> глКО.СторнированАванс);
Условие (КодОперации <> глКО.Закупка);
Условие (КодОперации <> глКО.ЗакупкаРозница);
Условие (КодОперации <> глКО.АвансовыйОтчет);
Условие (КодОперации <> глКО.АвансовыйОтчетВал);
Условие (КодОперации <> глКО.КурсоваяРазница);
Условие (Номенклатура в глУсловие1);Группировка Фирма;Группировка Контрагент без групп;Группировка КодОперации;
Группировка Док;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот