|
Открытие формы отчета с отбором в 8.2. Решение проблемы
|
|||
---|---|---|---|
#18+
Забавная ссылка на проблему. Нельзя пользоваться стандартными отборами предлагаемыми платформой, при формировании отчетов. Пример стандартного использования - вызова отчета "Остатки товаров на складах", из справочника номенклатура с отбором по текущей строке товара.: ПараметрыФормы = Новый Структура("Отбор,СформироватьПриОткрытии", Новый Структура("Товар", ЭтаФорма.Список.ТекущаяСтрока), Истина); ОткрытьФорму("Отчет.ОстаткиТоваровНаСкладах.Форма", ПараметрыФормы);Если вы уже ранее открывали отчет "Остатки товаров" и не дай бог проставили хоть ОДИН параметр отбора - то при вызове вышеназванной процедуры вы получите сообщение:Невозможно применить фиксированные настройки. Пересекаются элементы отбора.Это возникает из-за конфликта сохраненных ранее ваших настроек отбора, и программного отбора. Чтобы исправить ситуацию - вам необходимо убрать все пользовательские отборы (тоесть то что вы уже ранее выбирали в этом отчете вручную). Если вы думаете что это только в "демобазе", то глубоко заблуждаетесь - добро пожаловать в 11 релиз торговли. Все те же грабли. И в принципе с этим можно было бы жить, если бы не возникали следующие действия пользователя. Он открыл отчет с отбором по этому товару (допустим все пользовательские отборы убраны). Увидел информацию по нужному ему товару и захотел сформировать тут же в этом окне отчета - остатки с другими отборами... Тут же появится вышенаписанное сообщение об ошибке. И пользователь - НИКАК не сможет это исправить... Кроме как закрыть отчет и открыть его через меню отчеты... Мало того - отбор прописанный программой он НИКАК не видит. На данный момент нашел решение - через модуль отчета: 1. В ПараметрыСеанса.СтруктураФормированияОтчетов(тип - структура) добавляем "Отчет"="ОстаткиТоваров" и "Номенклатура"=ЭтаФорма.Список.ТекущаяСтрока 2. В справочнике номенклатура пишем строки: ПараметрыФормы = Новый Структура("СформироватьПриОткрытии", Истина); ОткрытьФорму("Отчет.ОстаткиТоваровНаСкладах.Форма", ПараметрыФормы); 3. В модуле отчета прописываем через видимые пользователю поля данных - наш отбор. У всех прочих полей и отборов - ставим галочку "Использование"=Ложь. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
Если кто знает о других решениях - с удовольствием посмотрю. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2010, 00:35 |
|
Открытие формы отчета с отбором в 8.2. Решение проблемы
|
|||
---|---|---|---|
#18+
Программист 1с, Спасибо, пригодилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2011, 10:24 |
|
Открытие формы отчета с отбором в 8.2. Решение проблемы
|
|||
---|---|---|---|
#18+
Столкнулся с подобной проблемой, решил несколько иначе: На стороне команды документа: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
На стороне отчета. Модуль объекта: 1) Дополняем процедуру ПриКомпоновкеРезультата: Код: pascal 1. 2. 3. 4. 5.
2) Определяем процедуру ЗаполнитьПользовательскиеНастройки: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2013, 08:42 |
|
|
start [/forum/topic.php?fid=28&fpage=40&tid=1519668]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 159ms |
0 / 0 |