Добавление строки в табличное поле типа "отбор" #680279


#0 by DreamMaster
Всем доброго времени суток. Подскажите: есть табличное поле, тип значения "отбор". Как добавить в данную таблицу строку с отбором ? Были мысли что-то вроде этого: (данные код не работает)
#1 by kiruha
#2 by an_str
Можно так попробовать, к примеру:
#3 by kiruha
ОтборКомпоновкиДанных <> Отбор
#4 by Defender aka LINN
О_О Ну, снимай штаны, подставляй бейцы. Сейчас будем их клещами прижигать, а ты будешь сопротивляться, чтобы не дай бог не рассказать чего-нибудь
#5 by DreamMaster
, - спасибо, сейчас проверю. Ты сам то понял, что сказал?
#6 by Defender aka LINN
Я - да. Я про то, что ты не сознаешься - что за отбор, что за спиок, что за формы, что за таблица, которую ты перебираешь и нахрена это все вообще надо. Видимо, тебе так интереснее.
#7 by DreamMaster
Не пишу - так как это не важно. Задача - заменить стандартный отбор в форме списка документа (не важно какой документ). Для этого реализую свою форму отбора и сортировки
#8 by kiruha
Это важно В форме списка доступные поля менять нельзя
#9 by Defender aka LINN
Если ты такой умный, че ж на форум к нам, дуракам, полез-то? Что, задача вот прямо так и стоит "поменять отбор"? И нафига, позволь поинтересоваться.
#10 by DreamMaster
Проблема такая: в 1С в формах списка документов можно выбрать отборы, которые не будут иметь смысла и просто загрузят систему (к примеру подразделение в группе из списка и выбрать конкретное подразделение). Чтобы такого не было, перед фильтрацией необходимо проверять выбранный фильтр.
#11 by Defender aka LINN
Вспотеть не боишься - все проверять? Идиотская задача, на самом деле.
#12 by Infsams654
да беда, загрузят систему. Кто сказал что загрузят? Если пользователю какие-то отборы не в тему, то он и не полезет туда
#13 by Odavid
закрой ненужные отборы, делофф-то...
#14 by Odavid
а если нужны? )) а если именно загрузить систему таким образом он и хочет?
#15 by DreamMaster
Пользователь не обладает большим умом. Если поставить фильтр с подразделением, который я приводил ранее, обновление списка будет проходить длительное время, но в итоге фильтр сработает аналогично "Подразделение равно". Пользователю глубоко поровну, что все остальные будут висеть. Согласен, Проверки на каждый реквизит отбора будут выглядеть очень жестоко (на овнокод будет смахивать), но тем не менее данная затычка очень сильно ускорит производительность системы в целом (точнее просто исчезнут висяки из-за глупых отборов)
#16 by DreamMaster
На эту же тему Если выбрать отбор (к примеру) "подразделение в группе из списка" и выбрать только одну группу, запрос будет выполнятся дольше, чем "подразделение в группе". Вот множество таких мелочей дают очень не хорошую картину о производительности системы в целом
#17 by Odavid
вы наивно полагаете, что самое страшное в 1С - это отборы? Вы вообще, давно в 1С?
#18 by Odavid
>>Вот множество таких мелочей дают очень не хорошую картину о производительности системы в целом оно как-бы в системе вообще нет приемлимой производительности. А не "мелочи дают картину о производительности".
#19 by kiruha
Добавьте "свой" отбор. Вынесите на форму. По нему заполняйте "штатный"
#20 by kiruha
Добавьте "свой" отбор - вынесите вверху формы. По нему заполняйте штатный. Дополнительно можно повесить всякие обработчики на ТП
#21 by Odavid
да человек просто увидел свой первый тормоз в 1С - и решил, что, щас его поборет, и наступит светлое 1совое будущее...
#22 by DreamMaster
Именно так и сделал. Свой отбор заполняю данными из отбора формы владельца и в итоге возвразяю в форму владельца верный отбор. Получилась универсальная вещь
#23 by DreamMaster
В 1С нормально. Где вы увидели, что я сказал "самое страшное в 1С - это отборы" ?
#24 by Odavid
если это я "увидел", то здесь: "Пользователю глубоко поровну, что все остальные будут висеть." Т.е. вы не понимаете, что если даже сделаете "свои" отборы, пользователь "найдет", где зависнуть в 1С уже на "ваших"??
#25 by Odavid
в 1С нужно не теорией заниматься и искать логику по студенческим лекциям о СУБД, а брать бритву Оккама и исходить строго из нужности: Отбор нужен - ставите, не нужен - закрываете. Все. Все остальные соображения по поводу работы 1С вернет вам ... куда-нибудь )))
#26 by DreamMaster
Повесить 1С дело не хитрое. Я решаю конкретную проблему, которая может повесить 1С. В одном случаи вид сравнения в отборе нужен, в другом случаи этот же отбор с этим же вариантом сравнения повесит систему. Убирать отбор - дело неправильное. СУБД, SQL, неверные запросы - это уже другая степь.
#27 by kiruha
В реквизиты формы добавляете МойОтбор, тип Отбор На форму таб поле - источник МойОтбор Дале по алгоритму сначала заполняете доступные поля для отбора Потом из доступных полей собственно отбор
#28 by Odavid
>>В одном случаи вид сравнения в отборе нужен, в другом случаи этот же отбор с этим же вариантом сравнения повесит систему. На заметку - отбор подразделений в списке с одной группой, и отбор по группе будет выполняться одинаково - соединением соответствующих таблиц. Весь вопрос в том, каковы размеры этих таблиц. А не "если равно, то быстрее, чем в группе..."
#29 by DreamMaster
При малых таблицах разницу вы не заметите, но если таблица содержит несколько млн строк, то разница в скорости существенная
#30 by Odavid
так в любом случае у вас будут тормоза - механизм отборов имеет единую основу, оптимизировать которую 1С сама не в состоянии, а других пустить - боится.
#31 by kiruha
Добавьте индекс на ПодразделениеОрганизации - и будет счастье
#32 by DreamMaster
так для этого я и делаю данную доработку, чтобы перед тем как отфильтровать форму списка - 1С сначала проверила все фильтры, а уже позже начала фильтровать
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С