Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Очищення додаткових реквізитів довідника при копіюванні
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
slavikdr
Панове другий день пробую розібратись як очистити додаткові реквізити довідника при копіюванні, і толку нуль.
Через табличну частину елементу довідника помилок не видає, але і не працює.
Все ускладнюється тим що новий елемент номенклатури не має заповненої ссилки, а все що я нагуглив використовує її, це працює тільки для збереженого елементу довідника.
Направді я просто не знаю як працювати з тими додатковими реквізитами.

Підкажіть що почитати, хоча б в якому напрямку рухатись щоб знайти рішення?
AnryMc
slavikdr @ Вчера, 19:07 необходимо зарегистрироваться для просмотра ссылки ,

недоперезрозумів...
andreydv87
slavikdr @ Вчера, 20:07 необходимо зарегистрироваться для просмотра ссылки ,
Не совсем понятно что Вы хотите сделать или что у Вас не получается?
Можете посмотреть в "модуле объекта" Процедура ПриКопировании(ОбъектКопирования).
sava1
модул форми елемента

КопироватьСвязаннуюИнформацию()
slavikdr
Цитата(AnryMc @ 05.04.23, 8:13) необходимо зарегистрироваться для просмотра ссылки
Не совсем понятно что Вы хотите сделать или что у Вас не получается?

я розібрався, вірніше скопіпастив. код получився такий
Процедура УстановитьЗначениеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита, ЗначениеРеквизита) Экспорт
    
    ПолеДополнительногоРеквизитаНаФорме = ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита);
    
    Если не ПолеДополнительногоРеквизитаНаФорме = Неопределено Тогда
        Форма[ПолеДополнительногоРеквизитаНаФорме.ИмяРеквизитаЗначение] = ЗначениеРеквизита;
    КонецЕсли;
    
КонецПроцедуры


Функция ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита) Экспорт
    
    Список = Форма.Свойства_ОписаниеДополнительныхРеквизитов;
    
    Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", ИмяРеквизита);
    
    Если ЗначениеЗаполнено(Свойство) Тогда
        НайденныеСтроки = Список.НайтиСтроки(Новый Структура("Свойство", Свойство));
        Если НайденныеСтроки.Количество() > 0 Тогда
            Возврат НайденныеСтроки[0];        
        КонецЕсли;         
    КонецЕсли;
    
КонецФункции
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.