Слить 2 ТЗ в одну. Как?

Форум 1С: Одинэс.Ру

Найти!

Слить 2 ТЗ в одну. Как?

US1C
09.04.2009 - 07:03
Проблема в следующем, есть две ТЗ (с одинаковой структурой), нужно объединить в одну. Но делать перебор строк одной ТЗ и добавлять по строке к другой кажется немного не красивым решением. Какие могут быть варианты?
К списку тем К списку форумов

Интересные темы

odines.ru
24.09.2021 - 11:16
Смотри также:
почему база SQL такая большая?
Хочу вот такой такую табличную часть документа.
Программно поменять дату документа ...

Re: Слить 2 ТЗ в одну. Как?

roma n
1 - 09.04.2009 - 07:07
Заполнить(<?>,,,);
Синтаксис:
Заполнить(<Знач>,<НачСтрока>,<КонСтрока>,<Колонки>)
Назначение:
Заполнить соответствующие ячейки таблицы значений переданным значением.
Параметры:
<Знач> - значение одиночное или список значений или таблица значений.
<НачСтрока> - необязательный параметр. Номер начальной строки, с которой надо начинать заполнение. Значение по умолчанию 1.
<КонСтрока> - необязательный параметр. Номер последней строки, по которую надо заполнять. Если не указана, то до последней.
<Колонки> - необязательный параметр. Номера или идентификаторы колонок, которые надо заполнять. Если параметр не задан, то заполняются все колонки.
====
PS
заполняемые строки должны существовать

Re: Слить 2 ТЗ в одну. Как?

US1C
2 - 09.04.2009 - 07:20
Неа, не работает:
ТЗ.Заполнить(ТЗ_1);
{D:\1C_BASE\АЛЬТАИР\504\EXTFORMS\ВЫГРУЗКАВТЗ.ERT(5)}: Номер за пределами значения!

Re: Слить 2 ТЗ в одну. Как?

AlexMir
3 - 09.04.2009 - 07:23
//*****************************************************************************
// глПереписатьИзТаблицыВТаблицу(ТаблицаОткуда,ТаблицаКуда)
//
// Параметры
// ТаблицаОткуда,ТаблицаКуда - таблицы значений одинаковой (!) структуры
//
// Возвращаемое значение
//  нет
//
// Описание
// дописывает значения из ТаблицаОткуда в ТаблицаКуда
//
Процедура глПереписатьИзТаблицыВТаблицу(ТаблицаОткуда,ТаблицаКуда) Экспорт
Если ТаблицаОткуда.КоличествоСтрок() > 0 Тогда
БылоСтрок = ТаблицаКуда.КоличествоСтрок();
ТаблицаКуда.КоличествоСтрок(БылоСтрок+ТаблицаОткуда.КоличествоСтрок());
ТаблицаКуда.Заполнить(ТаблицаОткуда,БылоСтрок+1); // так методически правильнее
КонецЕсли;
КонецПроцедуры //глПереписатьИзТаблицыВТаблицу

Re: Слить 2 ТЗ в одну. Как?

US1C
4 - 09.04.2009 - 07:41
(3) Сейчас попробую.

Re: Слить 2 ТЗ в одну. Как?

US1C
5 - 09.04.2009 - 07:49
(3) Нет, неработает:
ТЗ.Заполнить(ТЗ_1,КолСтроквТЗ+1);
{D:\1C_BASE\АЛЬТАИР\504\EXTFORMS\ВЫГРУЗКАВТЗ.ERT(6)}: Номер за пределами значения!
Я так понимаю, что этим методом можно заполнять существующие строки ТЗ. Новые при этом не добавляются.

Интересные темы

odines.ru
24.09.2021 - 11:16
Смотри также:
Нарушение уникальности нумерации докуменов.
Для меня до сих пор остается загадкой
ПУБ: Закрытие месяца. Хелп!

Re: Слить 2 ТЗ в одну. Как?

roma n
6 - 09.04.2009 - 07:52
5-US1C >
Уж сколько раз твердили миру... см(1) заполняемые строки должны существовать
В (3) уже и готовый код дали с примером, как в ТЗ добавить строк сколько надо для заполнения...

Re: Слить 2 ТЗ в одну. Как?

US1C
7 - 09.04.2009 - 07:57
(3) Все понял, я не устанавливал новое количество строк в ТЗ получателе, как в процедуре глобального модуля. Теперь все заработало. Спасибо!
К списку тем К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« Кто сталкивался с Аналит-аптекой 7.7? пароль на обработку! »
© 2009 Форум 1С: Одинэс.Ру