Вход | Регистрация


Разработка подбора у документа по регистру

Разработка подбора у документа по регистру
Я
   TolstiyBeremenniy
 
06.09.18 - 14:47
Интерфейс такси. Имеется документ. Задача в разработке подбора для табличной части этого документа.
Нужно разработать форму подбора с определенными полями, заданными. С фильтром. Что бы там отображались только нужные данные.
На форме документа нужно разместить кнопку, что бы по ней открывался подбор, с необходимыми полями. С нужными данными для подбора.
При выборе значения должны перемещаться в табличную часть документа.

Подскажите пожалуйста где можно посмотреть пример, подобной разработки для интерфейса такси. Или же подскажите по алгоритму разработки. Пока мало представляю как это делать. Делать нужно будет в конфигурации ERP.
 
 
   TolstiyBeremenniy
 
1 - 06.09.18 - 14:59
К примеру открыл документ Инвентаризация ОС. Там есть кнопка подбор. При её нажатии открывается подбор, как раз нужного мне справочника. Можно по двойному нажатию переносить, объекты эксплуатации в табличную часть документа.

Сам пока не смотрел. Сильно тягомотный день. Может кто сталкивался с подобной задачей. Можно ли использовать типовой подбор как пример? Или там сильно сложно?

Данные для подбора мне нужны из регистра сведений.

Как там реализуются все эти манипуляции?
   Пуля
 
2 - 06.09.18 - 15:09
(1) Да! Это как раз что тебе нужно
   TolstiyBeremenniy
 
3 - 06.09.18 - 15:11
(2) То есть, есть вероятность использовать его как пример?
А если мне нужно брать данные из регистра сведений?
А там может другой источник?
   hhhh
 
4 - 06.09.18 - 15:54
(3) там запрос источник. а запрос ты кожешь составить свой вдумчиво и включить в него квадриллион регистров сведений и 159 справочников.
   TolstiyBeremenniy
 
5 - 07.09.18 - 05:26
(4) Создал кнопку подбор. Перенес код из документа
ИнвентаризацияОС, переделав под свою табличную часть.

&НаКлиенте
Процедура Подбор(Команда)
    ПараметрыПодбора = ВнеоборотныеАктивыКлиент.ПараметрыПодбора(Элементы.ЗемельныеУчасткиЗемельныйУчасток, ЭтаФорма);
    
    ОткрытьФорму("Справочник.ОбъектыЭксплуатации.ФормаВыбора", 
                    ПараметрыПодбора, Элементы.ЗемельныеУчастки,,,,, 
                    РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    
    ПодборНаСервере();
КонецПроцедуры


Форма подбора открывается, но при двойном щелчке, в тч
ничего не помещается как в документе инвентаризация ос.

Вижу там в форме документа, это делается сложными процедурами ...

&НаСервере
Процедура ЗаполнитьСлужебныеРеквизитыТабличнойЧасти(Знач Строки=Неопределено)
    
    УстановитьПривилегированныйРежим(Истина);
    
    МассивСтрок = Неопределено;
    Если Строки <> Неопределено Тогда
        МассивСтрок = Новый Массив;
        Если ТипЗнч(Строки) = Тип("Массив") Тогда
            Для Каждого ИдентификаторСтроки Из Строки Цикл
                МассивСтрок.Добавить(Объект.ОС.НайтиПоИдентификатору(ИдентификаторСтроки));
            КонецЦикла;
        Иначе
            МассивСтрок.Добавить(Строки);
        КонецЕсли;
    КонецЕсли;
    
    МВТ = Новый МенеджерВременныхТаблиц;
    
    Документы.ИнвентаризацияОС.ДобавитьВременнуюТаблицуСозданныхДокументовНаОсновании(МВТ, Объект.Ссылка);
    
    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = МВТ;
    Запрос.УстановитьПараметр("ДанныеДокумента", Объект.ОС.Выгрузить(МассивСтрок));
    Запрос.УстановитьПараметр("Дата", Объект.Дата);
    Запрос.УстановитьПараметр("Организация", Объект.Организация);
    Запрос.УстановитьПараметр("Подразделение", Объект.ПодразделениеОрганизации);
    Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
    
    #Область ТекстЗапроса

    Запрос.Текст =
    "ВЫБРАТЬ
    |    (ВЫРАЗИТЬ(ДанныеДокумента.НомерСтроки КАК ЧИСЛО)) - 1 КАК ИндексСтроки,
    |    ВЫРАЗИТЬ(ДанныеДокумента.ОсновноеСредство КАК Справочник.ОбъектыЭксплуатации) КАК ОсновноеСредство,
    |    ВЫРАЗИТЬ(ДанныеДокумента.СчетУчета КАК ПланСчетов.Хозрасчетный) КАК СчетУчета,
   TolstiyBeremenniy
 
6 - 07.09.18 - 05:27
То есть как мне использовать этот пример?
Форма открывается, а как помещать по двойному щелчку
выбранный элемент в табличную часть?
   TolstiyBeremenniy
 
7 - 07.09.18 - 05:29
Хотелось бы сделать свою форму подбора у регистра сведений
и выбирать из неё. Не подскажете, как это делать правильно?
   TolstiyBeremenniy
 
8 - 07.09.18 - 05:31
Что вообще происходит когда в форме подбора нажали
двойным кликом на нужный элемент?
   TolstiyBeremenniy
 
9 - 07.09.18 - 06:18
Нормально ли будет сделать форму подбора у регистра сведений?
   ПегийЛунь
 
10 - 07.09.18 - 06:23
(Я бы поучаствовал в проекте ERP)
Процедура Подбор(Команда)
//здесь делаются параметры подбора

//из вероятно общего модуля ВнеоборонвцАктивы вызывается функция ПараметрыПодбора
//в эту функцию передаются в качестве параметров знчения

//из таблицы ЗемельныеУчастки значение УчасткиЗемельныйУчасток
//вторым параметром ЭтаФорма, вероятно чтобы было куда возвращать значение функции

    ПараметрыПодбора = ВнеоборотныеАктивыКлиент.ПараметрыПодбора(Элементы.ЗемельныеУчасткиЗемельныйУчасток, ЭтаФорма);
    
//Этой командой открывается форма подбора справочника

//куда передаются полученные ранее параметры подбора
//и "ссылка" на таблицу ЗемельныеУчастки

// при открытии формы подбора окно самого объекта будет заблокировано
//

 ОткрытьФорму("Справочник.ОбъектыЭксплуатации.ФормаВыбора", 
                    ПараметрыПодбора, Элементы.ЗемельныеУчастки,,,,, 
                    РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    
    ПодборНаСервере();
КонецПроцедуры


Далее в где-то рядом должна быть или процедура 
или что-то содержащие название
ОбработкаВыбора
 
 Рекламное место пустует
   МимохожийОднако
 
11 - 07.09.18 - 06:23
   TolstiyBeremenniy
 
12 - 07.09.18 - 07:40
Сделал произвольную форму регистра сведений, а как её открыть?

ОткрытьФорму("РегистрСведений.ФормаПодбораПараметровЗемельногоУчастка.??????", , Элементы.ЗемельныеУчастки);
   TolstiyBeremenniy
 
13 - 07.09.18 - 07:46
(12+) Или из регистра сведений нельзя делать форму подбора? Только у справочника форма выбора?
   Остап Сулейманович
 
14 - 07.09.18 - 08:09
(13) Формы подбора можно сделать из любой формы.
   Остап Сулейманович
 
15 - 07.09.18 - 08:11
+ (14) И даже из произвольной. Содержащей вообще любые данные, на которые можно ткнуть мышкой или нажать кнопкой Enter.
   Остап Сулейманович
 
16 - 07.09.18 - 08:18
+(15) Правил очень мало.
1. При открытии формы обязательно нужно указать "владельца формы" (3-й параметр метода ОткрытьФорму()).
2. Если открывается произвольная форма (не форма выбора) - в ней должен быть вызван метод ОповеститьОВыборе.
С обязательными все. Не обязательные
1. Выставить флаг ЗакрыватьПриВыборе. Если оно = Ложь тогда из формы можно будет выбрать последовательно несколько значений.
2. //- ЗакрыватьПриЗакрытииВладельца

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