Управление торговлей: Как использовать "Универсальный отчет" в корыстных целях.

19.11.09

Разработка - Универсальные функции

Как часто вас просят заполнить документ данными "как в том отчёте"? Как часто для своих разработок приходится расковыривать типовые отчёты и адаптировать для себя? Вам надоело разгребать тонны кода и километры кусочных запросов? Будьте проще - заставьте типовые механизмы предоставить нужную информацию.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Пример
.epf 6,11Kb
184 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Так сложилось исторически, что в основном занимаюсь я оперативным учётом, как на 8-ке так и на 7-ке, периодически меня озадачивают.

  • Хотим, чтобы этот документ заполнялся, как в том отчёте с возможностью тех же фильтров.  
  • Или я сам озадачиваюсь - надо заполнить какую-нибудь табличку данными "как в том отчёте" + дать возможность отборами рулить пользователю

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

  • Надо сделать возможность "перемещения товаров" на основе фильтров используемых отчетом "Ведомость по товарам и ГДТ организации"

Уж зачем и почему - не знаю - просто надо. Поэтому, прикинув в очередной раз что придётся ковыряться в куче кода и собирать запрос по кусочкам - мне стало грустно. Взглянув уныло на реквизиты предлагаемого к надруганию отчёта меня осенило, а что если... воспользоваться механизмом "Внешние обработки заполнения табличных частей" и не просто так, а с выдумкой:

 Процедура Инициализировать(_Объект,_ИмяТабличнойЧасти,_ТабличноеПолеОбъекта) Экспорт
 // берём нужный отчёт
 ОбъектОтчет = Отчеты.ВедомостьТоварыИГТДОрганизаций.Создать();
 // получаем форму и отдаём на откуп пользователю настройку всех
 ФормаОтчета = ОбъектОтчет.ПолучитьФорму();
 ФормаОтчета.ОткрытьМодально();
 // теперь у нас после закрытия формы остался объект отчёта
 // со всеми настройкам что там начудил юзер
 // а универсальный отчёт(на базе которого построено
 // большее количество типовых отчётов в УТ) имеет экспортную функцию
 // и она с радостью отдаст всё что нажито непосильным трудом
 Результат = ОбъектОтчет.УниверсальныйОтчет.ПолучитьРезультат();
 // теперь поимеем с результата ТЗ, а уж дальше делаем с ней всё что нам угодно
 ТЗ = Результат.Выгрузить();
 // посмотрите на результат
 ТЗ.ВыбратьСтроку();
 //  ну а дальше каждый делает в меру своей испорченности.
 КонецПроцедуры

Некоторые несложные умозаключения: воспользоваться УниверсальнымОтчетом можно не только через посреднические отчёты, но и напрямую, правда придётся заполнять кучу настроек. Если в каком-либо отчёте не используется УниверсальныйОтчет - наверняка используется Построитель - аналогичный финт ушами сработает. Как быть если отчёты нарисованы на компоновке - я не задумывался, не сложилось у меня с нею.. но сдаётся мне что и там можно сделать аналогично.

Собственно всё. Спасибо за внимание.

Update 2009.11.19 добавил обработку для примера и во избежание непоняток

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    5464    DeerCven    15    

57

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    46496    dimanich70    83    

165

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    6873    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    57618    atdonya    31    

68

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    8649    ke.92@mail.ru    17    

68

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

При работе с интеграциями рано или поздно придется столкнуться с получением JSON файлов. И, конечно же, жизнь заставит проверять файлы перед тем, как записывать данные в БД.

28.08.2023    22838    YA_418728146    8    

174
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. lalex23 160 13.11.09 10:22 Сейчас в теме
Как раскрасить код - ненашел :(
3. anig99 2861 13.11.09 14:05 Сейчас в теме
(1) (2) чем я регулярно пользуюсь для СКД (: В частности при использовании СКД для заполнения табличных частей(выкладена тут одна такая). В дерево ещё можно выгрузить.
4. lalex23 160 13.11.09 14:31 Сейчас в теме
(1) задолбался красить код :evil:
(3) это уж куда фантазии хватит туда и сольём
5. Поручик 4598 13.11.09 14:58 Сейчас в теме
(4)
Раскраска программного кода для использования на инфостарте
http://infostart.ru/public/19856/
2. coder1cv8 3485 13.11.09 10:25 Сейчас в теме
Неплохо!
Компоновку тоже можно попросить ТЗ вернуть...
11. echo77 1935 20.01.10 19:34 Сейчас в теме
(2)(3) Как "попросить" компоновку ТЗ вернуть? Направьте, на пример, пожалуйста.
Я хочу из стандартного отчета УПП СпискиСотрудниковОрганизаций получить сотрудников
6. artbear 1583 15.11.09 17:01 Сейчас в теме
(0) Нормально, сам пользуюсь для аналогичных целей.
yasergeya; +1 Ответить
7. yasergeya 21 19.11.09 07:49 Сейчас в теме
огромное человеческое спасибо
часто приходиться делать все это ручками а тут..... :D
8. Андроид 218 19.11.09 15:19 Сейчас в теме
А можно узнать куда вставлять эту Процедуру "Инициализировать"?
Мне допусти тоже надо заполнить перемищение соглано отчета..
9. lalex23 160 19.11.09 15:34 Сейчас в теме
(8) цитирую себя любимого:

воспользоваться механизмом "Внешние обработки заполнения табличных частей"


и добавил обработку для примера, пользуется сразу УниверсальныйОтчёт без прослоек.
10. Андроид 218 19.11.09 17:04 Сейчас в теме
Спасибо.. Все оказалось гениально и просто..
Теперь я знаю как ползоваться механизмом "Внешние обработки заполнения табличных частей"
УРА...
12. rasswet 82 27.04.10 11:05 Сейчас в теме
в бух КОРП нет этого универсального отчета, но есть другой в котором нет "ПолучитьРезультат"..как там делать?
13. macana 26 09.06.10 15:51 Сейчас в теме
14. Psylocibine 20.08.10 05:56 Сейчас в теме
Кстати, а можно каким либо образом обработать ТЗ результата и выгрузить обратно в отчет?
15. lalex23 160 20.08.10 09:49 Сейчас в теме
(14) как вы это себе представляете? нет, в типовой УТ невозможно, но если вы допилите Универсальный отчёт для передачи в него источником данных ТаблицыЗначений - пожалуйста, правда цель не ясна.
16. MaksIvanov 6 05.01.12 08:04 Сейчас в теме
А можно узнать куда вставлять эту Процедуру "Инициализировать"?
Мне допусти тоже надо заполнить перемищение соглано отчета..
17. lalex23 160 16.01.12 21:53 Сейчас в теме
(16) kirillsas, прикреплена же обработка заполнения ТЧ, чего ещё надо то?
18. khaoos 239 19.06.12 05:00 Сейчас в теме
Класс, отдельное спасибо за выложенный пример кода.
19. Para_1987 74 09.07.12 10:06 Сейчас в теме
неплохо написано, прикольно! +
20. nurislam 21.05.13 17:23 Сейчас в теме
Нормально.Спасибо автору
21. RustIG 1931 24.06.15 12:21 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация