Постановка задачиПостановка задачиУсложним задачу сформулированную при загрузке справочников, к существующим колонка добавим колонки код и количество.
№ п/п | Номер | Группа
| Материалы | Колво | 1 | 1 | Мебель
| Кровать
| 5 | 2 | 1 | Мебель
| Диван | 15 | 3 | 1 | Инструменты
| Молоток
| 4 | 4 | 2 | Инструменты
| Дрель | 14 | 5 | 2 | Канцтовары
| Кнопка | 6 | 6 | 1 | Канцтовары
| Скрепка
| 7 |
Сформированную таблицу необходимо загрузить в 2 документа поступления товаров и услуг (номер 1 и номер 2, 4 и 2 строчки соответственно в табличную часть "Товары") Используя предопределенный шаблоны "Импорт Excel" импортируем данные в таблицу результата из файла, после чего перейдем на закладку Обработка результата и перетащим настройку обработки Загрузка данных (настройка создана при загрузке справочников) на колонку "Номер".
Примечание.
Если колонки Номер у вас нет в дереве выбранных обработок то в контекстном меню дерева выберите пункт Обновить. |
Добавим в дерево объектов ПКО "Поступление товаров и услуг". Поскольку документ имеет табличные части в дереве мы можем развернуть ПКО чтобы добраться до нужной табличной части.
- Номенклатура - будем загружать по ПКО "Номенклатура"
- ЕдиницаИзмерения И ЕденициИзмеренияМест - возьмем основную единицу для отчетов из загруженной номенклатуры СтрокаТЧ.Номенклатура.ЕдиницаДляОтчетов
- Количество - используем данные текущей строки результата ТекущиеДанные.Колво
- Коэффициент - Возьмем из загруженной единицы измерения СтрокаТЧ.ЕдиницаИзмерения.Коэффициент
Важно:
При выборе значения в таблице свойств для табличной части с использованием Диалога выбора переменной, доступна переменная СтрокаТЧ, которая обозначает добавляемую строку, для данной строки доступны только переменные у которых в таблице свойств установлен признак "Использовать" и которые находятся выше текущего свойства.
Для регистров аналогичное поведение у переменной Запись |
Теперь вернемся к шапке документа. В настройках ПКО снимем, установленный по умолчанию флажок Загружать только по ссылке на ПКО теперь для каждой строчки(группы строчек) таблицы результата мы будем создавать документ поступление товаров и услуг. Но нам нужно создать документ только 2 раза, а строк у нас 6, как быть в этом случае?
В этом случаем мы обработке должны указать какие строки в какие документы группировать. Обычно в таких случаях какая то колонка является ключевой, наш случай не был исключением - ключевой колонкой в заявленном наборе данных является колонка "Номер" и именно на колонку "Номер" мы перетащили обработку загрузки данных.
Примечание:
При передаче в обработку текущей строки результата происходит анализ загружаемых данных и если используется хоть одна табличная часть загружаемого объекта, в обработку передаются вспомогательные данные(строки результата), у которых значение объекта такое же как и у текущей строки. При обработке последующих строк, строки переданные во вспомогательные данных - игнорируются.
|
Таким образом при первой итерации будут загружены строки (№ п/п) 1,2,3,6 в документ с номером 1, а во второй итерации будут загружены строки (№ п/п) 4,5 в документ с номером 2.
В таблице свойств шапки документа просто обозначим реквизит Номер по которому и будем производить поиск, и обязательную для документа Дату.
Поле( колонку) номер мы явно не сможем выбрать в диалоге выбора переменной, поскольку оно не соответствует типу назначения ( номер строковой, а значение числовое), поэтому значение необходимо преобразовать с помощью выражения на встроенном языке. Выделите необходимую переменную и нажмите Открыть в поле пути
в открывшемся окне добавьте функцию Строка(...).
Теперь можно сохранить настройку и выполнить загрузку данных, нажав кнопку выполнить в конструкторе и как и прежде используя монитор.
Дополнение:
Для того чтобы загрузка выполнялась наиболее оптимально установите для ПКО "Номенклатура" флажок Загружать только по ссылке из ПКО ведь теперь нет необходимости создавать номенклатуру явно, нашей целью является документ Поступление товаров услуг, а уж если будет необходимо по ссылке из него или его табличных частей создастся номенклатура. |
Результатом загрузки будет документ с необходимым строчками, однако если мы еще раз выполним загрузку то количество строк удвоится (старые строчки не удаляются).
Избежать этой ситуации можно 2 путями:
- В настройках ПКО "Поступление товаров услуг" установить флажок Не замешать существующие данные при загрузке, а только создавать новые, таким образом существующий документ вовсе не будет изменен (это не очень хороший путь, поскольку не работает в случае если необходимо изменить шапку документа).
- Удалить существующие строки.
|
|