[РЕШЕНО] 1С 8.3 документ, поле ввода

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

  1. TopicStarter Overlay
    ExtreMe
    Offline

    ExtreMe Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    76
    Симпатии:
    7
    Баллы:
    29
    всё пытаюсь разобраться с управляемыми формами...
    есть документ ПКО, у него есть реквизит Основание
    хотелось бы это Основание, к примеру, заполнить текстом "от "+Поставщик
    то есть у поля формы Поставщик в обработчике событий ПриИзменении прописать процедуру
    которая в поле формы Основание заполняла бы текст "от "+Поставщик
    как это правильно сделать?
    --- Объединение сообщений, 19 сен 2014 ---
    нашёл как обратиться к табличной части документа, а вот просто к полям формы обратиться не получается
    Последнее редактирование: 19 сен 2014
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    У объекта есть реквизит - ОСНОВАНИЕ, если тип строковый, то добавить не составит труда, если тип ссылочный - не добавишь никак.
    в форме присвоить значение реквизиту:

    ИмяРеквизитаНаФорме = Значение
  3. TopicStarter Overlay
    ExtreMe
    Offline

    ExtreMe Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    76
    Симпатии:
    7
    Баллы:
    29
    так просто не получается, это в 8.2 такое пройдет

    вот такой код мне сообщает "Поле объекта недоступно для записи (Основание)"
    &НаКлиенте
    Процедура КонтрагентПриИзменении(Элемент)
    Элементы.Основание = "от "+Элементы.Контрагент;
    КонецПроцедуры
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Потому что Основание - это реквизит объекта и обращаться к нему необходимо через Объект.Основание, так же как и брать значение реквизита Контрагент.

    p.s. 1с создала просто таки вероломную штуку - управляемые формы :)
  5. TopicStarter Overlay
    ExtreMe
    Offline

    ExtreMe Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    76
    Симпатии:
    7
    Баллы:
    29
    та же ситуация - "Поле объекта недоступно для записи (Основание)"

    &НаСервере
    Функция ИзменитьОснование()
    ДокПКО = РеквизитФормыВЗначение("Объект");
    Возврат ДокПКО.Контрагент.НаименованиеПолное;
    КонецФункции

    &НаКлиенте
    Процедура КонтрагентПриИзменении(Элемент)
    ДокПКО = ИзменитьОснование();
    ЭтотОбъект.Элементы.Основание = ДокПКО;
    КонецПроцедуры
    Последнее редактирование: 19 сен 2014
  6. XXL
    Offline

    XXL Опытный в 1С Команда форума

    Регистрация:
    22 янв 2007
    Сообщения:
    1.159
    Симпатии:
    19
    Баллы:
    29
    не
    Код:
    ЭтотОбъект.Элементы.Основание
    , а
    Код:
    Объект.Основание
    hesperus и ExtreMe нравится это.
  7. TopicStarter Overlay
    ExtreMe
    Offline

    ExtreMe Опытный в 1С

    Регистрация:
    13 сен 2014
    Сообщения:
    76
    Симпатии:
    7
    Баллы:
    29
    да, так сработало :)

    &НаСервере
    Функция ИзменитьОснование()
    ДокПКО = РеквизитФормыВЗначение("Объект");
    Возврат ДокПКО.Контрагент.НаименованиеПолное;
    КонецФункции

    &НаКлиенте
    Процедура КонтрагентПриИзменении(Элемент)
    ДокПКО = ИзменитьОснование();
    Объект.Основание = ДокПКО;
    КонецПроцедуры
    hesperus нравится это.

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