Версия для печати темы (https://pro1c.org.ua/index.php?s=597ef1a5bdf146d14400db32619e501f&showtopic=67217)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Очищення додаткових реквізитів довідника при копіюванні

Автор: slavikdr 04.04.23, 19:07

Панове другий день пробую розібратись як очистити додаткові реквізити довідника при копіюванні, і толку нуль.
Через табличну частину елементу довідника помилок не видає, але і не працює.
Все ускладнюється тим що новий елемент номенклатури не має заповненої ссилки, а все що я нагуглив використовує її, це працює тільки для збереженого елементу довідника.
Направді я просто не знаю як працювати з тими додатковими реквізитами.

Підкажіть що почитати, хоча б в якому напрямку рухатись щоб знайти рішення?

Автор: AnryMc 05.04.23, 7:13

slavikdr @ Вчера, 19:07 * ,

недоперезрозумів...

Автор: andreydv87 05.04.23, 11:06

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

Автор: sava1 05.04.23, 11:21

модул форми елемента

КопироватьСвязаннуюИнформацию()

Автор: slavikdr 05.04.23, 16:30

Цитата(AnryMc @ 05.04.23, 8:13) *
Не совсем понятно что Вы хотите сделать или что у Вас не получается?

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


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

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua