Флажок в динамическом списке в 1С 8.3 (управляемые формы)

0. 1504 19.01.22 06:00 Сейчас в теме
Продемонстрирована реализация флажков в динамическом списке на управляемых формах - еще один способ.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. tgr123 17 19.01.22 11:05 Сейчас в теме
Часто использую такую доработку именно в расширении.
При этом - только программная доработка запроса динамического списка и программный вывод колонки и обработчиков/команд.
Вместо доп.реквизита использую либо свой добавленный регистр сведений, либо регистр ДополнительныеСведения. Считаю использовать реквизит объекта не нужно - лишняя запись объекта.
В итоге слетает расширение очень редко, только если глобально изменен запрос динамического списка.
Например в УТ 11.5 было изменено много запросов в дин.списках относительно 11.4, что добавило работы при обновлении :)
sm.artem; porese; Rustig; +3 Ответить
2. porese 20.01.22 11:01 Сейчас в теме
Простое решение, спасибо.
3. Yashazz 4284 20.01.22 18:37 Сейчас в теме
Ну не очень хорошее решение, мягко говоря. Потому что обращение идёт к ещё одной таблице, доп.свойств. А на неё и РЛС могут быть навешены, и объёмчики могут быть неслабые... И документ записывать надо, а очень запросто может оказаться, что он при записи искажает некие данные или находится в закрытом периоде, или заблокирован кем-то... Словом, ваще не айс подход.

А способ передачи данных в ПриПолученииДанныхНаСервере я уже описывал в своей публикации.
DrAku1a; dhurricane; _LkMaksimka_; Rustig; +4 Ответить
5. DrAku1a 1484 21.01.22 13:39 Сейчас в теме
(3) Наверное, лучше делать через дополнительные сведения (регистр сведений общий на все объекты).
Запрос будет чуть сложнее, но записывать будет легче.
IgorS; Yashazz; +2 Ответить
12. Rustig 1504 27.01.22 22:13 Сейчас в теме
(3)
А способ передачи данных в ПриПолученииДанныхНаСервере я уже описывал в своей публикации.

ознакомился - задача из твоей публикации отличается от представленной мною и поднятой Антоном... я исхожу всегда из того, что "каждой задаче - свое решение"... при этом, по итогу оказалось мы с Антоном решали две разные задачи - но про одно и тоже "флажок в динамическом списке" - как следствие решение и механизмы получились разные...
:)
4. Yashazz 4284 21.01.22 08:46 Сейчас в теме
Собственно, начинать вообще надо с методического анализа задачи.

Если речь о временных пометках, смысл имеющих и нужных только в рамках одного сеанса работы с ДС, или одного сеанса 1С, то однозначно выбирать следует некие временные коллекции, хранимые в ОЗУ, сеансовых данных, кэши и выборки, не относящиеся к БД. Можно использовать контекст формы и передавать выборку через хранилище либо настройку, можно (если расширение) сделать параметр сеанса либо общую функцию; можно применить даже кэширование во временный файл. Главное, что по истечении потребности эта выборка исчезнет, и затем более не будет востребована.
Если речь о постоянных пометках, либо о нужных в рамках нескольких сеансов (в т.ч. нескольких пользователей одновременно), то конечно следует применять средства БД. Также важно проанализировать имеющийся инструмент (его "тяжесть" и навороченность, если мы о контурах БСП), вероятность блокировок, конкурентного доступа и всех "прелестей" параллельной работы. В этом случае носителем может стать некий типовой механизм (показанные в публикации доп.реквизиты, механика прикреплённых файлов, хранилища значений, хранилища настроек итд), либо собственный, если расширение, и тут выигрышнее будет свой независимый непериодический регистр сведений, которому можно делать свои права доступа, блокировки, индексацию.

Если смотреть глубже, можно оценить объёмы этих пометок. Если помечается 5-10% от общего количества, и оно мало, то применимо быстрое сохранение в хранилища общих настроек, или вообще использование условного оформления ДС, а не выборка пометки запросом ДС. Если объёмы велики и прокрутка списка активно делается, тогда надо думать, куда и как такой объём адекватно "пролезет", будут ли повторы обращений, автообновляется ли ДС и как часто, итд.

Поэтому разговоры, чья публикация на эту тему "лучше", разумно вести, исходя из конкретных решаемых задач.
IgorS; JohnyDeath; the1; DrAku1a; swadim-is; +5 Ответить
6. kasper076 85 21.01.22 14:19 Сейчас в теме
Пример получения признака без соединения с таблицей:
ВЫБРАТЬ
    Р.Ссылка,
    Р.Контрагент,
    Р.Склад,
    ВЫБОР
        КОГДА 1 В
                (ВЫБРАТЬ ПЕРВЫЕ 1
                    1
                ИЗ
                    Документ.СчетФактураВыданный КАК Х
                ГДЕ
                    Р.Ссылка = Х.ДокументОснование)
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ЕстьСФ
ИЗ
    Документ.РеализацияТоваровУслуг КАК Р
Показать

Сложные запросы в динамическом списке или как не надо писать запросы для них
7. Rustig 1504 21.01.22 15:17 Сейчас в теме
(6)
ВЫБРАТЬ
Р.Ссылка,
Р.Контрагент,
Р.Склад,
ВЫБОР
КОГДА 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
Документ.СчетФактураВыданный КАК Х
ГДЕ
Р.Ссылка = Х.ДокументОснование)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК ЕстьСФ
ИЗ
Документ.РеализацияТоваровУслуг КАК Р
Показать


я бы запрос реализовал вот так :
1ый вариант - через левое соединение таблиц реализаций и СФ
или 2ой вариант - через временную таблицу документов-оснований СФ, далее в основной таблице Если Ссылка В (СписокДокОснований) то Истиина
ваш вариант мне совершенно не нравится (интуитивно)
8. kasper076 85 21.01.22 15:26 Сейчас в теме
(7) эт не совсем мой вариант. Я привел ссылку на статью автора. Он приводит планы запросов. А какие ваши доказательства? ;)
9. JohnyDeath 300 22.01.22 18:52 Сейчас в теме
Т.е. если один пользователь выбирает для себя галками документы, то и у всех остальных оно будет в галках?
По-моему флажки нужны конкретно для выбора и конкретно для ТЕКУЩЕГО пользователя.
А запись всего объекта документа ради этого мне кажется слишком затратной.
10. Yashazz 4284 23.01.22 12:48 Сейчас в теме
(9) Вот я об этом и написал выше.
11. Rustig 1504 27.01.22 21:45 Сейчас в теме
(9) моя история про веб-клиент и мобильный клиент... плюс про
Для чего можно использовать хранение флажков в документах БД? Возможно для задач визирования документов - когда например некоторое должностное лицо визирует документы, например проставляет статусы "Проверен", "Оригинал получен", "Акт сверки согласован" и т.д.

я лично веду такой учет по счетам на оплату - "акт подписан", "счет оплачен"...
13. vld1973 65 29.04.22 13:42 Сейчас в теме
Оставьте свое сообщение
Вакансии
Программист 1С
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Руководитель проектов внедрения 1С:УХ
Краснодар
зарплата от 150 000 руб.
Полный день

Консультант-аналитик 1С
Москва
зарплата от 120 000 руб. до 190 000 руб.
Полный день

Ведущий аналитик-разработчик 1С
Москва
зарплата от 230 000 руб. до 270 000 руб.
Полный день

1С:Эксперт по производительности
Москва
зарплата от 400 000 руб. до 950 000 руб.
Полный день