Колонки таблицы значений задают структуру данных в обработке: имя поля, тип и порядок. Прежде чем добавлять строки, определите, какие данные будут храниться — ссылка на номенклатуру, строковый артикул, количество, дата или сумма.
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить("Номенклатура");
Таблица.Колонки.Добавить("Количество");
Таблица.Колонки.Добавить("Комментарий");
Строка = Таблица.Добавить();
Строка.Номенклатура = СсылкаНоменклатуры;
Строка.Количество = 3;
Строка.Комментарий = "Загрузка из файла";Имена колонок должны быть понятными и уникальными. Если таблицу нужно передать в запрос или сопоставить с реквизитом формы, имена колонок должны совпадать с ожидаемыми полями.
Для простой временной обработки можно создать колонку без явного типа. Но для параметра запроса, загрузки из файла и строгой проверки данных лучше задать тип сразу. Тогда платформа корректно обрабатывает ссылку, число, дату и строку, а ошибка не появляется только в момент выполнения сложного запроса.
ТипыНоменклатуры = Новый ОписаниеТипов(
"СправочникСсылка.Номенклатура");
ТипыКоличество = Новый ОписаниеТипов("Число");
Таблица.Колонки.Добавить("Товар", ТипыНоменклатуры);
Таблица.Колонки.Добавить("КоличествоЗаказа", ТипыКоличество);Тип справочника, документа или перечисления зависит от метаданных конкретной базы. Не копируйте имя типа из примера без проверки конфигурации.
Строки можно искать по структуре отбора, а значения одной колонки — выгружать в массив. Это удобно, когда нужно найти уже добавленный товар, подготовить список ссылок для запроса или проверить дубли.
Отбор = Новый Структура("Номенклатура", СсылкаНоменклатуры);
НайденныеСтроки = Таблица.НайтиСтроки(Отбор);
Если НайденныеСтроки.Количество() = 0 Тогда
// Добавить новую строку.
КонецЕсли;
СписокТоваров = Таблица.ВыгрузитьКолонку("Номенклатура");
Если таблица значений передаётся параметром запроса, названия и типы колонок должны быть совместимы с языком запросов. Ссылочные значения хранят в типизированной колонке, строки ограничивают разумной длиной, а сложные объекты в таблицу-параметр не помещают. Передавайте только поля, которые реально используются в запросе.
Если требуется загрузить табличную часть из Excel, сопоставить колонки поставщика или проверить дубли перед записью, нужна обработка с понятной структурой данных. Опишите файл и результат — оценим доработку.
Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.