1с скопировать колонки таблицы значений
Есть две таблицы значений. Нужно из одной скопировать колонки в другую.
А теперь самое главное, вопрос: Как это сделать?
Создает таблицу значений с заданным списком колонок.
Первая таблица называется ПриемникТЗ, вторая называется ИсточникТЗ. Обе являются реквизитами обработки.Так это табличная часть. Тебе в конфигураторе что ли скопировать?
(4) Нет, не табличная часть. Мне надо в коде скопировать, но не тупо присваивать одной таблице другую.
с содержимым? запрос. без содержимого? добавить в цикле
(5) ты лучше скажи какая задача.
из твоих вводных данных ничего не понятно.
Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2. ". Если список не задан, то будут скопированы все колонки.
Возвращаемое значение:
Создает таблицу значений с заданным списком колонок.
(8) >> Создает таблицу значений с заданным списком колонок.
Зачем мне третья таблица значений? Мне нужно в мою существующую таблицу колонки скопировать.
(10) Тебя можно трактовать 3мя способами:
1. Скопировать колонки одной тч в другую пустую
2. Добавить колонки одной ТЧ в другую, у которой также есть свои колонки.
3. Перенести заполненные колонки из одной ТЧ в другую
Определись сначала, че хочешь то.
(16) Мне бы подошел ответ на любой из этих трех вариантов.
1. Само то
2. Количество существующих колонок равно нулю, это как бы частный случай этого варианта.
3. Если так можно сделать, то я потом просто очищу строки, и будет то что мне нужно.
(18) Троллей типа этого дальше буду просто игнорировать.
как обычно ответ в начале, а ТС упорствует в своей тупости
(21) +1, Обколются своей марихуаной и содомией занимаются.
(22) Я хоть и начинающий, но не на столько глуп в программировании 1С чтобы понять что это не верный ответ.
Потому что читаем СП:
Возвращаемое значение:
Тип: ТаблицаЗначений.
То есть эта функция не копирует колонки из одной таблицы в другую, а создает новую таблицу значений. И при этом она ничего больше не делает.
Возвращает копию текущей таблицы значений
Метод Скопировать() имеет несколько вариантов синтаксиса:
Вариант синтаксиса 1: копирование по строкам и колонкам
Синтаксис метода, позволяющий скопировать определенные строки таблицы значений, выглядит так:
А также альтернативный англоязычный синтаксис:
Параметры
Описание параметров метода Скопировать() :
Имя параметра | Тип | Описание |
---|---|---|
Строки (необязательный) | Массив | Массив строк для копирования. Если параметр не указан, копируются все строки таблицы значений |
Колонки (необязательный) | Строка | Перечисление имен копируемых колонок через запятую. Если параметр не указан, будут скопированы все колонки |
Жирным шрифтом выделены обязательные параметры |
Возвращаемое значение
Описание варианта 1
Метод Скопировать() возвращает копию текущей таблицы значений. Если указан параметр Строки , то копируются только указанные строки. Если указан параметр Колонки , то копируются значения только для указанных колонок. Если оба параметра опущены, создается полная копия текущей таблицы значений.
Вариант синтаксиса 2: копирование по отбору
Синтаксис метода, позволяющий скопировать строки по настроенному отбору, выглядит так:
А также альтернативный англоязычный синтаксис:
Параметры
Описание параметров метода Скопировать() :
Возвращаемое значение
Описание варианта 2
Метод Скопировать() возвращает копию текущей таблицы значений. Если указан параметр ПараметрыОтбора , то копируются только строки, удовлетворяющие условиям отбора. Если указан параметр Колонки , то копируются значения только для указанных колонок. Если оба параметра опущены, создается полная копия текущей таблицы значений.
Доступность
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Таблица значений часто применяется при программировании на 1С, потому что имеет множество полезных возможностей и работает очень быстро. Таблица значений создается в памяти и не сохраняется в базе данных, т.е. это временный набор данных.
//можно указать тип данных каждой колонки
//если тип данных колонки не указан, то можно хранить данные любого типа
Синтаксис: НоваяКолонка(<Идентификатор>, <Тип>, <Длина>, <Точность>, <Заголовок>, <Ширина>, <Формат>, <Положение>)
Добавление строк в таблицу значений
Перебор строк таблицы значений
Сортировка таблицы значений
Поиск в таблице значений
Синтаксис: НайтиЗначение(<Знач>,<Строка>,<Колонка>)
Возвращает число: 0 - значение не найдено; 1 - значение найдено
Если указан параметр <Строка>, то поиск производится только по заданной строке
Если указан параметр <Колонка>, то поиск производится только по заданной колонке
Итоги и группировка таблицы значений
//часто требуется группировать строки и подсчитывать итоги по группам,
//в этом случае применяется метод Свернуть
Удаление строк и колонок из таблицы значений
ВНИМАНИЕ
Часто требуется удалить строки, удовлетворяющие определенному условию.
Так как при удалении строки из таблицы значений следующая строка становится текущей,
то указанная ниже программа может удалить НЕ ВСЕ необходимые строки.
В этом случае я рекомендую использовать следующий прием:
А вот еще один правильный алгоритм, предложенный Wlad:
Замечание(Туц). Предыдущий вариант не совсем правильный. Случай, когда последняя строка попадает под условие и в условии идёт обращение к строке таблицы, приводит к ошибке. Т.е. происходит попытка чтения для строки 0.
И ещё вариант, предложенный Туц:
Замечание (vligm). А я использую такой алгоритм (это, собственно говоря, шаблон):
Таблица значений как элемент диалога
Таблица значений может использоваться в экранных формах как элемент диалога с пользователем.
Методы УстановитьЗначение и ПолучитьЗначение
Эти методы позволяют обращаться к данным в таблице значений для чтения и записи.
Они могут пригодиться в особых случаях при написании универсальных программ (мастеры отчетов и т.д.).
Синтаксис: УстановитьЗначение(<Строка>,<Колонка>,<Знач>)
Синтаксис: ПолучитьЗначение(<Строка>,<Колонка>)
Есть две таблицы значений. Нужно из одной скопировать колонки в другую.
А теперь самое главное, вопрос: Как это сделать?
Создает таблицу значений с заданным списком колонок.
Первая таблица называется ПриемникТЗ, вторая называется ИсточникТЗ. Обе являются реквизитами обработки.Так это табличная часть. Тебе в конфигураторе что ли скопировать?
(4) Нет, не табличная часть. Мне надо в коде скопировать, но не тупо присваивать одной таблице другую.
с содержимым? запрос. без содержимого? добавить в цикле
(5) ты лучше скажи какая задача.
из твоих вводных данных ничего не понятно.
Тип: Строка.
Список колонок для копирования в формате: "Колонка1, Колонка2. ". Если список не задан, то будут скопированы все колонки.
Возвращаемое значение:
Создает таблицу значений с заданным списком колонок.
(8) >> Создает таблицу значений с заданным списком колонок.
Зачем мне третья таблица значений? Мне нужно в мою существующую таблицу колонки скопировать.
(10) Тебя можно трактовать 3мя способами:
1. Скопировать колонки одной тч в другую пустую
2. Добавить колонки одной ТЧ в другую, у которой также есть свои колонки.
3. Перенести заполненные колонки из одной ТЧ в другую
Определись сначала, че хочешь то.
(16) Мне бы подошел ответ на любой из этих трех вариантов.
1. Само то
2. Количество существующих колонок равно нулю, это как бы частный случай этого варианта.
3. Если так можно сделать, то я потом просто очищу строки, и будет то что мне нужно.
(18) Троллей типа этого дальше буду просто игнорировать.
как обычно ответ в начале, а ТС упорствует в своей тупости
(21) +1, Обколются своей марихуаной и содомией занимаются.
(22) Я хоть и начинающий, но не на столько глуп в программировании 1С чтобы понять что это не верный ответ.
Потому что читаем СП:
Возвращаемое значение:
Тип: ТаблицаЗначений.
То есть эта функция не копирует колонки из одной таблицы в другую, а создает новую таблицу значений. И при этом она ничего больше не делает.
Читайте также: