Имя: Пароль:
1C
1С v8
Хелп, не работает группировка по источнику информации при обращении в Продажах
0 TSRh
 
18.12.13
12:01
УТ 10.3
В отчёте "Продажи" не работает группировка по "Контрагент.Источник информации при обращении", выводит одну пустую группировку и всё.
Конфу до меня дорабатывали, контактов с "доработчиками" нет, руки бы им поотрывал :(
В демо УТ всё ОК, работает как надо.
Проверил тексты отчётов Продажи, Универсальный, формы, модули - всё одинаково. Параметры реквизитов справочников "Контрагенты", "Источники информации", регистра "Источники информации" - всё идентично с демкой. Источник информации указывается как и положено в документе "Событие", записи в регистре есть.
http://prntscr.com/2c1izc - как в демке
http://prntscr.com/2c1jnv - как в реале

Помогите, пожалуйста, ткните носом где ещё что может быть
Ну просто засада какая-то :(
1 mikecool
 
18.12.13
12:03
если смотреть запросом в "Контрагент.Источник информации при обращении" - заполнено?
2 TSRh
 
18.12.13
12:07
если смотреть запросом, который формируется в Продажах для Универсального, то нет

если просто запрос сделать по регистру, то да
3 mikecool
 
18.12.13
12:11
(2) при чем здесь регистр? ты группируешь по значению реквизита справочника Контрагенты, если оно не заполнено - получаешь правильный результат в (0)
4 TSRh
 
18.12.13
12:43
ну наверное потому, что в "Справочник Контрагенты: ФормаЭлемента":
// Обработчик события Нажатие элемента формы ИсточникИнформации
//
Процедура ИсточникИнформацииПриОбращенииНажатие(Элемент)

    Отказ = Ложь;

    Если ЭтоНовый() Тогда
        Предупреждение("Источники информации при обращении отображаются только у записанных элементов справочника и устанавливаются в документе 'Событие'");
        Отказ = Истина;
    КонецЕсли;

    Если Не Отказ Тогда
        ФормаСпискаРегистра = РегистрыСведений.ИсточникИнформацииПриОбращении.ПолучитьФормуСписка(,ЭтаФорма);
        ФормаСпискаРегистра.РегистрСведенийСписок.Отбор.Контрагент.Значение = Ссылка;
        ФормаСпискаРегистра.РегистрСведенийСписок.Отбор.Контрагент.Использование = Истина;
        ФормаСпискаРегистра.Открыть();
    КонецЕсли;

КонецПроцедуры

а в модуле "События" не нашёл где источник информации присваивается для СправочникОбъект.Контрагенты.ИсточникИнформацииПриОбращении, там только:

Процедура ОбработкаПроведения()
...
Если ЗначениеЗаполнено(ИсточникИнформацииПриОбращении)
        И ВидОбъекта = Перечисления.ВидыОбъектовСобытия.Контрагент
        И ТипЗнч(Контрагент) = Тип("СправочникСсылка.Контрагенты")
        И ТипСобытия = Перечисления.ВходящееИсходящееСобытие.Входящее
        И Контрагент.Покупатель Тогда
        
        Движение = Движения.ИсточникИнформацииПриОбращении.Добавить();
        Движение.Период             = Дата;
        Движение.Контрагент         = Контрагент;
        Движение.ИсточникИнформации = ИсточникИнформацииПриОбращении;
        
        Попытка
            Движения.ИсточникИнформацииПриОбращении.Записать();
        Исключение
            Отказ = Истина;
            ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки(), Отказ);
        КонецПопытки;
        
    КонецЕсли;
КонецПроцедуры

странно то, что в Событии поле "Источник" доступено для изменения, а в демке - нет

вобщем бред какой-то :(
5 TSRh
 
18.12.13
12:58
решил перенести из регистра в справочник инфу, да и всё
но видимо при новых "Событиях" запись в справочник не идёт
опять эти извращенцы 1Совцы перемудрили, так их перетак :(
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший