новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Копирование строки

    • #1
    • 02.10.2014 15:06
    0
    Здравствуйте, подскажите пожалуйста как при копировании строки в табличной части документа очищать реквизит табличной части. Управляемая форма, Процедура ПриКопировании(ОбъектКопирования)... именно в ней?
    • #2
    • 02.10.2014 18:27
    0
    Александр Сергеевич,
    в Событии ПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование) можно.
    могу расшифровать, если надо.
    • #3
    • 02.10.2014 19:31
    0
    Нет хочу именно в этой процедуре. То есть процесс выглядит следующим образом, Надо сделать обход по строкам таблицы черех цикл <Для каждого строка Из <Название табличной части.Реквезит табличной части> а потом Текущаястрока.Колонка.Очистить(). Я правильно понимаю? Если нет, то скажите что не так пожалуйста?
    • #4
    • 02.10.2014 19:36
    0
    а, пардон - этоже в модуле объекта (я подумал про форму документа).
    да - в ПриКопировании() делайте что хотите.
    • #5
    • 02.10.2014 19:45
    0
    Смысли что хотите))) а по конкретнее, алгоритм как выглядит?)
    • #6
    • 02.10.2014 19:57
    0
    в прямом - что хотите, то и делайте. только я снова не понял - когда нужното?
    Александр Сергеевич
    Управляемая форма
    - наводит меня на интерактивное действие (1).

    Александр Сергеевич
    Процедура ПриКопировании(ОбъектКопирования).
    - на модуль объекта. который исполняется при любом копировании всего объекта, а не отдельной строки. (2)

    вот не зная задачи отвечаю на оба варианта (они абсолютно не пересекаются):

    1. при копировании интерактивном - в модуле формы, Событие (тля таблицы) ТоварыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование). код вида -
    	Если Копирование Тогда		
    		ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
    		ТекущаяСтрока.Реквизит= Неопределено;
    	КонецЕсли;


    2. При копировании объекта - в модуле объекта процедура ПриКопировании(ОбъектКопирования), вида -
    	Для Каждого ТекСтрока Из Товары Цикл	
    		ТекСтрока.Реквизит = Неопределено;
    	КонецЦикла;
    • #7
    • 02.10.2014 20:33
    0
    Спасибо, второй вариант сделал, но при копировании не очищает, нужный мне табличный реквезит.
    • #8
    • 02.10.2014 20:46
    0
    ТекСтрока.Реквизит = Неопределено
    Реквизит нужный указан?
    цикл этот - указать самым последним в процедуре.
    да и просто - в отладчике проверить, что происходит.
    • #9
    • 02.10.2014 20:51
    0
    Вот таким образом все выглядит. Работы - табличная часть, Значение - реквизит

    Процедура ПриКопировании(ОбъектКопирования)

    Для каждого ТекущаяСтрока Из Работы Цикл

    ТекущаяСтрока.Значение = Неопределено;

    КонецЦикла;
    КонецПроцедуры
    • #10
    • 02.10.2014 20:55
    0
    Александр Сергеевич
    Вот
    ну и посмотреть в отладчике начиная со строки"Для каждого..." что происходит.
    Вообще - должно вроде очищать.
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться