Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как организовать отбор?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Стажёр
Здравствуйте! столкнулась с такой трудностью. Конфигурация Управление перевозками, платформа 8.2. Необходимо в неком документе УчетГСМ при выборе топливной карты(справочник топливные карты) выдавать отбор по Транспортному средству (в справочнике топливные карты нет реквизита Транспортное средство, но у каждого Транспортного средства есть одна или более топливных карт). При выборе топливной карты из документа открывается форма с предопределённым отбором по организации. Пытаюсь решить задачу следующим образом: на форме списка справочника топливные карты добавила поле ввода Транспортное средство, передаю значение в это поле из документа УчетГСМ (у док-та УчетГСМ есть документ-основание, у которого есть реквизит ТС), и при выборе топливной карты проверяю, если поле ТС заполнено, то в форме должны вывестись все топливные карты по этому ТС. Пишу следующий код:

Процедура ПриОткрытии()
       Если ЗначениеЗаполнено(ТС) Тогда
             НашТС = Справочники.упТранспортныеСредства.НайтиПоНаименованию(ЭлементыФормы.ТС.Значение);
             Если Не НашТС.Пустая() Тогда
                     Для Каждого СтрТопливныхКарт Из НашТС.ТопливныеКарты Цикл
                          ТЧ = ЭлементыФормы.СправочникСписок;
                          ТЧ.ДобавитьСтроку();
                          ТЧ.Колонки.НомерКарты = СтрТопливныхКарт.НомерТопливнойКарты.Наименование;
                          ТЧ.Колонки.ДатаЗаведения = СтрТопливныхКарт.НомерТопливнойКарты.ДатаЗаведения;
                          ТЧ.Колонки.ДатаПогашения = СтрТопливныхКарт.НомерТопливнойКарты.ДатаПогашения;
                          ТЧ.Колонки.Контрагент = СтрТопливныхКарт.НомерТопливнойКарты.Контрагент;
                          ТЧ.Колонки.Организация = СтрТопливныхКарт.НомерТопливнойКарты.Организация;
                    КонецЦикла;
             Иначе
             КонецЕсли;
        КонецЕсли;
КонецПроцедуры


При выборе топливной карты открывается форма выбора топливной карты с предопределённым отбором (по организации) и заполненным полем ТС, а также открывается форма создания новой топливной карты. помогите решить задачу. может подскажите как по-другому можно её решить?
Batchir
Попробуйте получить список значений всех транспортных средств (которым принадлежит карта) запросом перед открытием формы
Потом при выборе топливной карты устанавливайте дополнительный отбор на открываемую форму
...Отбор.ТранспортноеСредство.ВидСравнения = ВидСравнения.ВСписке;
...Отбор.ТранспортноеСредство.Значение = НашСписок;
...Отбор.ТранспортноеСредство.Использовать = Истина;

После чего открывайте форму подбора
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.