Имя: Пароль:
1C
 
Нужна срочная помощь
🠗 (МодерБот 22.02.2024 21:36)
,
0 micupaw
 
naïve
22.02.24
16:58
опишу задачу
у меня есть конфигурация в 1с
В этой конфигурации есть  справочники
Первый справочник с названием "Номенклатура"
Второй справочник с названием "НоменклатураОМС"
Третий справочник с названием "Кабинеты"
Четвертый справочник с названием  "КабинетыОМС"
Я создал документ в котором создал табличную часть с  названием "Выдано" и добавил ей реквизиты
первый реквизит "Наименование" имеет составной тип данных  СправочникСсылка.Номенклатура, СправочникСсылка.НоменклатураОМС, то есть при нажатие мне доступен выбор двух справочников, что я описал выше
Второй реквизит "Кабинет" имеет составной тип данных   СправочникСсылка.КабинетыОМС, СправочникСсылка.Кабинеты, то есть при нажатие мне доступен выбор двух справочников
Теперь мне надо в режиме ФормаДокументов сделать так, что если в поле Наименование я выбираю Справочник НоменклатураОМС, то тогда в поле Кабинет у меня остается выбор только справочника КабинетыОМС
И наоборот, если я выбираю справочник Номенклатура  в строке Наименование, то в  кабинете у меня остается выбор только из справочника "Кабинеты"
У меня есть мой код
&НаКлиенте
Процедура ВыданоНаименованиеПриИзменении(Элемент)
    Перем ВыданоКабинет;
    
    Если Элемент.Наименование.Ссылка.Тип = Тип("Справочник.НоменклатураОМС") Тогда
        ВыданоКабинет = "КабинетыОМС";
    Иначе
        ВыданоКабинет = "Кабинеты";
    КонецЕсли;
    
    // Ваш код для использования переменной ВыданоКабинет
    
КонецПроцедуры
Синтаксит верный, но когда я запускаю конфигурацию и выбираю сравочник, возникает такая ошибка :
Поле объекта не обнаружено (Наименование)
{Документ.ВыдачаМатериалов.Форма.ФормаДокумента.Форма(5)}:    Если Элемент.Наименование.Ссылка.Тип = Тип("Справочник.НоменклатураОМС") Тогда
Может кто знает как исправить или может предложить иное решение проблемы, буду очень благодарен!!!
1 Волшебник
 
22.02.24
17:07
Если ТипЗнч(Элемент.ТекущаяСтрока.Наименование)=Тип("СправочникСсылка.ВашСпр") Тогда
2 Волшебник
 
22.02.24
17:07
(0) чувствуется кодогенерация
3 Волшебник
 
22.02.24
17:08
Тема не отражает суть сообщения
4 micupaw
 
naïve
22.02.24
18:06
Извините, первый раз тут пишу (3)
5 micupaw
 
naïve
22.02.24
18:08
(3) Не без нее
Но возникла ошибка, теперь не обнаружен объект текущая строка
Поле объекта не обнаружено (ТекущаяСтрока)
{Документ.ВыдачаМатериалов.Форма.ФормаДокумента.Форма(6)}:    Если ТипЗнч(Элемент.ТекущаяСтрока.Наименование)=Тип("СправочникСсылка.НоменклатураОМС")тогда
Что можете тут подсказать? Заранее , Спасибо.
6 Волшебник
 
22.02.24
18:45
(5) Изучите понятие "тип данных". Когда Вы обращаетесь через точку к свойству (например, "Элемент.МоёСвойство", то должны понимать тип значения переменной "Элемент" и есть ли там "МоёСвойство")
7 Волшебник
 
22.02.24
18:46
И не надо сыпать на мисту ошибки выполнения программного кода. Тут Вам не отладчик. Свои глупенькие проблемы с типами и свойствами решайте сами.
8 Волшебник
 
22.02.24
18:49
И ещё я рекомендую изучить синтакс-помощник, а также литературу, чтобы понимать зачем и почему. Там написано очень много, но не всё.
9 bolder
 
23.02.24
14:30
(0) Кошмарное решение
...
10 EvgeniuXP
 
23.02.24
18:24
(9) Человек учится.
11 Волшебник
 
24.02.24
08:32
(10) Ой, не морочьте нам голову
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn