|
Событие ОбработкаПроверкиЗаполнения | ☑ | ||
---|---|---|---|---|
0
pro3ri
16.09.15
✎
08:13
|
Добрый день!
На форме документа есть код: Для каждого Субконто Из Объект.Счет.ВидыСубконто Цикл Если Строка(типзнч(Объект.Субконто1)) = Строка(Субконто.ВидСубконто.ТипЗначения) Тогда Элементы.Субконто1.Видимость = Истина; Иначе Элементы.Субконто1.Видимость = Ложь; КонецЕсли; Но данный реквизит https://s.mail.ru/2wUjsuH6Nqke/img-2015-09-16-10-13-26.png Как сделать так, чтобы при изменении режима видимость на форме на ложь он исключался из Проверяемые реквизиты события ОбработкаПроверкиЗаполнения МО? |
|||
1
Апош
16.09.15
✎
08:17
|
ОбработкаПроверкиЗаполнения не имеет никакого отношения к форме
|
|||
2
Апош
16.09.15
✎
08:21
|
>Строка(типзнч(Объект.Субконто1)) = Строка(Субконто.ВидСубконто.ТипЗначения)
а это что за фольклор? |
|||
3
pro3ri
16.09.15
✎
08:24
|
(2) искал в Субконто.ВидСубконто ТипСправочник ссылка, не нашел.
|
|||
4
Апош
16.09.15
✎
08:26
|
помнится, я при конвертации назвал много разных слов, когда через сообщить(тип объекта) пытался увидеть, ссылка оно или объект
|
|||
5
pro3ri
16.09.15
✎
08:32
|
(1) так тоже не выходит:
Если Строка(типзнч(Объект.Субконто1)) = Строка(Субконто.ВидСубконто.ТипЗначения) Тогда Элементы.Субконто1.Видимость = Истина; Иначе Элементы.Субконто1.Видимость = Ложь; ДокОбъект = РеквизитФормыВЗначение("Объект",Тип("ДокументОбъект.Авизо")); ДокОбъект.метаданные().Реквизиты.Субконто1.ПроверкаЗаполнения = ПроверкаЗаполнения.НеПроверять; ЗначениеВРеквизитФормы(ДокОбъект, "Объект"); |
|||
6
alkorolev
16.09.15
✎
08:34
|
ну это же условие впиши в ОбработкуПроверкиЗаполнения
|
|||
7
Апош
16.09.15
✎
08:35
|
перевожу на русский. проверке заполнения покласть на твою форму. совсем. и это правильно, я считаю
|
|||
8
alkorolev
16.09.15
✎
08:35
|
Если Строка(типзнч(Субконто1)) = Строка(Субконто.ВидСубконто.ТипЗначения) Тогда
ПроверяемыйРеквизиты.Удалить(ТвойРеквизит) |
|||
9
pro3ri
16.09.15
✎
08:43
|
(8) заработало, спасибо!
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) Для каждого Субконто Из Счет.ВидыСубконто Цикл Если Строка(типзнч(Субконто1)) = Строка(Субконто.ВидСубконто.ТипЗначения) Тогда Иначе ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Субконто1")); КонецЕсли; Если Строка(типзнч(Субконто2)) = Строка(Субконто.ВидСубконто.ТипЗначения) Тогда Иначе ПроверяемыеРеквизиты.Удалить(ПроверяемыеРеквизиты.Найти("Субконто2")); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
10
Fedor-1971
16.09.15
✎
08:44
|
(9) т.е. просто сравнить типЗнч(Объект.Субконто1)=ТипЗнч(Субконто.ВидСубконто) не получается?
|
|||
11
pro3ri
16.09.15
✎
08:45
|
(10) нет, т.к. до этого цикл:
Для каждого Субконто Из Объект.Счет.ВидыСубконто Цикл Если Строка(типзнч(Объект.Субконто1)) = Строка(Субконто.ВидСубконто.ТипЗначения) Тогда Элементы.Субконто1.Видимость = Истина; Иначе Элементы.Субконто1.Видимость = Ложь; //ДокОбъект = РеквизитФормыВЗначение("Объект",Тип("ДокументОбъект.Авизо")); //ДокОбъект.метаданные().Реквизиты.Субконто1.ПроверкаЗаполнения = ПроверкаЗаполнения.НеПроверять; //ЗначениеВРеквизитФормы(ДокОбъект, "Объект"); //Метаданные.Документы.Авизо.Реквизиты.Субконто1.ПроверкаЗаполнения = ПроверкаЗаполнения.НеПроверять; КонецЕсли; Если Строка(типзнч(Объект.Субконто2)) = Строка(Субконто.ВидСубконто.ТипЗначения) Тогда Элементы.Субконто2.Видимость = Истина; Иначе Элементы.Субконто2.Видимость = Ложь; //Метаданные.Документы.Авизо.Реквизиты.Субконто1.ПроверкаЗаполнения = ПроверкаЗаполнения.НеПроверять; КонецЕсли; КонецЦикла; |
|||
12
Fedor-1971
16.09.15
✎
09:03
|
(11) т.е. простыми словами ты сравниваешь тип значения данных объекта и тип значения субконто счета (правда забыл, что и то и другое может быть составного типа)
Как то не могу придумать где может понадобиться такой функционал? Может имеет смысл проверять ЗначениеЗаполнено(Объект.Субконто1) и ТипЗнч(Объект.Субконто1)=Тип("??") - при заполненном субконто имеющем определённый тип. |
|||
13
pro3ri
16.09.15
✎
09:55
|
(12) Первоначально при вводе нового дока Объект.Субконто1 всегда не заполнен.
А вот субконто берется из счета. Из коллекции Объект.Счет.ВидыСубконто. |
|||
14
pro3ri
16.09.15
✎
09:56
|
>> Как то не могу придумать где может понадобиться такой функционал?
Документ Авизо |
|||
15
Гёдза
16.09.15
✎
10:00
|
(8) Только лучше не удалять, а добавлять.
Более безопасный вариант |
|||
16
Dmitrii
гуру
16.09.15
✎
10:03
|
(0) И что произойдет, когда Субконто.ВидСубконто.ТипЗначения окажется составным (например, вид субконто СчетФактура с типом - куча всяческих ссылок на документы)?
Вообще задача - феерический бред. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |