Здравствуйте, уважаемые мученики 1С. Предлагаю Вашему вниманию интерфейсное решение, навеянное обсуждением Есть ли возможность интерактивного добавления табличных частей в документ?.
То, что можно добавлять страницы (закладки), это все знают. Но тут нужно элементы формы размещать на каждую страницу. Как это избежать? Очень просто. Вид поля формы может быть не только поле ввода, но и Поле переключателя, мало того, ему можно назначить вид Тумблер
Управляется элемент вида Тумблер Списком Выбора. Можно задать жестко или программно. Например:
СписокВыбора = Элементы.Организация.СписокВыбора;
Запрос = Новый Запрос("ВЫБРАТЬ
| Организации.Ссылка КАК Ссылка
|ИЗ
| Справочник.Организации КАК Организации");
СписокВыбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку(0));
Управлять этим элементом тоже не составляет труда. Добавляем или удаляем из Списка выбора нужное / ненужное значение. И в событии элемента формы ПриИзменении прописываем нужные действия.
И все. Никаких лишних элементов формы
Пример обработки написан и тестировался на платформе 8.3.13.1513. на конфигурациях БСП 2.4, УНФ 1.6, БП 3.0.
Глагол Мучать он двусмысленен. Толи я мучаю 1С, толи он меня. Добро пожаловать на обсуждение
В 8 ке есть возможность в реквизитах указывать индексировать и индексировать с доп.упорядочиванием.
Насколько будет медленно или быстро в базе работать отбор по трем реквизитам, где один из них например переключается тумблером, а два других выбираются в форме?
Имеет ли смысл использовать родной индекс 1с в справочнике (владелец+родитель+реквизит) и организовать справочник или регистр сведений тоже будет хорошо работать (быстро переключать данные в таблице)?
(2)
Вы это о чем? В форме в принципе индексов нет.. В статье речь идет о не нужных элементах
(1)
Совсем замучал по ходу.. В тэгах публикации зачем-то стоит excel..
Для того, что бы использовать закладки совсем необязательно рисовать элементы формы на каждой странице.
Во вложении пример работы с закладками (без рисования элементов на каждой закладке)
Ничто не мешает нарисовать всё заранее в конфигураторе (если, конечно, у вас не лютый универсал), и просто рулить видимостью. Начиная с 8.3.8, кажется, изменение видимости не вызывает отправки формы на сервер и перечитывания, и потому работает быстро.
Что касается публикации — мне одному кажется, что это на уровне «как отсортировать список значений», по степени очевидности и примитивности?
(7)Сколько элементов формы у Вас будет? Сколько надо прописать по управлению видимостью?
Здесь только два элемента. Строчек кода 100 и в большей части по управлению Табличной частью. Ни каких видимостей прописывать не надо. Оно само прорисовывается. Мечта программиста:)
(6)Код конечно красивый. Но у меня два элемента Вы создаете программно больше. Какая форма отработает быстрее?
(5)Ну есть метод переместить, все равно это лишнее действие
(9) Что-то мне подсказывает, что разницы в скорости (по крайней мере на глаз) никто не заметит (даже если она и будет, эта самая разница)
(9) Программно создаю закладки, но никто не мешает создать их интерактивно (это просто пример). Если из примера выкинуть создание закладок и псевдофильтрацию то останется всего 2 строчки кода
(8)Вырожденный пример.
Он подходит только для одного случая, когда различия только в отборе, накладываемом на таблицу.
Никакой заменой закладкам не является.
В большинстве случаев на разных закладках отображаются разные данные/требуется разное оформление и тд.
(7)
Мы анархисты максималисты, только для получения зряплаты, а так исповедуем принцип минимализма, особливо когда речь идет о терабайтных базах.:)
А кто сказал, что 1С это сложно?
(11)Что то мне подсказывает, что Вы не работали на 3-х терабайтной базе. Да и у меня в основном коде строчек меньше, чем у Вас. Уже сэкономил для себя 30 минут, как кодер
(13)
Все приёмы хороши, когда вовремя и к месту. Сейчас не нужно, потом вспомните
(13)И да я этот прием использую и в других случаях
(11)Про знаменитую апорию Зенона знаете? Ахиллес ни когда не догонит черепаху. Переделаем её на &НаСервере и &НаСервереБезКонтекста. Будет похоже? А нафига эти директивы компиляции придумали? Значит есть разница в скорости
(17)По сути вы «изобрели» отбор для таблицы.
Поэтому не совсем понятно, зачем так громко об этом заявлять.
О каком разгоне формы в принципе идет речь?
При наличии большого количества значений отборов или при длинном их наименовании — размещать их на форме в переключателях — выглядеть будет стремно. Да и смысла нет это делать.
Стандартный подход для этого — 2 таблицы, в первой таблице — значение ключ, во второй — записи по отбору текущей строки первой таблицы.
(18)
Чтобы не тащить на сервер весь контекст формы, на которой может быть 100500 записей в таблицах, если на сервере нужно сделать что-то не зависимое от формы. Например, выполнить какой нибудь запрос и вернуть результат.
(19)По сути я ответил на вопрос обсуждения, указанный в статье.Судя по всему, Вы ссылку не открывали. На изобретение велосипеда я не претендую. Это всего лишь интерфейсное решение того вопроса. Уверен, что оно самое быстрое. Можете пройтись с секундомером и сравнить решение в (6) и моё Благо замер производительности есть..
(4)А если я перемещю группу ГруппаУправление вниз формы и добавлю добавление колонки, на ёксель будет похоже ?
Ссылку откройте, что вверху:)
(21)
Ссылку открывал.
(21)
Оба варианта будут интерфейсно не читаемы при хотя бы количестве элементов более 10,
если конечно наименования элементов будут не «1», «2» и тд.
Скорость это еще не все =)
(20)О том и речь Я тащу на сервер и обратно всего 2 элемента формы. в (6) в разы больше и метод переместить , то есть дополнительная прорисовка формы при возвращении на клиент. А оно это надо?
В (6) приведен пример того как этого избежать… Либо надо ставить вопрос по другому, либо….
По поводу скорости — в данном конкретном случае скорость вообще не важно ибо на глаз никто ее не заметит (0.005сек и 0,0005сек — никакой разницы визуально не будет)
(23)
Дьявол в мелочах, Выигрываю на прорисовке формы, больше времени на завершении транзакции в проведении документа. А нафига лишняя миллисекунда на 3х терабайтной базе. Совсем не нужно. Лишнее наверное совсем:)
Давайте вернем коаксиал и все будет харашо:)
Кто не застал сего чуда это 10 мегабит на передачу инфы в очереди. 3G на тупом смартфоне быстрее
(23) Сори за оффтоп, сначала подумал, что человек сам с собой спорит 🙂
(27)
Нормальное явление. Это называется посоветоваться с умным человеком:)
В данной теме я отвечаю на все вопросы
Обычно просто делал процедуру которая копирует элементы формы с одной закладки на другую. В результате одну закладку рисуешь как обычно. А потом раскопируешь их на все закладки, ну естественно включая всякие изменения, которые нужны.
(0) мы решили эту же задачу путем генерирования кнопок. Получилось универсально и функционально, но уже не две строчки кода 🙂
Интересная идея.
P.S. Не могу в личку написать, обсудить )