8.х Автоматическое заполнение реквизитов

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

  1. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Добрый день!
    Подскажите пожалуйста, как автоматически заполнить реквизит справочника в зависимости от имени выбранной группы?
  2. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.765
    Симпатии:
    509
    Баллы:
    204
    В нужных обработчиках прописать нужный код.
  3. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

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

    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
    Если ДанныеЗаполнения = Неопределено Тогда
    Возврат;
    КонецЕсли;
    Если ДанныеЗаполнения.Родитель = "Покупатели" Тогда
    НовСпр = Справочники.Контрагенты.СоздатьЭлемент();
    НовСпр.Комментарий = "Действующий покупатель";
    НовСпр.Записать();
    КонецЕсли;
    КонецПроцедуры
  4. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.765
    Симпатии:
    509
    Баллы:
    204
    ОбработкаЗаполнения() - прочитайте в СП при каких условиях срабатывает.
  5. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Возникает при вводе элемента справочника на основании, а также при выполнении метода Заполнить, а также при интерактивном вводе нового. В процедуре-обработчике этого события должен быть описан сам алгоритм заполнения реквизитов элемента справочника на основании переданного значения.
    Я читала справочный материал, все понятно написано. Но реквизит "Комметарий " не хочет заполняться... Может я неправильно к нему обращаюсь в модуле объекта?
  6. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.765
    Симпатии:
    509
    Баллы:
    204
    Возможно это реквизит формы, а не объекта, вот и не заполняется. Вы отладчиком посмотрите, по коду так-то все верно.
  7. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Под отладчиком пишет:
    ДанныеЗаполнения это структура,
    НовСпр = Неопределено,
    Комментарий = "".

    Что не так ?

    Сама процедура:
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
    Если ДанныеЗаполнения = Неопределено Тогда
    Возврат;
    КонецЕсли;
    Если ДанныеЗаполнения.Родитель = "Покупатели" Тогда
    НовСпр = Справочники.Контрагенты.СоздатьЭлемент();
    НовСпр.Комментарий = "Действующий покупатель";
    НовСпр.Записать();
    КонецЕсли;
    КонецПроцедуры
    Последнее редактирование: 28 апр 2015
  8. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.765
    Симпатии:
    509
    Баллы:
    204
    Так у вас условие видимо не срабатывает, вот и не заполняет.
  9. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Если поменять условие и оставить только Если ДанныеЗаполнения.Родитель = "Покупатели" Тогда... он считывает группу, но все равно не заполняет реквизит. Подскажите как иначе поменять условие отбора по родителю?
  10. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.765
    Симпатии:
    509
    Баллы:
    204
    Вы сначала разберитесь, для чего вам отбор по родителю ?
  11. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Мне нужно написать комментарий в зависимости от родителя к которому относится тот или иной элемент.

    upload_2015-4-28_14-33-19.png
  12. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.765
    Симпатии:
    509
    Баллы:
    204
    Тогда пробуйте так:
    Код:
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
    Если ДанныеЗаполнения = Неопределено Тогда
    Возврат;
    КонецЕсли;
    Если ДанныеЗаполнения.Родитель.Наименование = "Покупатели" Тогда
       НовСпр = Справочники.Контрагенты.СоздатьЭлемент();
       НовСпр.Комментарий = "Действующий покупатель";
       НовСпр.Записать();
    КонецЕсли;
    КонецПроцедуры
    GAMI1991 нравится это.
  13. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Последнее редактирование: 28 апр 2015
  14. alexburn
    Online

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.765
    Симпатии:
    509
    Баллы:
    204
    А вы данные на форме обновляете ????????????????????????????????????????
    Под отладчиком условие выполняется ???????????????????????????????????
    Отладчиком записывается объект ??????????????????????????????????????
  15. TopicStarter Overlay
    GAMI1991
    Offline

    GAMI1991 Опытный в 1С

    Регистрация:
    5 фев 2015
    Сообщения:
    71
    Симпатии:
    1
    Баллы:
    29
    Все поняла, спасибо большое!!!!!

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