Добрый день, Ольга!
Импорта из Excel в конструкторе пока не делали - это не было критичной необходимостью и отложили на потом. Обычно импорт требуется при создании новой базы, когда после завершения построения структуры, необходимо единожды импортировать данные из других источников, а далее работа ведётся только в программе. Постараемся добавить импорт в дочерних списках из Excel в одной из подверсий будущей версии 5.2.
Но тем не менее, можно использовать импорт в дочерние списки через файл .csv, который можно создать в MS Excel, OO/LO Calc или других сторонних программах. Подробно процесс импорта описан тут:
Импорт данных из файла .csv. Желательно внимательно изучить данную инструкцию, чтобы понимать основные моменты - тогда частный случай импорта через .csv для дочернего списка, который будет тут рассмотрен, не покажется сложным.
В приложенном примере проекта есть объекты:
- Клиент: список контрагентов;
- Товар: общий список всех товаров;
- Поступление: информация о каждом поступлении товаров;
- Состав поступления: список товаров в каждом поступлении.
На базе объекта поступлений создана форма "Поступления" с дочерним списком "Состав поступления". При добавлении дочернего списка, в объекте "Состав поступления" автоматически добавилась системная ссылка на объект "Поступление" с добавлением суффикса "~" (тильда). Данная ссылка будет необходима для корректного добавления состава поступления для каждого конкретного прихода товара. Можно сделать её видимой в списке и на вкладке, чтобы была понятна её работа.
Если есть предварительный список товаров в Excel, то сохраняем его в формате .csv. Полученный файл открываем в текстовом редакторе, который может произвести преобразование кодировки в UTF-8 (например NotePad++) и выполняем данную операцию.
В объекте товаров производим импорт из файла.
>>> получаем >>>
Если список товаров уже есть, данную операцию можно пропустить. Также она будет не обязательна, если новые товары будут формироваться на базе списка состава поступления - но об этом чуть позже.
На базе объекта "Состав поступления" формируем файл .csv, который будет использоваться для загрузки данных из Excel. Для этого производим экспорт структуры, создав файл с необходимым заголовком.
Данные из строки заголовка переносим в Excel, именуя столбцы в точном соответствии с именами полей. Можно структуру в Excel сделать и вручную, но так проще, если полей для заполнения в объекте состава много.
Данный файл сохраняется как шаблон для будущего заполнения.
Для того, чтобы была возможность привязать состав поступления к самому поступлению, необходимо его создать в форме "Поступления". Открываем форму и создаём новую запись.
Ключевым полем в поступлении является его номер (для данного примера). Данный номер понадобится для формирования списка, привязанного к поступлению.
Открываем шаблон Excel для состава поступления, копируем в рабочие столбцы информацию из другого файла, а в столбце "~Поступление" для всех строк указываем номер поступления.
Полученный файл сохраняем под другим именем (чтобы не потерять шаблон для будущих операций импорта), открываем его в текстовом редакторе и преобразуем кодировку в UTF-8.
Производим импорт данных в объекте "Состав поступления".
Открыв форму "Поступления" - видим список товаров, привязанный к данному приходу.
Другой случай, если в составе поступления есть товар, которого нет в справочнике товаров. В этом случае в объект будут добавлены новые записи с именами товаров, но остальной информации по ним не будет. Можно её довнести вручную, а можно создать файл .csv со всеми данными и произвести его импорт в объекте товаров, установив параметр "Действие" (для записей с повторяющимся первым полем) в значение "заменить".
Рекомендация: при каждом импорте данных производить архив проекта, чтобы в случае ошибки не удалять записи, а удалить проект и импортировать его из файла архива .rpr.