Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод информации по клику на элемент
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Yevhenii
Здравствуйте уважаемые форумчане. Прошу помощи опытных людей. У меня 1С:Предприятие 8.2 (8.2.19.130) Конфигурация: "Управление Торговым Предприятием для Украины" редакция 1.2 от ABBY. Обычное приложение.
Стоит задача, сделать обработку на которой выводить список Контрагентов и по клику на Контрагента рядышком(не в новом окне желательно) выводить информацию по операциям с ним и по расчётам.
Где что хранить и что куда писать мне понятно. Но не понятно как реализовать на неуправляемой форме собственно действие ВыбралКонтрагента-> ВыводИнформации, перешел следующего->Инфа обновилась для следующего. Если с выводом все ясно, то не ясно в какой элемент формы поместить список Конртагентов чтоб отрабатывался "Клик" или что то типа "Enter" что бы можно было в это событие залепить процедуру с выводом.
Раньше кодил на C#, так вот там есть замечательные элемент ListBox с событием Click или DoubleClick в котором можно отловить индекс и значение кликнутого элемента и сделать по нему отбор и отображение информации. Как сделать то же в 1С 8.2?
Vofka
Добавляете на форму элемент управления ТабличноеПоле. В этом элементе управления в свойстве ТипЗначения указываете СправочникСписок.Контрагенты. Далее прописываете нужный обработчик события для нужного события. Click = ПриАктивизацииСтроки, DoubleClick = Выбор. В событии Выбор, если не хотите, чтобы открывалась карточка контрагента, а выполнялся только ваш код, то в обработчике этого события СтандартнаяОбработка нужно установить в Ложь.
Yevhenii
Vofka @ Сегодня, 11:25 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо большое за совет.
Если не затруднит, подскажите ещё как сделать отбор в этот список, ну что б к примеру он формировался только по Контрагентам по группе Поставщики или только по группе Покупатели?
Vofka
ЭлементОтбора = ИмяТабличногоПоля.Отбор.Добавить("Родитель");
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ВидСравнения = ВидСравнения.Равно;
ЭлементОтбора.Значение = СсылкаНаПапкуПоставщиков;
Yevhenii
Vofka @ Вчера, 13:18 необходимо зарегистрироваться для просмотра ссылки ,
Извиняюсь за надоедливось, но в какое событие писать код отбора?
А то, для открытия СпискаВыбора со справочника ФизЛица по нужному мне параметру написал, всё работает. А с ТабличнымПолем не могу вьехать, на какой стадии туда попадают данные и когда(в каком событии) должен писаться отбор.
Vofka
Цитата(Yevhenii @ 08.09.16, 11:19) необходимо зарегистрироваться для просмотра ссылки
в какое событие писать код отбора?

Становится уже сложно угадывать. А что у вас есть и в какой момент вы хотите, чтобы отбор срабатывал?
Yevhenii
Vofka @ Сегодня, 14:30 необходимо зарегистрироваться для просмотра ссылки ,

Я просто немного запутался со способами отбора, я раньше делал только так: при вызове новой ФормыСписка устанавливал отбор эта форма открывалась уже с нужными мне данными. А теперь получилось что данные в ТабличномПоле прогружались сразу целиком без отбора при загрузке формы обработки на которой и лежит это поле, а сам код отбора я не понял где должен отрабатывать, в событиях формы или поля и как то ещё. Но методом проб, ошибок и гугловодства я пришел к этому:

Процедура ПриОткрытии()
    ЭлементыФормы.ТабличноеПоле1.Значение.Отбор.МестоРаботы.Использование = Истина;
    ЭлементыФормы.ТабличноеПоле1.Значение.Отбор.МестоРаботы.ВидСравнения =  ВидСравнения.Равно;
    ЭлементыФормы.ТабличноеПоле1.Значение.Отбор.МестоРаботы.Значение = Справочники.МестоРаботы.НайтиПоНаименованию("бла-бла-бла");
КонецПроцедуры


P.S. делал для другой обработки, выводил список сотрудников из справочника по отметке МестоРаботы из соответствующего справочника, и далее при активации строки рядышком в ТабличноеПоле2 вывожу записи по примитивному регистру накопления с некими данными при помощи того же отбора только значение беру с выделенной строки ТабличногоПоля1

Р.P.S. Как я уже писал выше, я начинал кодить на С# и поэтому как то на автомате (по умолчанию что ли) ищу способы сделать так как бы я делал в Visual Studio, а оно далеко не всегда соответствует друг другу.
Vofka
Если отбор нужно наложить и чтобы он работал на протяжении всего сеанса работы с формой, то можно сделать, как вы выше написали, в ПриОткрытии().
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.