8.х Создание элемента подчиненного справочника

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем GAMI1991, 30 апр 2015.

  1. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Добрый день!
    Ребята, помогите разобраться, задача: при создание элемента справочника владельца должен создаваться так же элемент подчиненного справочника.
    Все работает, элементы и там и там создаются, но как только я пытаюсь создать новую группу, выдается ошибка:
    "Ошибка при выполнении обработчика - 'ПриЗаписи'
    по причине:
    {Справочник.Контрагенты.МодульОбъекта(45)}: Ошибка при вызове метода контекста (Записать)
    НовОб.Записать();
    по причине:
    Значение поля "Владелец" не может быть группой"

    КАК МНЕ ОБОЙТИ ЭТУ ОШИБКУ?

    Вот сам код:
    Код:
    Процедура ПередЗаписью(Отказ)
       БудущаяСсылка = Справочники.КонтактныеЛица.ПолучитьСсылку();
    КонецПроцедуры
    
    Процедура ПриЗаписи(Отказ)
       НовОб = Неопределено;
       НовОб = Справочники.КонтактныеЛица.СоздатьЭлемент();
       НовОб.УстановитьСсылкуНового(БудущаяСсылка);
       НовОб.Владелец = ЭтотОбъект.Ссылка;
       НовОб.Записать();
  2. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Потому что записывают объект, а не ссылку.
    Упс, не дочитал код до конца.
    --- Объединение сообщений, 30 апр 2015 ---
    Почитайте в СП про ПолучитьССылкуНового();
  3. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Ну я так и делаю.
    Читала, уже на зубок выучила :)
    Как избежать данную ошибку? Я новичок,только месяц работаю с 1С
  4. alexburn
    Online

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

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

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Я не пойму, как можно использовать метод ПолучитьСсылкуНового ПередЗаписью????????
    ведь как сказано в СП о этом методе:
    "Описание: Позволяет для нового (созданного и еще не записанного) объекта получить ранее установленное методом УстановитьСсылкуНового значение ссылки."
    Тем более метод ПолучитьСсылку(), примененный без параметров, позволяет сформировать новую уникальную ссылку. как сказано в СП.
    Последнее редактирование: 30 апр 2015
  6. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    А что нельзя сделать что то типа

    Если Не ЭтотОбъект.Ссылка.ЭтоГруппа Тогда

    КонецЕсли;
  7. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Теперь группа создается, но не создается элемент подчиненного справочника...
  8. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Ну ну раз у вас данное условие отрабатывает, значит можно сделать два кода один на создании группы - у нее то нет владельца, а другой который был
  9. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Да так можно сделать, но тогда элементы которые не принадлежат ни одной группе теряют ссылку.
    --- Объединение сообщений, 30 апр 2015 ---
    Я только месяц занимаюсь программирование 1С, опыта очень очень мало, помогите чайнику :(
  10. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Я же говорил, возьмите версию для обучения программирования, по крайней мере поймете механизмы 1С, для чего нужны регистры и т.п.
  11. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Зачем мне регистры, проблема в том как правильно организовать вывод элемента иерархического справочника владельца и одновременное создание элемента подчиненного справочника?
    СП читаю, демо версии имею, только опыта не хватает.
  12. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Вот как раз для этого и нужно знать методологию :)
    Сначала создается группа, потом элемент, дабы в не существующие данные подставить существующие :)

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