Версия для печати темы (https://pro1c.org.ua/index.php?s=e598f5f9074664b69f914b513a7bc71a&showtopic=17602)

Нажмите сюда для просмотра этой темы в обычном формате

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

Автор: yur 20.04.14, 11:17

Как в форму выбора выводить только позиции с положительным количеством ?

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

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


 ! 

Правила, п.3,12
 

Автор: logist 20.04.14, 16:10

Цитата(yur @ 20.04.14, 11:17) *
Исходник:

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

Вероятно надо вообще переписывать форму выбора, т.к. в типовой такой отбор нельзя настроить/дописать.

Автор: yur 20.04.14, 17:46

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

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

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

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


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

Я так понимаю, в нужный модуль необходимо скопировать необходимую форму и прописать соответствующий путь.
Только вот где эта форма "Подбор", которая вызывается из "ЧекККМ" ?

Автор: ignsv 21.04.14, 12:04

есть там путь: Попробуйте F12 или "перейти к определению" стоя на тексте "ДействиеПодбор" по-идее достаточно только вызов подбора сделать, а обработка уже есть там

Автор: logist 22.04.14, 6:56

Цитата(ignsv @ 21.04.14, 12:04) *
по-идее достаточно только вызов подбора сделать

Не достаточно, надо еще и обработку результата подбора написать (или взять откуда-то, из той же формы ЧекККМ должна подойти, и адаптировать)

Автор: ignsv 22.04.14, 8:32

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


Если мы говорим про "ЧекККМ" и форму "ФормуРегистрацииПродаж" то там уже есть обработка результата подбора. А так то да: стандартно вызов подбора и обработка результата подбора

Автор: yur 22.04.14, 21:20

Ура! Получилось!
Заменил обработку "Подбор" в модуле "Регистрация розничных продаж" и скопировал сюда же необходимые процедуры, нарисовал кнопку на панели и все заработало.
Я програмизд! smile.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua