8.х Изменить данные формы

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

  1. TopicStarter Overlay
    lex_nv
    Offline

    lex_nv

    Регистрация:
    14 ноя 2011
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Добрый день. Помогите разобраться с программным сохранением данных в форме. Делаю импорт справочника Физических лиц в конфигурацию "Зарплата и Управление Персоналом" восьмерки

    Код:
    ЭтаФорма=ФизическоеЛицо.ПолучитьФорму("ФормаЭлемента");
    ЭтаФорма.Открыть();
    ЭтаФорма.Имя="Иванов";
    
    
    Данные в форме меняются, но не сохраняются. Что нужно сделать что бы сохранить? Не могу понять как программно нажать кнопку "Сохранить". Или может быть есть более деликатный способ без открытия формы?
  2. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Форма данные не хранит, а только отображает - это её целевое предназначение. Данные хранит объект
    Код:
    ОбФиз = ФизическоеЛицо.ПолучитьОбъект();
    ОбФиз.Имя = "Иванов";
    ОбФиз.Записать();
    
    где "Имя" - реквизит объекта, когда форма будет открываться она считает эти данные и откроет.
  3. TopicStarter Overlay
    lex_nv
    Offline

    lex_nv

    Регистрация:
    14 ноя 2011
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Прошу прощение, забыл указать что ФизическоеЛицо это элемент справочника:

    Код:
    ФизическоеЛицо=Справочники.ФизическиеЛица.СоздатьЭлемент();
    ФизическоеЛицо.Наименование="Иванов Иван Иванович";
    ....
    
    ЭтаФорма=ФизическоеЛицо.ПолучитьФорму("ФормаЭлемента");
    ЭтаФорма.Открыть();
    ЭтаФорма.Имя="Иванов";
    
    
    В справочнике нет реквизитов Фамилия, Имя, и еще некоторых, но они есть на форме.
  4. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.977
    Симпатии:
    397
    Баллы:
    104
    Эти данные берутся из регистра свдений ФИОФизЛиц. Как уже сказал mialord данные хранятся в объекте, а не в форме.

    Код:
    ФизическоеЛицо=Справочники.ФизическиеЛица.СоздатьЭлемент();
    ФизическоеЛицо.Наименование="Иванов Иван Иванович";
    ФизическоеЛицо.Записать();
    
    
    А для Фамилия, Имени, Отчества придется отдельно создавать запись в регистре сведений. 1С под рукой нет, но что-то типа
    Код:
    Элемент = РегистрыСведений.ФИОФизЛиц.ПолучитьМенеджерЗаписи();
    Элемент.Период = ТекущаяДата();
    Элемент.Фамилия = "Иванов";
    Элемент.Имя = "Иван";
    Элемент.Отчество = "Иванович";
    Попытка
    Элемент.Записать(Итсина);
    Исключение
    Сообщить("ОШИБКА");
    КонецПопытки;
    
    

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