7.7 Работа с DBF файлами

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем neek666, 17 фев 2012.

  1. TopicStarter Overlay
    neek666
    Offline

    neek666 Опытный в 1С

    Регистрация:
    11 окт 2011
    Сообщения:
    126
    Симпатии:
    2
    Баллы:
    29
    Всем привет. Пишу обработку, задача которой - выгрузка в 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. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    Таблица.ДобавитьПоле("KOLICHESTVO", 2, 5,);
    Явная ошибка.... Не указан ТИП
    если как пишите должно быть строка нужно так

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

    Обратите внимание - ниже у вас тоже бардак
  3. TopicStarter Overlay
    neek666
    Offline

    neek666 Опытный в 1С

    Регистрация:
    11 окт 2011
    Сообщения:
    126
    Симпатии:
    2
    Баллы:
    29
    Но в том то и проблема. Все работает без ошибок, как надо. Ошибка возникает только при попытки записать в поле "KOLICHESTVO". Я уже пробовал по всякому объявить тип этого поля. Не помогает.
  4. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Имя поля длинное (ограничение, вроде, в 10 символов).
  5. TopicStarter Overlay
    neek666
    Offline

    neek666 Опытный в 1С

    Регистрация:
    11 окт 2011
    Сообщения:
    126
    Симпатии:
    2
    Баллы:
    29
    Спасибо)) поменял поле на "KOLICH" - и все заработало)
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Точно... я и забыл

Поделиться этой страницей