Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Фильтр партий по остатку
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
GoDammeD
Добрый день!
Необходимо установить отбор в партиях по столбцу "Остаток", чтобы выводить только те партии, у которых остаток > 0. Но столбец "остаток" это не реквизит, а расчетное поле в табличной части, которое заполняется при помощи функции Остаток().
Буду благодарен за любую помощь.
XBrut
Если речь идет о форме списка справочника "Партии", то
Краткий план решения
при открытии формы - рассчитать итоги по партиям запросом и выгрузить в таблицу значений
таблицу выгрузить в список (для фильтра)
на форму - галочку.
при установке галочки выполнить метод формы списка справочника "ИспользоватьСписок()"
при снятии галочки - все вернуть как было.
остатки подсвечивать из вышеуказанной таблицы значений
вуаля
p.s.
а так вообще пишите понятнее вопрос.
Cthulhu
Цитата(XBrut @ 21.11.12, 21:41) необходимо зарегистрироваться для просмотра ссылки
метод формы списка справочника "ИспользоватьСписок()"

ИспользоватьСписокЭлементов(<?>);
UseItemList(<?>);
Синтаксис:
ИспользоватьСписокЭлементов(<СписокЗначений>)
Назначение:
Реализует фильтрацию элементов справочника, используя нединамический фильтр.
Параметры:
<СписокЗначений> - необязательный параметр. Значение типа - ''СписокЗначений'' - должен представлять собой список элементов справочника, выбранных для просмотра. Если это значение пустое, то фильтр отключается.
Замечание:
Метод доступен только в контексте Модуля формы списка справочника и относится ко всему текущему справочн
ику.
XBrut
спасибо за уточнение , коллега )
Cthulhu
Цитата(XBrut @ 22.11.12, 10:03) необходимо зарегистрироваться для просмотра ссылки
спасибо за уточнение , коллега )

Не мне - Синтакс-Помощнику.
XBrut
спасибо синтаксис - помощнику.
GoDammeD
Цитата(XBrut @ 21.11.12, 21:41) необходимо зарегистрироваться для просмотра ссылки
Если речь идет о форме списка справочника "Партии", то
Краткий план решения
при открытии формы - рассчитать итоги по партиям запросом и выгрузить в таблицу значений
таблицу выгрузить в список (для фильтра)
на форму - галочку.
при установке галочки выполнить метод формы списка справочника "ИспользоватьСписок()"
при снятии галочки - все вернуть как было.
остатки подсвечивать из вышеуказанной таблицы значений
вуаля
p.s.
а так вообще пишите понятнее вопрос.


Спасибо Вам за совет, извините что не совсем понятно сформулировал вопрос, но Вы всё правильно поняли.
К сожалению для Ваш метод тяжёл для моего понимания, не могли бы Вы привести пример реализации, либо дать ссылки на материал, по которым его можно изучить?
Буду очень благодарен за помощь=)
Cthulhu
А давайте сначала Вы приведете текст функции Остаток().
Ну, чтобы отвечающие смогли за Вас составить код, составляющий список для фильтра по тому же самому алгоритму. если, конечно, таковые найдутся.
Ardi
Цитата(GoDammeD @ 27.11.12, 16:11) необходимо зарегистрироваться для просмотра ссылки
К сожалению для Ваш метод тяжёл для моего понимания

Там есть кнопочка которую можно жмакать "В группу старые".
И не нужно программировать.
GoDammeD
Цитата(Cthulhu @ 28.11.12, 1:22) необходимо зарегистрироваться для просмотра ссылки
А давайте сначала Вы приведете текст функции Остаток().
Ну, чтобы отвечающие смогли за Вас составить код, составляющий список для фильтра по тому же самому алгоритму. если, конечно, таковые найдутся.


Вот код функции Остаток():
Функция Остаток()
    Если (ТекущийЭлемент().Выбран() = 1) и (МестоХранения.Выбран() = 1) Тогда
        ТМЦ = ТекущийЭлемент().Владелец;
        Если ПустоеЗначение(Счет) = 1 Тогда  
            Если МестоХранения.ВидСклада = Перечисление.ВидыСкладов.Оптовый Тогда
                Возврат Ит.СКД(ТМЦ.Счет,3,,МестоХранения,ТМЦ,ТекущийЭлемент());
            Иначе
                Возврат Ит.СКД("28.2",3,,МестоХранения,ТМЦ,ТекущийЭлемент()); // строго по 28.2 (розница)
            КонецЕсли;
        Иначе
            Возврат Ит.СКД(Счет,3,,МестоХранения,ТМЦ,ТекущийЭлемент());
        КонецЕсли;
    КонецЕсли;
    Возврат 0;
КонецФункции


Цитата(Ardi @ 28.11.12, 4:45) необходимо зарегистрироваться для просмотра ссылки
Там есть кнопочка которую можно жмакать "В группу старые".
И не нужно программировать.


К сожалению этот метод не подходит, так как часто некоторые документы распроводиться, и в старых партиях появляется остаток, по этому добавлять партии в старые, а затем обратно доставать их оттуда не очень удобно
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.