Консультация № 187487
27.06.2013, 15:53
0.00 руб.
0 6 1
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос: Каким образом импортировать таблицу эксель в FM? Суть в том что: таблица это своего рода "упаковочный лист", имеющая много столбцов в которых указывается 1. товар 2.маркировка товара 3. количество 4. вес брутто 5. вес нетто 6. фирма изготовитель 7. получатель. Товаров может быть сколько угодно. Получается таблица с семью столбцами и сколько угодно строк. Выше таблицы имеются еще записи, которые нам при импорте не нужны. В FM создаю первый макет - упаковочный лист, где просто идет список номеров этих листов и второй макет - упаковочный лист подробно. Где как раз и должна отображаться эта таблица из экселя. Как импортировать всю таблицу, так чтобы она относилась только к одному упаковочному листу, в макете выглядела таблицей и верхние строки, что стояли в экселе перед самой таблицей не импортировались?

Обсуждение

Неизвестный
28.06.2013, 08:24
общий
Добрый день.
Немного не понял по условию: с одной стороны "таблица это своего рода "упаковочный лист", имеющая много столбцов", а с другой стороны - таблица с семью столбцами и сколько угодно строк.
Если можно - прикрепите пример данной таблицы для наглядности.
Общий же алгоритм импорта из Excel - импортируем строки, а потом удаляем то, что не нужно по какому-либо условию.
Но опять же повторюсь - хотелось бы иметь образец таблицы для более точного ответа.
Неизвестный
28.06.2013, 11:31
общий
Здравствуйте, Игорь. Вот пример нашего упаковочного листа. Выше таблицы находятся записи, которые нам не нужны и их нужно отсечь при импорте. Как вы можете увидеть сама таблица содержит 19 столбцов. Ну как выбрать нужные при импорте я разобрался. Данный упаковочный лист содержит 138 строк (ну т.е. 138 товаров). Но по-сути их может быть сколько угодно: и 200 и 300 и больше. И вот каким образом импортировать данную таблицу в FM с обрезкой верхней шапки (количество строк верхней шапки стандартно во всех упаковочных листах и таблица всегда начинается с 14 строки), так чтобы вся эта таблица относилась только к одному упаковочному листу в FM. У меня два макета: "упаковочные листы" (там просто список номеров этих упаковочников) и второй: "упаковочный лист подробно", и вот в этом макете должна отображаться вся эта таблица. Но с таким условием, что бы мы могли вносить изменение в любую строку этой таблицу и добавить дополнительный столбец где можно прописать например цену каждого товара например,.
Прикрепленные файлы:
c1c148273096e092bf1176dd32b14076.xls
Неизвестный
28.06.2013, 11:55
общий
Павел,
Я так понял у вас две таблицы: Упак_Лист и Упак_Лист_Row (не знаю как фактически у вас названы)
Для импорта данных и привязки к упаковочному листу вы должны добавить поле ID_Упак_Лист в таблице Упак_Лист_Row.
Далее нужно настроить скрипт:
Исходное состояние - находимся на макете Упак_Лист
1. Запоминаем в переменной ID текущего упаковочного листа
2. Переходим на макет Упак_Лист_Row
3. Импортируем ВСЕ строки с нужного листа Excel
4. Переходим на ПЕРВУЮ строку
5. В цикле удаляем 15 первых строчек (у вас информация по товарам начинается с 16 строки)
6. Далее в цикле до конца текущего списка проставляем в поле ID_Упак_Лист в таблице Упак_Лист_Row ID упаковочного листа, который мы запомнили в шаге № 1

Примерно так.

Вопросы - пишите
Неизвестный
28.06.2013, 23:57
общий
Павел,

если нет особых возражений, то оформлю последний пост в виде ответа.
Неизвестный
29.06.2013, 18:26
общий
это ответ
Здравствуйте, Запрягаев Павел Андреевич!

На основе общения в форуме:
Я так понял у вас две таблицы: Упак_Лист и Упак_Лист_Row (не знаю как фактически у вас названы)
Для импорта данных и привязки к упаковочному листу вы должны добавить поле ID_Упак_Лист в таблице Упак_Лист_Row.
Далее нужно настроить скрипт:
Исходное состояние - находимся на макете таблицы Упак_Лист
1. Запоминаем в переменной ID текущего упаковочного листа
2. Переходим на макет таблицы Упак_Лист_Row
3. Импортируем ВСЕ строки с нужного листа Excel
4. Переходим на ПЕРВУЮ строку
5. В цикле удаляем 15 первых строчек (у вас информация по товарам начинается с 16 строки)
6. Далее в цикле до конца текущего списка проставляем в поле ID_Упак_Лист в таблице Упак_Лист_Row ID упаковочного листа, который мы запомнили в шаге № 1

Если будут вопросы - пишите в форум.
Неизвестный
18.07.2013, 09:39
общий
Здравствуйте, Игорь. Не до конца разобрался в вашем ответе. Если можно, то я могу скинуть вам нашу базу и описать что мы от нее хотим добиться?
Форма ответа