8.х получение доступа(прочитать значение) к элементу справочника из модуля формы документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем rustyprivate, 6 дек 2009.

  1. TopicStarter Overlay
    rustyprivate
    Offline

    rustyprivate

    Регистрация:
    11 дек 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, я начинающий поэтому ногами не пинать :)

    Есть у меня форма документа, в ней табличная часть, где есть поле, где выбирается ссылка на элемент справочника(справочник иерархический)

    Задача: при событии изменения значения этого поля, мне нужно проверить родителя этого выбранного справочника.

    Открыл процедура события и теперь незнаю какой синтаксис. :(
  2. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Что значит проверить??

    Если Элемент.Родитель = ... тогда


    КонецЕсли;
  3. TopicStarter Overlay
    rustyprivate
    Offline

    rustyprivate

    Регистрация:
    11 дек 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    мне нужно сравнить его с строкой( "ПК" например)
    если пишу Элемент.Родитель мне платформа пишет
    поле объекта не обнаружено (родитель)
    :)
    я использую 8.2, ошибся форумом, модеры перенесите пожылуйста.
    форма обычная, не управляемая

    к реквизиту формы я могу обращаться так Имяреквизита.Родитель
    а вот когда реквизит в табличной части незнаю :(
  4. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    ВашаТабличнаяЧасть.ВашЭлемент.Родитель
  5. TopicStarter Overlay
    rustyprivate
    Offline

    rustyprivate

    Регистрация:
    11 дек 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Не работает, ТабличнаяЧасть имеет функции выгрузить, добавить и т.п а свойства Элемент нету
    я на всякий случай запустил и платформа пишет поле объекта не обнаружено :unsure:
  6. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    В событие ПриИзменении что-то вроде:
    Код:
    СтрокаТабличнойЧасти = ЭлементыФормы.ВашаТабличнаяЧасть.ТекущиеДанные;
    Если ЗначениеЗаполнено(СтрокаТабличнойЧасти.ВашеПоле) Тогда
    Если СтрокаТабличнойЧасти.ВашеПоле.Родитель <> Справочники.ВашСправочник.НайтиПоКоду(КодИскомогоРодителя) Тогда
    Предупреждение("Родитель - Неверный");
    КонецЕсли;
    КонецЕсли;
    
    
  7. TopicStarter Overlay
    rustyprivate
    Offline

    rustyprivate

    Регистрация:
    11 дек 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    спасибо!!!!
    теперь второй вопрос как сравнить этого родителя

    Если СтрокаТабличнойЧасти.Номенклатура.Родитель = "ПК" Тогда
    Предупреждение("Родитель ПК");
    КонецЕсли;

    В режиме отладки я вижу что значение у СтрокаТабличнойЧасти.Номенклатура.Родитель это ПК, так почему он не сравнивает с строкой(не заходит в цикл)? или типы данных разные??

    код который вы написали не работает
    Справочники.Номенклатура.НайтиПоКоду(9) ничего не возвражает
    я в режиме отладки нажимаю Вычислить Выражение и там указан Справочник.Ссылка.Номенклатура а значения все пустые
  8. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    1. Типы разные. Вы сравниваете Ссылку на элемент справочника со строкой - конечно будет ЛОЖЬ.

    2. Не находит, т.к. нету элемента с таким кодом, посмотрите тип кода, возможно он строковый, следовательно нужно передавать строку, а не число.
  9. TopicStarter Overlay
    rustyprivate
    Offline

    rustyprivate

    Регистрация:
    11 дек 2008
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    спасибо вам всем большое у меня просветление в голове :)

Поделиться этой страницей