Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как в форму выбора выводить только позиции с положительным количеством
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
yur
Как в форму выбора выводить только позиции с положительным количеством ?

Исходник:
// Осуществляет вывод остатков и цены в форме подбора, используется в документе ЧекККМ,
// Вызывается из формы регистрации продаж при ручном подборе.
// Отбор остатков по складу из которого ведется продажа кассиром, цены согласно установленного типа цен в параметрах склада.

Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    Если Не ДанныеСтроки.Ссылка.ЭтоГруппа Тогда
        Остатки = РегистрыНакопления.ТоварыВРознице;
        Цены = РегистрыСведений.ЦеныАТТ;
        Фильтр = Новый Структура;
        Фильтр.Вставить("Номенклатура",ДанныеСтроки.Ссылка);
        Фильтр.Вставить("Склад", УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойСклад"));
        ТабОстатков = Остатки.Остатки(ТекущаяДата(),Фильтр,
                       "Номенклатура,Склад", "Количество");
        ТабЦены = Цены.СрезПоследних(ТекущаяДата(), Фильтр);
        Попытка              
            ОформлениеСтроки.Ячейки.Остаток.ОтображатьТекст = Истина;
            ОформлениеСтроки.Ячейки.Остаток.Текст = ТабОстатков[0].Количество;
        Исключение
        КонецПопытки;
        Попытка              
            ОформлениеСтроки.Ячейки.Цена.ОтображатьТекст = Истина;
            ОформлениеСтроки.Ячейки.Цена.Текст = ТабЦены[0].Цена;
        Исключение
        КонецПопытки;
    КонецЕсли;
КонецПроцедуры


 ! 

Правила, п.3,12
 
logist
Цитата(yur @ 20.04.14, 11:17) необходимо зарегистрироваться для просмотра ссылки
Исходник:

Эта процедура никак не влияет на требуемую задачу, она лишь добавляет данные об остатках в колонку.

Вероятно надо вообще переписывать форму выбора, т.к. в типовой такой отбор нельзя настроить/дописать.
yur
А как скопировать уже имеющуюся форму "Подбор" из документа "ЧекККМ" ?
Ее функции, перенесенные в "ФормуРегистрацииПродаж", полностью удовлетворили бы мои потребности.
В модуле "Документ ЧекККМ" процедура прописана так:

// Процедура вызывается при нажатии кнопки "Подбор" командной панели
// табличного поля "Товары", вызывает сервисный механизм для
// подбора номеклатуры в табличную часть "Товары".
//
Процедура КоманднаяПанельТоварыДействиеПодбор(Кнопка)

    ДействиеПодбор(Товары);

КонецПроцедуры // КоманднаяПанельТоварыДействиеПодбор()


А куда ведет этот путь, я не нашел.

Я так понимаю, в нужный модуль необходимо скопировать необходимую форму и прописать соответствующий путь.
Только вот где эта форма "Подбор", которая вызывается из "ЧекККМ" ?
ignsv
есть там путь: Попробуйте F12 или "перейти к определению" стоя на тексте "ДействиеПодбор" по-идее достаточно только вызов подбора сделать, а обработка уже есть там
logist
Цитата(ignsv @ 21.04.14, 12:04) необходимо зарегистрироваться для просмотра ссылки
по-идее достаточно только вызов подбора сделать

Не достаточно, надо еще и обработку результата подбора написать (или взять откуда-то, из той же формы ЧекККМ должна подойти, и адаптировать)
ignsv
Цитата(logist @ 22.04.14, 7:56) необходимо зарегистрироваться для просмотра ссылки
Не достаточно, надо еще и обработку результата подбора написать (или взять откуда-то, из той же формы ЧекККМ должна подойти, и адаптировать)


Если мы говорим про "ЧекККМ" и форму "ФормуРегистрацииПродаж" то там уже есть обработка результата подбора. А так то да: стандартно вызов подбора и обработка результата подбора
yur
Ура! Получилось!
Заменил обработку "Подбор" в модуле "Регистрация розничных продаж" и скопировал сюда же необходимые процедуры, нарисовал кнопку на панели и все заработало.
Я програмизд! smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.