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

Вариант типа
Отказ = Истина;
НоваяСтрока = Объект.ТЧ.добавить();
ИсхСтрока = Элементы.ТЧ.ТекущиеДанные;
НоваяСтрока.Реквизит1 = ИсхСтрока.Реквизит1;
<...>

не рассматриваю, т.к. реквизитов (грубо) два десятка, хочется как-то по другому, это возможно?

1С:Предприятие 8.2 (8.2.15.289)
Vofka
В вопросе сказано очистить, а в коде сказано скопировать. Вот для скопировать:

НоваяСтрока = Объект.ТЧ.добавить();
ИсхСтрока = Элементы.ТЧ.ТекущиеДанные;
Для Каждого Колонка ИЗ Объект.ТЧ.Колонки Цикл
   НоваяСтрока[Колонка.Имя] = ИсхСтрока[Колонка.Имя];
КонецЦикла;


Для удалить, я думаю, сообразите smile.gif
Ardi
ТабличноеПоле.ПередНачаломДобавления (TableBox.BeforeAddRow)
ТабличноеПоле (TableBox)
ПередНачаломДобавления (BeforeAddRow)
Синтаксис:
ПередНачаломДобавления(<Отказ>, <Копирование>)
Параметры:
<Отказ>
Тип: Булево. Признак отказа от добавления строки. Если в теле процедуры-обработчика установить данному параметру значение Истина, строка не будет добавлена.
Значение по умолчанию: Ложь
<Копирование>
Тип: Булево. Определяет режим копирования. Если установлено Истина, то происходит копирование строки.
Описание:
Возникает перед началом интерактивного добавления строки.
logist
Vofka это всё хорошо, я сначала рассматривал именно такой вариант, только в Управляемом у ТабЧасти нет "Колонки"...


Ardi спасибо что так низко оценили мои знания, но синтаксис-помощником я умею пользоваться.
Vofka
Цитата(logist @ 04.04.12, 21:12) необходимо зарегистрироваться для просмотра ссылки
только в Управляемом у ТабЧасти нет "Колонки"

Бросайте наконец этот управляемый интерфейс smile.gif
logist
Цитата(Vofka @ 04.04.12, 21:37) необходимо зарегистрироваться для просмотра ссылки
Бросайте наконец этот управляемый интерфейс smile.gif

это разговор для отдельной темы, но если есть спрос, зачем бросать.
Small sa
необходимо зарегистрироваться для просмотра ссылки
MATEVI
Цитата(Vofka @ 04.04.12, 21:37) необходимо зарегистрироваться для просмотра ссылки
Бросайте наконец этот управляемый интерфейс

Как это бросайте icon_cuss.gif Я только начал например smile.gif Пишу "нетленку"

Я вот такое изобрел. Копирую выборочные реквизиты строки.
&НаСервере
Процедура СкопироватьРеквизитыСтроки(ИсхНом,НовНом)

    ТекСтрока = Объект.Оплата.НайтиПоИдентификатору(ИсхНом-1);
    НовСтрока = Объект.Оплата.НайтиПоИдентификатору(НовНом-1);
    
    СтруктураРеквизитовКопирования = Новый Структура("Валюта,Курс,Кратность,Сумма");
    ТабличныеЧасти = Метаданные.Документы.ПриходныйКассовыйОрдер.ТабличныеЧасти.Оплата;
    
    Для каждого Реквизит ИЗ ТабличныеЧасти.Реквизиты  Цикл
        
        Если СтруктураРеквизитовКопирования.Свойство(Реквизит.Имя) Тогда            
            НовСтрока[Реквизит.Имя] = ТекСтрока[Реквизит.Имя];                
        КонецЕсли;

    КонецЦикла


КонецПроцедуры

&НаКлиенте
Процедура ОплатаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
    
    Отказ=Истина;

    Если Копирование Тогда
        
        СтрокаТЧ    = Элементы.Оплата.ТекущиеДанные;
        НовСтр      = Объект.Оплата.Добавить();

        СкопироватьРеквизитыСтроки(СтрокаТЧ.НомерСтроки,НовСтр.НомерСтроки);    
        
    КонецЕсли;


КонецПроцедуры


Единственный момент что после удаления строки. Вылетает. Надо или записывать или что то я не учел.
Проверять на неопределено и выходить думаю не подходит.
logist
Все спасибо за помощь, решение оказалось простым:
ЗаполнитьЗначенияСвойств(Приемник, Источник,, СписокИсключений);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.