8.х Родитель

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Эмиль0690, 31 янв 2015.

  1. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    Добрый день!
    Как можно вытащить на форме документа родителя (группа) справочника, при выборе справочника но справочник составного типа?
    Если справочник не составного типа то можно получить родителя т.е в каком группе находится сам элемент.
    (справочник без составного типа)
    upload_2015-1-31_20-46-31.png

    (справочник составной типом)
    upload_2015-1-31_20-48-12.png

    Спасибо!
  2. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    1. Справочник не может быть составного типа - вы путаете понятия
    2. Есил протустить весь бред что вы написали и посмотреть на скрины, то вам нужен родитель к элементу справочника контрагент? если так, то Контрагент.Родитель.
    Persempre нравится это.
  3. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    upload_2015-2-2_16-51-41.png
    --- Объединение сообщений, 2 фев 2015 ---
    значить я должен добавить реквизит в форме документа?
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Патроны, потрон, блииин, Эмиль.........
    позже удалю бред :)
  5. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    бред не бред все таки как можно получить родителя справочника?
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Родитель есть не у справочника, а у элемента справочника.
    Получить его можно:
    СсылкаНаЭлементСправочника.Родитель
  7. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    и так и всяк но все равно ошибка
    Код:
    &НаКлиенте
    Процедура КорректировкаПотронПриИзменении(Элемент)
         СтрокаТабличнойЧасти = Элементы.Корректировка.ТекущиеДанные;
         СтрокаТабличнойЧасти.Родитель = Строка(СсылкаНаЭлементСправочника.Родитель);
    //     СтрокаТабличнойЧасти.Родитель = СсылкаНаЭлементСправочника.Родитель;  и так
    //   СтрокаТабличнойЧасти.Родитель = Строка(ТипЗнч(СсылкаНаЭлементСправочника.Родитель)); и так
    
    КонецПроцедуры
    
    ошибка
    Код:
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(8,34)}: Переменная не определена (СсылкаНаЭлементСправочника)
        СтрокаТабличнойЧасти.Родитель = <<?>>СсылкаНаЭлементСправочника.Родитель; (Проверка: Тонкий клиент)
    
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Эмиль, по вашим скриншотам, что является элементом справочника?
  9. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    СсылкаНаЭлементСправочника - вот это что такое????
    Эмиль, либо вы заканчиваете "бред сумашедшего", либо я выставлю вам предупреждение (уже неоднократно замечено мною, что вы даже не пытаетесь коррректно объяснять).
  10. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Алекс, позволю себе тебя поправить, Эмиль не пытается изучать вопрос, а тупо копирует то что ему пишут. СсылкаНаЭлементСправочника - эту конструкцию образно посоветовал Вадим, а вы Эмиль должны были адаптировать под свои данные - вам это уже не раз говорили.

    З.Ы. не обижайтесь, Эмиль, но по-моему, программирование - это не ваше
  11. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    элемент справочника это "Патрон"
    upload_2015-2-3_11-35-37.png
    --- Объединение сообщений, 3 фев 2015 ---
    извините меня!
    я же не специально:( это недоумения-Banghead- я очень хочу научиться!
    --- Объединение сообщений, 3 фев 2015 ---
    да помню сколько раз Вы мне помогали!
    я адаптировал, но как-то неправильно
    Код:
    СтрокаТабличнойЧасти.Родитель = Строка(ТипЗнч(СтрокаТабличнойЧастиСсылкаНаЭлементСправочника.Потрон)); //СсылкаНаЭлементСправочника.Родитель;
    
    СтрокаТабличнойЧасти.Родитель = СсылкаНаЭлементСправочникаПатрон.Родитель)); //СсылкаНаЭлементСправочника.Родитель;
    
    СтрокаТабличнойЧасти.Родитель = СсылкаНаЭлементПатронСправочника.Родитель)); //СсылкаНаЭлементСправочника.Родитель;
    
    СтрокаТабличнойЧасти.Родитель = СсылкаНаЭлементСправочника.Патрон.Родитель)); //СсылкаНаЭлементСправочника.Родитель;
  12. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    а так:
    Код:
    //СсылкаНаЭлементСправочника.Родитель
    Потрон.Родитель
    ЗЫ: веселый Вы парень ;)
  13. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    Эмиль вы ее никак не адаптировали. Вадим вам указал лишь на то, что вам надо взять ссылку на элемент справочника и у нее запросить родителя. Вы подставили фразу Вадима себе в код, тем самым показывая, что за то время что вы тут на форуме обитаете - вы не подчерпнули азов в программировании ((((
  14. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Не совсем, но верно.

    Вот Вы определили текущую строку табличной части:

    СтрокаТабличнойЧасти = Элементы.Корректировка.ТекущиеДанные;

    Следовательно, <ЭлементСправочника>.Родитель при этом как будет выглядеть?

    Я боюсь, напрямую в строке ТЧ родителя через точку не получить и тогда придется писать функцию с дерективой &НаСервереБезКонтекста.
  15. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Конечно к строке нельзя так обращатся, нужно получить значение колонки, и только потом получать ссылку.
  16. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Да я к тому, что СтрокаТЧ.<КолонкаСоСсылкойНаЭлементСправочника>.Родитель - не проканает

    Надо будет делать что-то вроде:
    Код:
    
    ТекРодитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.<КолонкаСоСсылкойНаЭлементСправочника>, "Родитель");
    
    &НаСервереБезКонтекста
    Функция ПолучитьЗначениеРеквизита(Ссылка, ИмяРеквизита)
    
    Если ЗначениеЗаполнено(Ссылка)
              И ЗначениеЗаполнено(ИмяРеквизита) Тогда
          Возврат Ссылка[ИмяРеквизита];
    Иначе
          Возврат Неопределено;
    КонецЕсли;
    
    КонецФункции
  17. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29
    все равно ошибка...
    Код:
    &НаКлиенте
    Процедура КорректировкаПотронПриИзменении(Элемент)
         СтрокаТабличнойЧасти = Элементы.Корректировка.ТекущиеДанные;
         //СтрокаТабличнойЧасти.Родитель = СсылкаНаЭлементСправочника.Патрон.Родитель)); //СсылкаНаЭлементСправочника.Родитель;
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.<КолонкаСоСсылкойНаЭлементСправочника>, "Родитель");
    КонецПроцедуры
    
    &НаСервереБезКонтекста
    Функция ПолучитьЗначениеРеквизита(Ссылка, Патрон)
    
    Если ЗначениеЗаполнено(Ссылка)
              И ЗначениеЗаполнено(Патрон) Тогда
          Возврат Ссылка[Патрон];
    Иначе
          Возврат Неопределено;
    КонецЕсли;
    
    КонецФункции
    Код:
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,69)}: Ожидается идентификатор
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.<<?>><КолонкаСоСсылкойНаЭлементСправочника>, "Родитель"); (Проверка: Сервер)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,70)}: Ожидается символ ')'
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.<<<?>>КолонкаСоСсылкойНаЭлементСправочника>, "Родитель"); (Проверка: Сервер)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,69)}: Ожидается идентификатор
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.<<?>><КолонкаСоСсылкойНаЭлементСправочника>, "Родитель"); (Проверка: Тонкий клиент)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,70)}: Ожидается символ ')'
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.<<<?>>КолонкаСоСсылкойНаЭлементСправочника>, "Родитель"); (Проверка: Тонкий клиент)
    
    СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.(<КолонкаСоСсылкойНаЭлементСправочника>), "Родитель");

    Код:
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,69)}: Ожидается идентификатор
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.<<?>>(<КолонкаСоСсылкойНаЭлементСправочника>), "Родитель"); (Проверка: Сервер)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,108)}: Ошибка в выражении
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.(<КолонкаСоСсылкойНаЭлементСправочника><<?>>), "Родитель"); (Проверка: Сервер)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,109)}: Неопознанный оператор
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.(<КолонкаСоСсылкойНаЭлементСправочника>)<<?>>, "Родитель"); (Проверка: Сервер)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,69)}: Ожидается идентификатор
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.<<?>>(<КолонкаСоСсылкойНаЭлементСправочника>), "Родитель"); (Проверка: Тонкий клиент)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,108)}: Ошибка в выражении
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.(<КолонкаСоСсылкойНаЭлементСправочника><<?>>), "Родитель"); (Проверка: Тонкий клиент)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,34)}: Недостаточно фактических параметров (ПолучитьЗначениеРеквизита)
        СтрокаТабличнойЧасти.Родитель = <<?>>ПолучитьЗначениеРеквизита(СтрокаТЧ.(<КолонкаСоСсылкойНаЭлементСправочника>), "Родитель"); (Проверка: Тонкий клиент)
    {Документ.КорректировкаДолгаПотронов.Форма.ФормаДокумента.Форма(9,109)}: Неопознанный оператор
        СтрокаТабличнойЧасти.Родитель = ПолучитьЗначениеРеквизита(СтрокаТЧ.(<КолонкаСоСсылкойНаЭлементСправочника>)<<?>>, "Родитель"); (Проверка: Тонкий клиент)
    
  18. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Эмиль, пока вы не перестанете тупо копировать код из форума в свою конфигурацию, у вас ничего не будет работать.
  19. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Эмиль, в следующий раз вынесу предупреждение.
  20. TopicStarter Overlay
    Эмиль0690
    Offline

    Эмиль0690 Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    290
    Симпатии:
    2
    Баллы:
    29

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