• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Импорт Excel накладных в БД Укрсклад

Автор vitaliygd, Серпень 20, 2008, 19:07:29

Попередня тема - Наступна тема

0 Користувачі і 2 Гостей дивляться цю тему.

vitaliygd

Добрый день,
Время от времени на форуме проскакивает вопрос по поводу импорта накладных или прайс-листов в формате Excel. Есть утилита для импорта данных из Excel 2002-2007 в БД Укрсклада. Здесь выкладывается пре-релизная демо версия (импортирует только 10 строк (наименований)  из электронной Excel накладной. Для использования утилиты необходима платформа .NET Framework 2.0 или выше. Установочные файлы можно загрузить здесь: http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en Перед использованием утилиты очень рекомендуется сделать копию БД Укрсклада и ознакомиться с Help файлом утилиты, так как при импорте и синхронизации возможны ошибки.
Предупреждение! разработчик Укрсклада не несет никакой ответственности за использование размещенной в этом сообщении утилиты.
Все вопросы по утилите, ошибкам, дополнительным функциям, цене будут рассматриваться только в этой теме форума.
Вопросы также можно направлять на email vitaliygd@yahoo.com

с ув.
Виталий

admin

Виталий рекомендую для программы сделать версии и в первом посте писать какая последняя версия программы и от какого числа, так пользователям будет удобней.

vitaliygd

Дмитрий,
спасибо, сделаю со следующего сообщения (надо сделать несколько исправлений).
Виталий

TheMarshal

Программка для импорта очень понравилась. Правда не смог с ее помощью изменить цены на товар. Хочется с помощью вашей программки изменять прайс на товар который уже есть в базе

vitaliygd

Цитата: TheMarshal від Серпень 21, 2008, 20:19:53
Программка для импорта очень понравилась. Правда не смог с ее помощью изменить цены на товар. Хочется с помощью вашей программки изменять прайс на товар который уже есть в базе
TheMarshal,

Спасибо за добрые слова о программке. Обьясните, пожалуйста, Ваш вопрос по поводу изменения цен еще раз.

При импорте утилита проверяет наличие идентичного товара в БД по нескольким параметрам (по умолчанию,- это наименование, производитель и цена), если параметры совпадают (т.е. товар в бд уже есть), то происходит обновление только количества товара, если есть различие, например, в цене, то данные импортируются как новый товар.

Есть еще технический нюанс - программа может выдавать ошибку типа "Ошибка в поле Цена..." при импорте. Одна из причин появления этого предупреждения-это исползование десятичной ЗАПЯТОЙ при написании чисел (восточно-европейские, французская и некоторые другие культуры) в отличие от десятичной точки (северо-, южноамериканские, британская и т.д. культуры). В этом случае пока программа заменяет цену на ноль (0.00). Чтобы цена узнавалась нужно или в региональных установках Windows или в опциях Excel установить десятичный разделитель как точка (.).Тогда импорт/синхронизация пройдет нормально.
Виталий

sated

СПАСИБО большое за программу. Идея супер! Только вот разобраться немогу. Нполучается импортировать прайс в базу данных склада.
Сначала высвечивалась ошибка параметров колонок, а именно цены. Я убрал идентификацию данных в установках импорта программы. Ошибка больше не высвечивалась. Далее нажимаю "импорт" и высвечиваются ERRORы:

Попытка импорта данных в : 1:54:34 7 вересня 2008 р.
Количество строк для импорта: 9

Строка:: 1: Проверка товара на идентичность:
***Ошибка*** Dynamic SQL Error
SQL error code = -206
Column unknown
IS_PRICE_INVISIBLE
At line 1, column 250.

Строка:: 2: Проверка товара на идентичность:
***Ошибка*** Dynamic SQL Error
SQL error code = -206
Column unknown
IS_PRICE_INVISIBLE
At line 1, column 250.

И так ДЕВЯТЬ раз!

Открываю УкрСклад, сообщение: "Переустановите программу и при установке нажмите "Установить FileBird" (Извините, если не совсем точно написал, но смысл такой был). Пока писал ЭТО сообщение на форуме, у меня перестала программа просить переустановки.

sated

Короче уже все перепробовал, но ошибка ВСЕ РАВНО ВЫЛАЗИТ!
Строка:: 1: Проверка товара на идентичность:
***Ошибка*** Dynamic SQL Error
SQL error code = -206
Column unknown
IS_PRICE_INVISIBLE
At line 1, column 250.

Помогите пожалуйста оценить все прелести данного приложения ::)

vitaliygd

Здравствуйте sated,

скажите, а какая  версия Укрсклада у Вас установлена? Вполне возможно что в в новых версиях БД Укрсклада произошли изменения, которые я пропустил. Также может быть, что Ваша БД повреждена.
Или, если сможете, почистите Вашу БД и перешлите исходник (он где-то 3.4 Мб) мне на email vitaliygd@yahoo.com

Виталий

sated

#8
1. Спасибо Виталий. Я в это же время общался с Дмитрием и готовил полный прайс для создания базы. Потом вырезал с него кусочек из 15 строк и попытался импортировать с помощью Вашего приложения. Сначало неполучалось, потом убрал обязательные категории (осталась только Наименование) и ВСЁ заработало. Спасибо.
2. Хотелось бы, чтобы Вы в свое приложение добавили функцию внесения групп и подгрупп прямо с файла Excel, так как указано в критериях Дмитрия для импорта. То есть, я сейчас могу добавить с помощью "exImport" множество наименований товаров, но в определенную группу, которая должна быть предварительно создана. А у меня 4500 наименований и около 60 групп и подгрупп, которые уже вбиты в Excel в отдельные столбики (ссылаясь опять же на Дмитрия). Если в чем неправ по незнанию или невниманию - поправте. Спасибо еще раз.
3. Если изначально при импорте в базу внести поле "кол-во", почему оно не высвечивается в отчете "Наличия на складе"? Я хочу внести еще в "Excel"e те позиции, которые уже есть. На наданный момент прийдется вносить их уже в Укрскладе, как "Внесение остатков".
4. При импорте цены меньше "1" грн. программа вообще не воспринимает ее за число, т.е. принимает равной "нолю". А у меня есть несколько позиций в прайсе, цена которых составляет "0,04" грн. Она принимается программой = "0". Что делать?

vitaliygd

Цитата: sated від Вересень 14, 2008, 20:10:17
2. Хотелось бы, чтобы Вы в свое приложение добавили функцию внесения групп и подгрупп прямо с файла Excel, так как указано в критериях Дмитрия для импорта. То есть, я сейчас могу добавить с помощью "exImport" множество наименований товаров, но в определенную группу, которая должна быть предварительно создана. А у меня 4500 наименований и около 60 групп и подгрупп, которые уже вбиты в Excel в отдельные столбики (ссылаясь опять же на Дмитрия). Если в чем неправ по незнанию или невниманию - поправте. Спасибо еще раз.
3. Если изначально при импорте в базу внести поле "кол-во", почему оно не высвечивается в отчете "Наличия на складе"? Я хочу внести еще в "Excel"e те позиции, которые уже есть. На наданный момент прийдется вносить их уже в Укрскладе, как "Внесение остатков".
4. При импорте цены меньше "1" грн. программа вообще не воспринимает ее за число, т.е. принимает равной "нолю". А у меня есть несколько позиций в прайсе, цена которых составляет "0,04" грн. Она принимается программой = "0". Что делать?

sated, 

2. Если Вас не затруднит - пришлите кусочек "обезличенного" (без какой-либо бизнес специфики) Excel файла для импорта с группами и подгруппами мне на email, - хотелось бы посмотреть на структуру данных, которая Вам подходит, и конфигурацию вашего компьютера, как -то тип процессора, версия ОС, раскладка (US, UK, русская или украинская), региональные установки.

3. Дайте, пожалуйста, развернутое обьяснение по 3 му пункту: внести количество при создании базы или при импорте товаров используя ехИмпорт? При этом товар в БД уже есть или нет?

4. Я не смог воспроизвести "0" для товара с ценой менше $1. На тестовой системе идет импорт до четвертого знака после запятой. Я подозреваю, что ЕхИмпорт не может правильно прочитать цену из Excel файла, поэтому записывает ноль в БД. Опять же, если не затруднит, пришлите Excel файл с парой строчек  (Товар А, Товар Б....), который был бы создан у вас на компьютере. Я попробую прогнать все у себя.

Спасибо.

Виталий

sated

#10
Цитата2. Если Вас не затруднит - пришлите кусочек "обезличенного" (без какой-либо бизнес специфики) Excel файла для импорта с группами и подгруппами мне на email, - хотелось бы посмотреть на структуру данных, которая Вам подходит, и конфигурацию вашего компьютера, как -то тип процессора, версия ОС, раскладка (US, UK, русская или украинская), региональные установки.

ПИСЬМО ОТОСЛАЛ.

Цитата3. Дайте, пожалуйста, развернутое обьяснение по 3 му пункту: внести количество при создании базы или при импорте товаров используя ехИмпорт?
Ответ:
Внести количество при импорте товаров используя ехИмпорт. Объясню почему. Индивидуально в моем случае, я имею поставщиков товара, а также свой склад с небольшим его количеством. Так вот, я сейчас хочу подготовить один большой, на мой взгляд, фалй Excel, для того, чтобы с него один раз создать базу, которая будет состаять из перечня товаров моих поставщиков = 0 у меня и некоторыми их них позициями, которые у меня имеются в остатках. Будет очень удобно потом пользоваться документами по складу и видеть реальную картину по остаткам. Сейчас же с помощью Импорта, так не получается :(
Вот здесь писали: http://www.softbalance.com.ua/forum/index.php?topic=367.0 про схожую ситуацию, на что Дмитрий ответил:
ЦитатаПредупреждение! разработчик Укрсклада не несет никакой ответственности за использование размещенной в этом сообщении утилиты.
Это не наша утилита, обращайтесь к разработчику этой программы, импорт в программу произведен не корректно.
Следующий вопрос...
Виталий, Вы писали: 
ЦитатаПри этом товар в БД уже есть или нет?
Вариант с уже существующим товаром меня мало интересует. Я хочу изначально, как можно более коректную базу импортировать с ужее введенными значениями в Excel, а потом уже редактировать со временем при необходимости в Укрскладе.
Кстати, действительно ли, что более 10 наименований за раз не импортируються? Не получается.
Далее...
Цитата4. Я не смог воспроизвести "0" для товара с ценой менше $1. На тестовой системе идет импорт до четвертого знака после запятой. Я подозреваю, что ЕхИмпорт не может правильно прочитать цену из Excel файла, поэтому записывает ноль в БД. Опять же, если не затруднит, пришлите Excel файл с парой строчек  (Товар А, Товар Б....), который был бы создан у вас на компьютере. Я попробую прогнать все у себя.
Постарайтесь пожалуйста решить такую задачку. Думаю я не один. Искренне желаю Вам удачи! Опять же, файл отослал с примером моей базы Вам на мыло.
Спасибо. Всего наилучшего.


vitaliygd

2Sated

Спасибо за файл и комментарии,
К сожалению, такой вариант Excel файла (с группами, подруппами и т.д.) хорош только для одноразового начального импорта, т.е. для создания начальной базы товаров/складов. Технически сделать такой импорт не так уж и сложно, но тогда пользователю придется модифицировать каждый Excel файл (накладную), чтобы присутствовала информация по группам. Или разбивать тип импорта, -с группами и без групп.
Изначально ехИмпорт предназначен только для импорта простой электронной накладной и синхронизации товаров в БД Укрсклада, т.е. простого добавления товаров и изменения количества в определенном складе/группе если наименование присутствует в БД.

Здесь размещена только ДЕМО верися 0.9, котороя импортирует только 10 наименований за один раз. Полную версию после соответствующей доработки можно будет купить позже.

Проблема (ошибка) в полях цена, количество, размер, и т.д. возникает в связи с интерпретацией числовых значений в разных кодировках, т.е. в рускои и украинской кодировках десятичное значение записывается как "Х,ХХ", тогда как в других кодировках используется точка как резделительный знак, т.е.  "Х.ХХ". БД Укрсклада (FireBird) принимает Х.ХХ, поэтому либо пользователь должен изменить региональние установки на распознавание десятичных значений, либо программа должна как-то конвертировать десятичное число между Excel и ДБ FireBird. Я изменил процедуру распознавания десятичных чисел в программе и, если Вы будете не против, пришлю программку для тестирования на Вашем компьютере.

Виталий


sated

ЦитатаИли разбивать тип импорта, -с группами и без групп.
Вот это ВЫХОД из положения. Просто галочку в настройках сделать.

Цитаталибо программа должна как-то конвертировать десятичное число между Excel и ДБ FireBird
вот так будет лучше.

ЦитатаПолную версию после соответствующей доработки можно будет купить позже.
очень было бы неплохо. Помогу в тестировании со своими предложениями. Было бы хорошо в дальнейшем пользоваться программой, которая создана с учетом хоть и мизерных, но моих предложений. Спасибо.

А как же вопрос с ценой меньше 1$ ??

sated

Цитатаесли Вы будете не против, пришлю программку для тестирования на Вашем компьютере.

С удовольствием ПРИЙМУ ее на мыло. Спасибо