Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Открыть журнал документов для выбора документа

Открыть журнал документов для выбора документа
Я
   fdv_83
 
03.07.20 - 12:21
Здравствуйте, уважаемые форумчане. Возник такой вопрос. Имеется журнал документов (в нём два вида документов). Этот журнал я открываю программно (с отборами) для выбора документов. Но проблема в том, что не получается выбрать документ и посадить его в реквизит. При двойном клике документ просто открывается. Подскажите, пожалуйста, как сделать так чтобы из журнала можно было выбрать (посадить в реквизит) документ. Код прилагаю.

&НаКлиенте
Процедура КлиентыДокументОснованиеНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтрокаТабличнойЧасти = Элементы.Клиенты.ТекущиеДанные;
    ПараметрыОтбора = Новый Структура;
    Если ЗначениеЗаполнено(Объект.ВидКредита) Тогда
        НастройкаОтбора = Новый Структура;
        НастройкаОтбора.Вставить("ЛевоеЗначение", Новый ПолеКомпоновкиДанных("ВидКредита"));
        НастройкаОтбора.Вставить("ВидСравнения", ВидСравненияКомпоновкиДанных.Равно);
        НастройкаОтбора.Вставить("ПравоеЗначение", Объект.ВидКредита);
        НастройкаОтбора.Вставить("РежимОтображения", РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
        
        ПараметрыОтбора.Вставить("ВидКредита", НастройкаОтбора);
    КонецЕсли;
    Если ЗначениеЗаполнено(СтрокаТабличнойЧасти.Клиент) Тогда
        НастройкаОтбора = Новый Структура;
        НастройкаОтбора.Вставить("ЛевоеЗначение", Новый ПолеКомпоновкиДанных("Клиент"));
        НастройкаОтбора.Вставить("ВидСравнения", ВидСравненияКомпоновкиДанных.Равно);
        НастройкаОтбора.Вставить("ПравоеЗначение", СтрокаТабличнойЧасти.Клиент);
        НастройкаОтбора.Вставить("РежимОтображения", РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный);
        
        ПараметрыОтбора.Вставить("Клиент", НастройкаОтбора);
    КонецЕсли;
    Если СтрокаТабличнойЧасти.СписаниеНачальногоДолга Тогда
        ПараметрыОткрытия = Новый Структура("ПараметрыОтбора", ПараметрыОтбора);
        ПараметрыОткрытия.Вставить("ЭлементДляПозиционирования", Элементы.Клиенты.ТекущиеДанные.ДокументОснование);
        ОткрытьФорму("Документ.ВводНачальногоДолгаКлиента.ФормаВыбора", ПараметрыОткрытия, Элемент, ЭтаФорма);
    Иначе
        ПараметрыОткрытия = Новый Структура("ПараметрыОтбора", ПараметрыОтбора);
        ПараметрыОткрытия.Вставить("ЭлементДляПозиционирования", Элементы.Клиенты.ТекущиеДанные.ДокументОснование);
        ОткрытьФорму("ЖурналДокументов.РасходныеНакладныеКредит.ФормаСписка", ПараметрыОткрытия, Элемент, ЭтаФорма);
    КонецЕсли;
    СтандартнаяОбработка = Ложь;
КонецПроцедуры
   Ц_У
 
1 - 03.07.20 - 12:32
Добавь в ПараметрыОткрытия поля "РежимВыбора, ЗакрыватьПриВыборе", Истина, Истина
   fdv_83
 
2 - 03.07.20 - 13:07
(1) Что-то не срабатывает
   Ц_У
 
3 - 03.07.20 - 13:23
(2) Ну не знаю, у меня работает:

&НаКлиенте
Процедура КонтрагентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ПараметрыОткрытия = Новый Структура;
    ПараметрыОткрытия.Вставить("РежимВыбора", Истина);
    ПараметрыОткрытия.Вставить("ЗакрыватьПриВыборе", Истина);
    ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора",ПараметрыОткрытия,ЭтаФорма);
КонецПроцедуры
   Ц_У
 
4 - 03.07.20 - 13:28
(2) ну можно Владельца задать как ЭтфФорма, перенести СтандартнаяОбработка = Ложь в начало
   fdv_83
 
5 - 03.07.20 - 13:41
(3) Дело в том, что вы используете форму выбора, а она для выбора и предназначена. А в журнале документов такой формы нет. Попробуйте с журналом сделать.
   hhhh
 
6 - 03.07.20 - 13:49
(5) это фигня, если нет формы выбора, тогда берется по-умолчанию форма списка
   fdv_83
 
7 - 03.07.20 - 13:54
(6) У меня используется форма журнала документов
   Ц_У
 
8 - 03.07.20 - 14:38
Вобщем да, (5) правда, так и есть.
Решение такое, надо у ЭлементыФормы.Список.РежимВыбора поставить Истина.
Сделал через расширение, работате
&НаСервере
Процедура Расш1_ПриСозданииНаСервереПеред(Отказ, СтандартнаяОбработка)
    Если Параметры.Свойство("РежимВыбора") Тогда
        Элементы.Список.РежимВыбора = Параметры.РежимВыбора;
    КонецЕсли;
КонецПроцедуры
   fdv_83
 
9 - 03.07.20 - 15:37
(8) Спасибо. Всё получилось.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.