Работаем с DBF в 1С: Предприятие 7.7

До сих пор актуальны вопросы выгрузки из 1С 7.7, так что приходиться напрягать память где, что, чего и как ?  Так что смотрим и вспоминаем…

Создаем и записываем данные в DBF 1C 7.7

//Создаем объект
База = СоздатьОбъект(«XBASE»);

База.КодоваяСтраница(1); // 1- DOS, 0 — Windows

//Добавляем поля в объект База.ДобавитьПоле("NOM","C",8,); База.ДобавитьПоле("KOL","N",14,3); База.ДобавитьПоле("ED","C",8,); База.ДобавитьПоле("CENA","N",15,2); База.ДобавитьПоле("SUMMA","N",15,2); База.ДобавитьПоле("K","C",1,); База.ДобавитьПоле("NOMDOC","C",10,); База.ДобавитьПоле("DATDOC","C",10,); База.ДобавитьПоле("NOMNAME","C",50,);  //наименование номенклатуры База.ДобавитьПоле("NOMNAMEP","C",50,);  //полное наименование номенклатуры База.ДобавитьПоле("ART","C",50,);  //артикул База.ДобавитьПоле("GRUPPA","C",8,);  //артикул База.ДобавитьПоле("KONTR","C",100,); //Создаем новый файл C:exch.dbf База.СоздатьФайл("C:exch.dbf"); База.ОчиститьФайл(); Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()= 1 Цикл База.Добавить(); База.УстановитьЗначениеПоля("NOM",Док.Номенклатура.Код); База.УстановитьЗначениеПоля("KOL",Док.Количество); База.УстановитьЗначениеПоля("ED",Док.Единица.ОКЕИ.Наименование); База.УстановитьЗначениеПоля("CENA",Док.Цена); База.УстановитьЗначениеПоля("SUMMA",Док.Сумма); База.УстановитьЗначениеПоля("K",Док.Коэффициент); База.УстановитьЗначениеПоля("NOMDOC",Док.НомерДок); База.УстановитьЗначениеПоля("DATDOC",СокрЛП(Док.ДатаДок)); База.УстановитьЗначениеПоля("KONTR",СокрЛП(Док.Контрагент.Наименование)); База.УстановитьЗначениеПоля("NOMNAME",СокрЛП(Док.Номенклатура.Наименование)); База.УстановитьЗначениеПоля("NOMNAMEP",СокрЛП(Док.Номенклатура.ПолнНаименование)); База.УстановитьЗначениеПоля("ART",СокрЛП(Док.Номенклатура.Артикул)); База.УстановитьЗначениеПоля("GRUPPA",СокрЛП(Номенклатура.Родитель.Код)); База.Записать(); КонецЦикла; Сообщить("Выгружен " +Док.ТекущийДокумент());

Читаем данные из DBF файла 1c 7.7

База = СоздатьОбъект("XBASE");
База.ОткрытьФайл("C:exch.dbf");
База.Первая();
Для й = 1 По База.КоличествоЗаписей() Цикл
Таб.НоваяСтрока();
Таб.Контр = База.ПолучитьЗначениеПоля("KONTR");

Таб.Ед= База.ПолучитьЗначениеПоля("ED");
Таб.Количество = База.ПолучитьЗначениеПоля("KOL");
Таб.Цена = База.ПолучитьЗначениеПоля("CENA");
Таб.Сумма = База.ПолучитьЗначениеПоля("SUMMA");
Таб.Коэффициент = База.ПолучитьЗначениеПоля("K");
........
База.Следующая();
КонецЦикла;
Запись опубликована в рубрике Программирование и сопровождение 1с. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Solve : *
27 + 20 =