Версия для печати темы (https://pro1c.org.ua/index.php?s=c6ecd9512fb67cadcfce89f7be2cded0&showtopic=3987)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ 1С:Предприятие 7.7 _ Работаем с DBF в 1С: Предприятие 7.7

Автор: Vofka 02.07.11, 14:08

Создаем и записываем данные в 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");
........
База.Следующая();
КонецЦикла;


http://pro1c.org.ua/redirect.php?http://extremallife.ru/work/1s/1s-dbf

Автор: 5_kopeek 02.07.11, 14:44

А в чем прикол? В наименовании файла?

Автор: Vofka 02.07.11, 16:10

Непонял.

Автор: 5_kopeek 02.07.11, 17:27

Цитата(Vofka @ 02.07.11, 16:10) *
Непонял.

Есть ли в этом примере какая-то фишка? Ничего особенного не увидела, поэтому переспросила.

Автор: Vofka 02.07.11, 20:16

Да не, ниче особенного. Сегодня надо было дбф записать (http://pro1c.org.ua/index.php?showtopic=3986), я воспользовался шаблоном из http://pro1c.org.ua/index.php?showtopic=3986 статьи. Шаблон действительно удобный, поэтому решил и для 77 и для 8 выложить у нас smile.gif .

Автор: 5_kopeek 02.07.11, 21:45

Понятно. Пыталась найти кота, которого в комнате нет smile.gif

Автор: mister-x 03.07.11, 22:18

Цитата
Есть ли в этом примере какая-то фишка? Ничего особенного не увидела, поэтому переспросила.
це інфо для початківців, щоб було куди "послати" smile.gif

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua