Перейти к содержимому


- - - - -

(РЕШЕНО) Работа с DBF файлами


Сообщений в теме: 5

#1 neek666

    Частый гость


  • 123 сообщений

Отправлено 17 февраля 2012 - 06:32

Всем привет. Пишу обработку, задача которой - выгрузка в DBF файл табличной части документа. Код приведен ниже\

Процедура СозданиеБазыDBF()
Таблица = СоздатьОбъект("XBASE"); //база для табличной части документа;
Таблица.КодоваяСтраница(1);
База.КодоваяСтраница(1);
   
Таблица.ДобавитьПоле("CENA",	   "N",10,2);
Таблица.ДобавитьПоле("CENA_R",	 "N",10,2);
Таблица.ДобавитьПоле("NACENKA",    "N",10,2);
Таблица.ДобавитьПоле("SUMMA",	  "N",10,2);
Таблица.ДобавитьПоле("KOLICHESTVO", 2, 5,);
Таблица.ДобавитьПоле("KOEFIC",	 "N",3,2);

Таблица.ДобавитьПоле("ISMERENIE", 2, 10,);
//Таблица.ДобавитьПоле("NOMENKL",   2, 200,);
Таблица.ДобавитьПоле("NOMENKL",   2, 8,0);
Таблица.ДобавитьПоле("VIDTMC",    2, 25,);  

Таблица.СоздатьФайл(Катало_выбор + "base_2.dbf");
Таблица.ЗакрытьФайл();
КонецПроцедуры
Процедура ВыгрузкаТаблицы()
Таблица.ОткрытьФайл(Катало_выбор + "base_2.dbf");
Документ_объект.ВыбратьСтроки();
Пока Документ_объект.ПолучитьСтроку() = 1 Цикл
  Таблица.Добавить();
 
  Таблица.УстановитьЗначениеПоля("NOMENKL", Строка(Документ_объект.Номенклатура.Код));
  Таблица.УстановитьЗначениеПоля("ISMERENIE", Документ_объект.Единица);
  //Таблица.УстановитьЗначениеПоля("VIDTMC", Документ_объект.Номенклатура);
  Таблица.УстановитьЗначениеПоля("KOEFIC", Документ_объект.Коэффициент);	 
  Если Число(Документ_объект.КоличествоУчет) > 0 Тогда
   Сообщить(Число(Документ_объект.КоличествоУчет));
   Таблица.УстановитьЗначениеПоля("KOLICHESTVO", Строка(Документ_объект.КоличествоУчет));   
  КонецЕсли;
  Таблица.УстановитьЗначениеПоля("SUMMA", Документ_объект.СуммаУчет);
  //Таблица.УстановитьЗначениеПоля("NACENKA", Документ_объект.Количество);
  Таблица.УстановитьЗначениеПоля("CENA_R", Документ_объект.Цена);
  Таблица.УстановитьЗначениеПоля("CENA", Документ_объект.Цена);
 
  Таблица.Записать();
КонецЦикла;
Таблица.ЗакрытьФайл();
КонецПроцедуры
Процедура ВыгрузкаДанныхВDBF()
ВыгрузкаТаблицы();
КонецПроцедуры
Процедура кн_перенос()
СозданиеБазыDBF(); //создаем структуру двух баз данных DBF, куда будем выгружать данные
ВыгрузкаДанныхВDBF(); //выгружаем данные в созданные базы
КонецПроцедуры


При попытки записать значение в колонку "KOLICHESTVO", которая имеет СТРОКОВЫЙ тип, длину 8 символов, вылетает ошибка с кодом 210, "недопустимый номер поля". С чем может быть связана данная ошибка???
Изображение

#2 Бухгалтерский угодник

    Ветеран


  • 13 296 сообщений

Отправлено 17 февраля 2012 - 06:42

Таблица.ДобавитьПоле("KOLICHESTVO", 2, 5,);
Явная ошибка.... Не указан ТИП
если как пишите должно быть строка нужно так

Таблица.ДобавитьПоле("KOLICHESTVO", "S",8);


Обратите внимание - ниже у вас тоже бардак
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.

#3 neek666

    Частый гость


  • 123 сообщений

Отправлено 17 февраля 2012 - 09:24

Просмотр сообщенияБухгалтерский угодник (17 февраля 2012 - 06:42) писал:

Таблица.ДобавитьПоле("KOLICHESTVO", 2, 5,);
Явная ошибка.... Не указан ТИП
если как пишите должно быть строка нужно так

Таблица.ДобавитьПоле("KOLICHESTVO", "S",8);


Обратите внимание - ниже у вас тоже бардак

Но в том то и проблема. Все работает без ошибок, как надо. Ошибка возникает только при попытки записать в поле "KOLICHESTVO". Я уже пробовал по всякому объявить тип этого поля. Не помогает.

Сообщение отредактировал neek666: 17 февраля 2012 - 09:25

Изображение

#4 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 17 февраля 2012 - 09:40

Имя поля длинное (ограничение, вроде, в 10 символов).

Сообщение отредактировал Requin: 17 февраля 2012 - 09:41

Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#5 neek666

    Частый гость


  • 123 сообщений

Отправлено 17 февраля 2012 - 12:50

Просмотр сообщенияRequin (17 февраля 2012 - 09:40) писал:

Имя поля длинное (ограничение, вроде, в 10 символов).

Спасибо)) поменял поле на "KOLICH" - и все заработало)
Изображение

#6 Бухгалтерский угодник

    Ветеран


  • 13 296 сообщений

Отправлено 18 февраля 2012 - 03:16

Просмотр сообщенияRequin (17 февраля 2012 - 09:40) писал:

Имя поля длинное (ограничение, вроде, в 10 символов).
Точно... я и забыл
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных