Хитрости СКД. Часть 4

0. milkers 2770 12.10.22 13:21 Сейчас в теме
Столкнулся с тем, что мне приходится писать гору отчетов. Во многих приходится использовать повторяющиеся приемы. Решил написать шпаргалку, которая, надеюсь пригодится не только мне. В этой статье: Работа с 2 схемами в одном отчете, когда данные одной схемы являются исходными для другой. Копирование пользовательских отборов из одной схемы в другую. Корректная модификация формы отчета БСП.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. RocKeR_13 1215 13.10.22 16:22 Сейчас в теме
В этой статье: Работа с 2 схемами в одном отчете, когда данные одной схемы являются исходными для другой. Копирование пользовательских отборов из одной схемы в другую. Корректная модификация формы отчета БСП.


Альтернативы в виде:

1) Вложенные схемы
2) Два набора + связывание через параметры

рассматривали?
2. milkers 2770 13.10.22 16:35 Сейчас в теме
(1) Нет, так данные первой схемы пользователь правит руками -и это уже данные для второй
4. Manoshkin 346 14.10.22 04:34 Сейчас в теме
(2)
данные первой схемы пользователь правит руками
я бы запихал результат в документ или регистр. А то потом концов не найдешь, что и кто направил.
Pavel_Vladivostok; +1 Ответить
6. milkers 2770 14.10.22 08:11 Сейчас в теме
(4) Там пользователь динамически манипулирует ценами и смотри что получится, хранить нет нужды.
3. Timic 46 13.10.22 19:53 Сейчас в теме
Не очень мне нравится подход с дублированием формы и последующей модификацией.
С одной стороны это упрощает разработку, но подход не универсальный. Если обновится основная форма, то дублированные нужно будет переделывать.
Проблему можно решить программной доработкой основной формы (БСП это позволяет). Простой способ это добавить подключаемую команду по которой будет открываться отдельная форма для редактирования таблицы. Способ сложнее- добавить программно таблицу непосредственно на форму.
SlavaKron; +1 Ответить
5. Pavel_Vladivostok 58 14.10.22 06:38 Сейчас в теме
Недавно была подобная задача, но в моем случае первую таблицу править руками не нужно было, поэтому все решилось довольно просто.
Так и не понял в чем проблема с передачей таблицы из формы на сервер разве не получается поместить во временное хранилище и оттуда забрать?
8. milkers 2770 14.10.22 08:23 Сейчас в теме
(5) Поместить во временное хранилище легко. Только вот внутри фонового задания при обращении к нему получаем Неопределенно. Релиз 1С:Предприятие 8.3 (8.3.18.1741).
7. milkers 2770 14.10.22 08:21 Сейчас в теме
(3) Основная форма обновляется довольно редко, большая часть функционального кода выделена в общие модули БСП. Не помню случая, что-б пришлось ее менять. Даже если придется -копируется новая форма из текущий конфигурации и переносится кусок кода обрамленный комментариями из старой формы, который находится в конце модуля формы. Ваши способы хороши, но трудоемки. И не решают главную проблему - нужно переопределить функцию кнопки "Сформировать", да так, что-б она выполнялась не в фоновом задании.
9. RustIG 1692 14.10.22 11:54 Сейчас в теме
(0) изначальная задача какая? может ее можно по другому решить? я в целом не понял, что и зачем делается с СКД.
Портянка кода из сложных объектов (классов в терминологии языка Си) платформы 1С ради чего?
10. milkers 2770 14.10.22 12:06 Сейчас в теме
(9) Наверно, можно многими способами. Главное решить. Цель публикации не решение конкретной задачи, а демонстрация целого набора кубиков, которые могут пригодиться на большом наборе задач. Если мне снова потребуется скопировать пользовательские отборы и параметры, доработать форму отчета, перенести компоновку в модуль формы, обратиться к пользовательским параметрам, передать таблицу в качестве параметра в фоновое задание, работать с нескольким схемами - я буду знать куда быстро глянуть.
11. lukyan 47 15.10.22 00:12 Сейчас в теме
Минусы решения: дублирование формы, реализация логики в форме, а не в объекте.
Есть предположения, что автор не очень подробно разобрался с возможностями подсистемы ВариантыОтчетов, в которой есть возможности настройки и модификации типовой формы отчета под необычные задачи, а так же передать все что угодно через большой набор предопределенных обработчиков и параметров.
Bazil; Yashazz; +2 Ответить
12. milkers 2770 18.10.22 16:17 Сейчас в теме
(11) -Господа, все и началось с невозможности передать таблицу значений в фоновое задание через адрес хранилища значений. Адрес приходит, хранилище пустое. М.б. это проблема релиза. Буду рад узнать другие способы.
13. lukyan 47 18.10.22 17:50 Сейчас в теме
(12) А можете простой пример сделать откуда и куда, а главное зачем не передается таблица, чтобы точно понимать и воспроизвести проблему. Заинтересовал этот кейс, хотелось бы тоже разобраться.
15. ixijixi 1472 31.01.23 10:23 Сейчас в теме
(12) Сталкивался с таким, когда неполностью используешь синтаксис, надо обязательно указать УИ при помещении во ВХ
ПоместитьВоВременноеХранилище(Данные, УникальныйИдентификатор)
14. vazelin 113 22.10.22 23:48 Сейчас в теме
При похожей задаче делал отдельный служебный регистр для передачи данных в фоновое задание.
Сейчас бы попробовал другие варианты.
1. По-моему в пользовательские настройки можно передавать дополнительные параметры. Есть свойство ДополнительныеПараметры. Туда бы загнал массив структур, а в обработчике при компоновке результата, уже бы при получении настроек из них вытаскивал и собирал таблицу.
2. Попробовать через хранилище общих настроек. Сохраняю для некоторых форм в хранилище общих настроек всякие пользовательские отборы и тп... тоже должно получиться.
Оба способа используются в типовых.
Второй способ в ут ерп плотно используется для сохранения схем компоновки правил заполнения планов,и передачи их в фоновое задание заполнения
16. milkers 2770 31.01.23 10:28 Сейчас в теме
17. milkers 2770 31.01.23 10:29 Сейчас в теме
(15) - Без этого бы отчет не работал, если его запускать как файл.
Оставьте свое сообщение
Вакансии
Специалист по технической поддержке пользователей 1С
Москва
зарплата от 70 000 руб.
Полный день

Системный архитектор 1С
Москва
зарплата от 250 000 руб.
Полный день

Системный аналитик (бизнес-аналитика)
Москва
зарплата от 100 000 руб.
Полный день

Руководитель группы 1С
Екатеринбург
зарплата от 200 000 руб.
Полный день

Функциональный архитектор
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день