Имя: Пароль:
1C
1С v8
Подбор из группы в форме выбора
0 lirt82
 
02.10.17
07:26
Конфа на управляемых, в справочнике ВидыЦен есть таб часть Склады, жмем кнопку Добавить, открывается форма выбора справочника склады, как закодить чтоб при выборе группы складов все элементы этой группы переносились в таб часть Склады?
1 lirt82
 
02.10.17
07:27
как закодить чтоб при выборе группы складов из формы выбора справочника склады, все элементы этой группы переносились в таб часть Склады
2 Мимохожий Однако
 
02.10.17
07:29
Что не получается? Приведи код, с которого начал.
3 Филиал-msk
 
02.10.17
07:30
как закодить чтоб при выборе группы складов из формы выбора справочника склады, все элементы этой группы переносились в таб часть Склады?
4 Филиал-msk
 
02.10.17
07:30
Как закодить?
5 Филиал-msk
 
02.10.17
07:30
Или что?
6 lirt82
 
02.10.17
07:35
какой обработчик нужен? возможно галочки в свойствах формы
7 Мимохожий Однако
 
02.10.17
07:37
Например,
Из каждого ТекСтрИз Склады Цикл
НовСтр=НекийОбъект.Склады;
ЗаполнитьЗначенияСвойств(НовСтр,ТекСтр);
...
8 Филиал-msk
 
02.10.17
07:39
Обработка выбора!
Или при начале выбора!
Или форму выбора исправить!
9 Филиал-msk
 
02.10.17
07:40
Так закодить!
10 lirt82
 
02.10.17
07:59
вот ее нужно переделать
&НаКлиенте
Процедура СписокВыборЗначения(Элемент, Значение, СтандартнаяОбработка)
    
    Если ЗначениеЗаполнено(ВыборГруппыСкладов) И ЗначениеЗаполнено(Значение) И Элементы.Список.ТекущиеДанные <> Неопределено Тогда
        
        ТекущиеДанные = Элементы.Список.ТекущиеДанные;
        ВыборЗапрещен = ТекущиеДанные.ЭтоГруппа;
        
        Если ВыборЗапрещен Тогда
            Если ТипЗнч(ВыборГруппыСкладов) = Тип("ФиксированныйМассив") Тогда
                Для Каждого ТекЭлемент Из ВыборГруппыСкладов Цикл
                    Если ТекЭлемент = ТекущиеДанные.ВыборГруппы Тогда
                        ВыборЗапрещен = Ложь;
                        Прервать;
                    КонецЕсли;
                КонецЦикла;
            Иначе
                Если ВыборГруппыСкладов = ТекущиеДанные.ВыборГруппы Тогда
                    ВыборЗапрещен = Ложь;
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
        
        Если ВыборЗапрещен Тогда
            
            СтандартнаяОбработка = Ложь;
            Отказ = Истина;
            ТекстПредупреждения = НСтр("ru='Группу ""%ГруппаСкладов%"" нельзя выбирать в документ.'");
            ТекстПредупреждения = СтрЗаменить(ТекстПредупреждения, "%ГруппаСкладов%", ТекущиеДанные.Наименование);
            ПоказатьПредупреждение(Неопределено, ТекстПредупреждения);
            
        КонецЕсли;
        
    КонецЕсли;
    
КонецПроцедуры
11 lirt82
 
02.10.17
08:09
короче нужно передать на форму что-то чтоб форма помнила что ее вызвали из справочника ВидыЦен, тогда можно условие поставить и написать свой обработчик события выбора
12 lirt82
 
02.10.17
08:09
:) потому что из других доков или справочников будет вызываться и начнутся проблемы
13 Мимохожий Однако
 
02.10.17
08:13
(11) Добавь реквизит на форму, в который пиши откуда вызвал. Приведи пример как вызываешь форму подбора.
14 lirt82
 
02.10.17
08:21
(13)форму выбора складов вызываю по кнопке добавить над таб частью склады из формы элемента справочника ВидыЦен. Подскажи точнее где создать реквизит в который передавать ссылку?
15 lirt82
 
02.10.17
08:22
откуда вызываю или что вызываю?
16 Мимохожий Однако
 
02.10.17
08:28
(14) Должно быть событие при добавлении строки. Реквизит можно добавить на закладке Реквизиты.
17 Мимохожий Однако
 
02.10.17
08:29
(16) ***обработчик события**
18 lirt82
 
02.10.17
08:32
аа точно:)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший