Помогите сделать импорт экспорт ecxel

Начинаете изучать Ананас? Задавайте вопросы здесь. С чего начать? Где найти? Как сделать? А можно...?

Re: Помогите сделать импорт экспорт ecxel

Сообщение zmeika » Вт мар 09, 2010 8:33 am

Есть в win-1251, есть в utf-8. Или я не поняла вопроса?

Сейчас вся процедура выглядит так:
Код: Выделить всё
function on_button(button_name)
{
   if (button_name == "pushButton1")
    {
   var inputFile;
   inputFile = "C:\misc\nomenklatura.csv";
   text1 = new Text();
   text1.open(inputFile, "RO");
   while(!text1.atEnd())
   {
       list=text1.readLine().split(";");
       var code = list[1];   //Код товара
       var name = list[2];   //Наименование
       var full_code = list[4];   //Полный код
       var art = list[5];   //Артикул
       var base_measure = list[6];    //Базовая единица измерения
       var type = list[8];    //Вид номенклатуры
       var comment = list[9];   //Комментарий
       var min_rest = list[10];   //Минимальный остаток
       var GTD = list[12];   //Номер ГТД
       var main_measure = list[13];   //Основная единица измерения
       var main_property = list[14];    //Основное свойство
       var NDS = list[15];   //Ставка НДС
       var NP = list[16];   //Ставка НП
       var country = list[17];   //Страна происхождения
      
       var nom_est = findByOneAttribute(full_code);  //Кстати, что за функция??
       if (nom_est == "0")
       {
      var cat_nom = new Catalogue("Номенклатура");
      cat_nom.New();
      Mes("Код = ", code);
      cat_nom.SetValue("Код Товара", code);
      Mes("Наименование = ", name);
      cat_nom.SetValue("Наименование", name);
      cat_nom.SetValue("Полный код", full_code);
      cat_nom.SetValue("Артикул", art);
      cat_nom.SetValue("Базовая единица измерения", base_measure);
      cat_nom.SetValue("Вид номенклатуры", type);
      cat_nom.SetValue("Комментарий", comment);
      cat_nom.SetValue("Минимальный остаток", min_rest);
      cat_nom.SetValue("Номер ГТД", GTD);
      cat_nom.SetValue("Основная единица измерения", main_measure);
      cat_nom.SetValue("Основное свойство", main_property);
      cat_nom.SetValue("Ставка НДС", NDS);
      cat_nom.SetValue("Ставка НП", NP);
      cat_nom.SetValue("Страна происхождения", country);
      
      cat_nom.Update();
       }      
   }
  }
}
zmeika
 
Сообщения: 7
Зарегистрирован: Пт фев 26, 2010 2:26 pm

Re: Помогите сделать импорт экспорт ecxel

Сообщение Yvgen » Сб мар 13, 2010 2:22 am

1) Уберите функции, на которые ругается (это мои функции, которые я писал в ГМ) - они вам не нужны.
2) Что пишет в ошибках? Сюда продублируйте.
Аватара пользователя
Yvgen
 
Сообщения: 78
Зарегистрирован: Сб сен 26, 2009 9:02 pm

Re: Помогите сделать импорт экспорт ecxel

Сообщение zmeika » Пн мар 15, 2010 10:09 am

в ошибках пишет только

Строка:12 Сообщение:Error. Trying to access undefined member '1' Стэк:( on_button(:12) aForm2 [aForm])

А на Ваши функции не ругается - до них просто не доходит.
zmeika
 
Сообщения: 7
Зарегистрирован: Пт фев 26, 2010 2:26 pm

Re: Помогите сделать импорт экспорт ecxel

Сообщение anton » Пн мар 15, 2010 1:30 pm

zmeika писал(а):в ошибках пишет только

Строка:12 Сообщение:Error. Trying to access undefined member '1' Стэк:( on_button(:12) aForm2 [aForm])

А на Ваши функции не ругается - до них просто не доходит.

Очевидно у вас разделитель другой, не ":"
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Re: Помогите сделать импорт экспорт ecxel

Сообщение zmeika » Вт мар 16, 2010 11:43 am

Хорошо, предположим, что при открытии файла просто блокнотом разделителем показывается точка с запятой, а на самом деле там что-то другое. Как тогда быть? Откуда достать настоящий разделитель?
zmeika
 
Сообщения: 7
Зарегистрирован: Пт фев 26, 2010 2:26 pm

Re: Помогите сделать импорт экспорт ecxel

Сообщение anton » Вт мар 16, 2010 6:22 pm

zmeika писал(а):Хорошо, предположим, что при открытии файла просто блокнотом разделителем показывается точка с запятой, а на самом деле там что-то другое. Как тогда быть? Откуда достать настоящий разделитель?

Извиняюсь, это я просмотрел, мне показалось, что там двоеточие. Нет, вряд ли там другой символ вместо точки с запятой. Из приведённого листинга и описания ошибки сложно установить, в какой строке ошибка. Можно точно указать?? Вообще, задача проще чем тривиальная, я удивляюсь, что столько времени на неё ушло.
Итак, пару строчек из импортируемого файла, и строку, в которой возникает ошибка в студию.
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Re: Помогите сделать импорт экспорт ecxel

Сообщение anton » Вт мар 16, 2010 6:28 pm

Можно предположить, что ошибка в этой строке
Код: Выделить всё
      var code = list[1];   //Код товара

функция split возвращает результат в любом случае. Обратите внимание на два обстоятельства:
1) элементы массива нумеруются с нуля
2) в первой строке вашего файла может и не быть разделителя, надо эту ситуацию проверять
anton
 
Сообщения: 137
Зарегистрирован: Сб фев 28, 2009 9:00 pm
Откуда: Иркутск

Пред.

Вернуться в Вопросы новичков

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

cron