Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 13:36

дополнительный реквизит программно

Автор andryscha92, 15 авг 2014, 09:13

0 Пользователей и 1 гость просматривают эту тему.

andryscha92

Здравствуйте! хочу программно заполнить дополнительный реквизит! Данные присваиваются, но реквизит на форме не заполняется.в чем может быть проблема(может из за того что объект это данные формы структура?)см.скрин

freez1301

Цитата: andryscha92 от 15 авг 2014, 09:13
Здравствуйте! хочу программно заполнить дополнительный реквизит! Данные присваиваются, но реквизит на форме не заполняется.в чем может быть проблема(может из за того что объект это данные формы структура?)см.скрин

стр.ОКВЭД - должен быть ссылкой на элемент справочника ЗначенияСвойствОбъектов

andryscha92

Цитата: freez1301 от 15 авг 2014, 10:46
Цитата: andryscha92 от 15 авг 2014, 09:13
Здравствуйте! хочу программно заполнить дополнительный реквизит! Данные присваиваются, но реквизит на форме не заполняется.в чем может быть проблема(может из за того что объект это данные формы структура?)см.скрин

стр.ОКВЭД - должен быть ссылкой на элемент справочника ЗначенияСвойствОбъектов
это строковый тип, который я беру из таб значений,а как ОКВЭД будет ссылкой, если это просто строка(какое то значение)?что нужно в моем случае теперь?

freez1301

новоезначение.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("ВашаТекстоваяСтрока") - все будет ок если в справочнике есть такая запись, если нет, то создайте

andryscha92

Цитата: freez1301 от 15 авг 2014, 10:57
новоезначение.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("ВашаТекстоваяСтрока") - все будет ок если в справочнике есть такая запись, если нет, то создайте
Объект = ЭтаФорма.Объект;
ОКЭВД = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ОКВЭД");
НовыйРеквизит            = Объект.ДополнительныеРеквизиты.Добавить();
НовыйРеквизит.Свойство   = ОКЭВД;
Поиск = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(Стр.ОКВЭД);
Если НЕ Поиск.Пустая() Тогда

НовоеЗначение = Поиск;

Иначе
НовоеЗначение = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
НовоеЗначение.Наименование = Стр.ОКВЭД;
НовоеЗначение.Записать();
    КонецЕсли;

НовыйРеквизит.Значение = НовоеЗначение;


все равно не заполняется хотя ссылка присваивается, есть какая то функция в общем модуле что бы отобразить реквизиты на форме, ни как не вспомню...или в чем тут дело?

freez1301

Цитата: andryscha92 от 15 авг 2014, 11:48
Цитата: freez1301 от 15 авг 2014, 10:57
новоезначение.Значение = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию("ВашаТекстоваяСтрока") - все будет ок если в справочнике есть такая запись, если нет, то создайте
Объект = ЭтаФорма.Объект;
ОКЭВД = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("ОКВЭД");
НовыйРеквизит            = Объект.ДополнительныеРеквизиты.Добавить();
НовыйРеквизит.Свойство   = ОКЭВД;
Поиск = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(Стр.ОКВЭД);
Если НЕ Поиск.Пустая() Тогда

НовоеЗначение = Поиск;

Иначе
НовоеЗначение = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
НовоеЗначение.Наименование = Стр.ОКВЭД;
НовоеЗначение.Записать();
    КонецЕсли;

НовыйРеквизит.Значение = НовоеЗначение;


все равно не заполняется хотя ссылка присваивается, есть какая то функция в общем модуле что бы отобразить реквизиты на форме, ни как не вспомню...или в чем тут дело?

Администрирование-Общие настройки - Включить Доп реквизиты и сведения
также посмотрите у ВидаНоменклатуры есть ли ваши доп реквизиты и там же можно настроить чтобы они были видимы при создании новой номенклатуры, обязательное заполнение и тд

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск