|
Фильтрация форма списка номенклатуры на выводимые строки | ☑ | ||
---|---|---|---|---|
0
Tolstiy Beremenniy
20.12.17
✎
14:07
|
Доброго времени суток! Подскажите пожалуйста по следующему вопросу.
Какие есть на него варианты решения из доступных? Конфигурация Ут 10.3. Справочник Номенклатура, ФормаСписка. При открытии из меню интерфейса и из документов открывается эта доработанная форма списка, на которой располагается Список, СправочникСписок.Номенклатура. В этом списке выводятся строки по полям с различной информацией по остаткам. Как можно отфильтровать вывод данных в этот список, то есть, не выводить строки у которых ни в одном из числовых полей нет числовых данных. Информации по остаткам и прочей имеющейся для отображения. Что бы это было оптимально по производительности. Без лишней задержки. Сам справочник содержит большое множество элементов для отображения. |
|||
1
Tolstiy Beremenniy
20.12.17
✎
14:47
|
Никто не подскажет? Возможно ли так фильтровать вывод строк в списке справочника?
|
|||
2
nordbox
20.12.17
✎
14:50
|
Ну?
что сам делал? как пробовал? |
|||
3
nordbox
20.12.17
✎
14:53
|
(0)>>Что бы это было оптимально по производительности. Без лишней задержки.
фильтрация(отбор) уже сама по себе математика и для ее вычисления нужно время |
|||
4
nordbox
20.12.17
✎
14:54
|
Отборы смотри
|
|||
5
Tolstiy Beremenniy
20.12.17
✎
14:54
|
(2) У списка есть событие ПриВыводеСтроки
и процедура Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) Как то ОформлениеСтроки нужно оперировать? Данные выводятся через неё ОформлениеСтроки.Ячейки.СвободныйОстаток.Текст = Формат(СтрокаОстатков.Свободный,"ЧЦ=10; ЧДЦ=3"); |
|||
6
nordbox
20.12.17
✎
14:59
|
||||
7
Lexey_
20.12.17
✎
15:01
|
(1) по списку ссылок только, если колонки вычисляемые
|
|||
8
nordbox
20.12.17
✎
15:03
|
(5) Причем тут фильтр и оформление строки?
|
|||
9
Михаил Козлов
20.12.17
✎
15:03
|
(5) В ПриВыводеСтроки (или ПриПолученииДанных) - данные уже есть и отказаться от их вывода нельзя.
Можно было бы накладывать фильтры, но штатно только с видом сравнения ВСписке (или НЕ ВСписке) - и это может тормозить. Как-то, чтобы не выводились позиции без остатка делал через РЛС. Тормозов не замечено, но приходилось регламентным заданием формировать признак отсутствия остатков. |
|||
10
Tolstiy Beremenniy
21.12.17
✎
06:41
|
Как все же это начать уверенно делать?
|
|||
11
mehfk
21.12.17
✎
06:53
|
Я так понимаю хочется в форме списка справочника делать отбор по полям, не являющимся реквизитом справочника?
|
|||
12
h-sp
21.12.17
✎
06:56
|
(10) ну посмотрите как там сделано в подборе, там это всё сделано в кнопке подбор. Скопируйте кусок, то что касается остатков, к себе. Радуйтесь.
Зачем изобретать велосипеды, если всё давно уже сделано до нас? |
|||
13
igorPetrov
21.12.17
✎
07:05
|
(10) Просто начать и сделать.
|
|||
14
Tolstiy Beremenniy
21.12.17
✎
07:45
|
(11) Да эти поля являются полями ввода на форме.
Данные в них выводятся, как ОформлениеСтроки.Ячейки.СвободныйОстаток.Текст = Формат(СтрокаОстатков.Свободный,"ЧЦ=10; ЧДЦ=3"); |
|||
15
Tolstiy Beremenniy
21.12.17
✎
07:46
|
(12) В какой процедуре? Вы про форму списка справочника номенклатура УТ 10.3? Именно хочется использовать известное правильное решение.
|
|||
16
Tolstiy Beremenniy
21.12.17
✎
07:53
|
(12) Документ ЗаказПокупателя, кнопка подбор, вы про этот кусок? Что от сюда можно взять?
Процедура ДействиеПодбор(ТабличнаяЧасть) Перем Команда, Валюта; ЕстьЦена = мМожноМенятьЦенуВДокументе; ЕстьСерия = ТабличнаяЧасть = Товары И ЗначениеЗаполнено(ДоговорКонтрагента) И ДоговорКонтрагента.ОбособленныйУчетТоваровПоЗаказамПокупателей И мРезервироватьПоСериям И (ЗначениеЗаполнено(СкладГруппа) и ТипЗнч(СкладГруппа)=Тип("СправочникСсылка.Склады")); СкрыватьХарактеристику = Ложь; Валюта = ВалютаДокумента; ПодбиратьУслуги = Ложь; Если ТабличнаяЧасть = Товары Тогда Команда = "ПодборВТабличнуюЧастьТовары"; ИмяТабличнойЧасти = "Товары"; ИначеЕсли ТабличнаяЧасть = Услуги Тогда Команда = "ПодборВТабличнуюЧастьУслуги"; ИмяТабличнойЧасти = "Услуги"; СкрыватьХарактеристику = Истина; ПодбиратьУслуги = Истина; ИначеЕсли ТабличнаяЧасть = ВозвратнаяТара Тогда Команда = "ПодборВТабличнуюЧастьВозвратнаяТара"; ИмяТабличнойЧасти = "Тара"; КонецЕсли; СписокВидовПодбора = СформироватьСписокЗапросовДляПодбора(ТабличнаяЧасть); ПредставлениеДок = Метаданные().Представление(); СтруктураПараметровПодбора = Новый Структура(); СтруктураПараметровПодбора.Вставить("Команда" , Команда); СтруктураПараметровПодбора.Вставить("СписокВидовПодбора" , СписокВидовПодбора); // Параметры запросов. ВременнаяДатаРасчетов = ?(НачалоДня(Дата) = НачалоДня(ТекущаяДата()), Неопределено, Дата); СтруктураПараметровПодбора.Вставить("ДатаРасчетов" , ВременнаяДатаРасчетов); СтруктураПараметровПодбора.Вставить("Склад" , СкладГруппа); СтруктураПараметровПодбора.Вставить("ТипЦен" , ТипЦен); СтруктураПараметровПодбора.Вставить("ДоговорКонтрагента" , ДоговорКонтрагента); СтруктураПараметровПодбора.Вставить("Контрагент" , Контрагент); СтруктураПараметровПодбора.Вставить("Организация" , Организация); СтруктураПараметровПодбора.Вставить("ПодбиратьУслуги" , ПодбиратьУслуги); СтруктураПараметровПодбора.Вставить("СпособЗаполненияЦен" , Перечисления.СпособыЗаполненияЦен.ПоЦенамНоменклатуры); СтруктураПараметровПодбора.Вставить("ЕстьЦена" , ЕстьЦена); СтруктураПараметровПодбора.Вставить("ЕстьСерия" , ЕстьСерия); СтруктураПараметровПодбора.Вставить("ИспользоватьГруппуДоступности", Истина); СтруктураПараметровПодбора.Вставить("ВалютаДокумента" , Валюта); СтруктураПараметровПодбора.Вставить("СкрыватьХарактеристику" , СкрыватьХарактеристику); СтруктураПараметровПодбора.Вставить("Заголовок", "Подбор номенклатуры в документ " + ПредставлениеДок + " № " + Номер + " (" + ИмяТабличнойЧасти + ")"); СтруктураПараметровПодбора.Вставить("УсловиеПродаж" , УсловиеПродаж); РаботаСДиалогами.ОткрытьПодборНоменклатуры(ЭтаФорма, СтруктураПараметровПодбора, Метаданные()); КонецПроцедуры // ДействиеПодбор() |
|||
17
mehfk
21.12.17
✎
07:58
|
У вас каша в голове.
|
|||
18
Tolstiy Beremenniy
21.12.17
✎
08:38
|
(12) есть сопутствующая информация по поводу подбора?
|
|||
19
Lexey_
21.12.17
✎
08:39
|
(18) да, в (7)
|
|||
20
Tolstiy Beremenniy
21.12.17
✎
08:43
|
(19) К сожелению мне это не знакомо (((
Можно где то посмотреть пример подобного решения? Задача распространенная. |
|||
21
Tolstiy Beremenniy
21.12.17
✎
08:56
|
Подскажите пожалуйста как продвинуться в решении?
|
|||
22
Tolstiy Beremenniy
21.12.17
✎
09:13
|
никто не подскажет как сделать отбор при открытии формы?
|
|||
23
igorPetrov
21.12.17
✎
09:15
|
(22) Смотреть примеры в типовых и читать документацию не пробовали?
|
|||
24
Tolstiy Beremenniy
22.12.17
✎
10:45
|
Можете подсказать как начать делать, или где пример посомтреть?
|
|||
25
Fish
22.12.17
✎
10:50
|
(24) По ссылке в (6) всё написано.
|
|||
26
Tolstiy Beremenniy
22.12.17
✎
11:30
|
(25) Мне под обычные формы нужно.
|
|||
27
Tolstiy Beremenniy
22.12.17
✎
11:37
|
(25) Поможете информацией?
|
|||
28
Tolstiy Beremenniy
22.12.17
✎
11:45
|
В какой процедуре делать отбор, как?
|
|||
29
Tolstiy Beremenniy
22.12.17
✎
11:48
|
подскажите пожалуйста, как оттолкнуться, начать доработку?
|
|||
30
igorPetrov
22.12.17
✎
11:51
|
За два дня кучу документации можно было прочитать, а не форуме висеть.
|
|||
31
igorPetrov
22.12.17
✎
11:51
|
(29) Отталкивайся ногами от стены в направлении рабочего стола и работать!
|
|||
32
Fish
22.12.17
✎
11:57
|
(29) Можешь оттолкнуться от этого: https://yandex.ru/search/?text=1с%20открыть%20форму%20списка%20с%20отбором%20обычные%20формы&clid=1917061&lr=2
|
|||
33
igorPetrov
22.12.17
✎
12:01
|
(32) Что ты так жестоко )))
|
|||
34
Tolstiy Beremenniy
22.12.17
✎
12:42
|
форма открывается, на форме список справочника
там каталоги, в какой процедуре следует задавать отбор? |
|||
35
Tolstiy Beremenniy
22.12.17
✎
12:51
|
просмотрел сейчас эту процедуру
Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) так при открытии почему то там шли одни каталоги, а элеметов не было вообще. То есть прошел перебор каталогов и все. |
|||
36
Tolstiy Beremenniy
22.12.17
✎
12:52
|
(35) При открытии группы справочника, появляются элементы.
Подскажите в какой процедуре нужно делать отбор? |
|||
37
Михаил Козлов
22.12.17
✎
13:01
|
(36) В ПриОткрытии или в ПередОткрытием. Отбор для табличного поля. что справа (где элементы, а не группы).
Только тормозить будет (придется сформировать список артикулов, по которым нет остатков). По-моему, не стоит так делать. Вы напишите, зачем это нужно. |
|||
38
Tolstiy Beremenniy
22.12.17
✎
13:05
|
(37) Задачу поставил так работодатель.
Видимо много номенклатуры. И по которой нет данных не хочется видеть её. |
|||
39
catena
22.12.17
✎
13:09
|
В данном случае быстрее и производительнее нарисовать собственную форму для выбора с динамическим списком и прочими танцовщицами.
|
|||
40
hhhh
22.12.17
✎
13:14
|
(38) ну перенесите неиспользуемые в группу Неиспользуемые. И забудьте про них. Или в номенклатуре сделайте реквизит Актуальная и отбирайте по этому реквизиту.
|
|||
41
hhhh
22.12.17
✎
13:17
|
(38) и объясните работодателю, что если товар закончился, его не нужно убирать с экрана, а наоборот нужно выделить жирным красным цветом.
|
|||
42
Tolstiy Beremenniy
22.12.17
✎
16:39
|
(39) Форма эта не типовая, а доработанная, и вся переписанная под нужды организации.
(40) Как понять не используемую? По ней нет данных только как я понимаю, остатков там всяких. Нет сегодня может появится завтра. Много номенклатуры там, вот в чем дело. И нужно не показывать не актуальную. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |