Последнее обновление: 23 мая 2015 в 14:58
Подпишись на RSS
rss Подпишитесь на RSS, чтобы всегда быть в курсе событий.
31 марта 2011 · Игрушки

Брат заказал в далеком китайском магазине иностранную диковину под названием неокуб. Я взял поюзать неокуб на пару дней. Ну что тут скажешь. Неокуб — настоящий убийца времени, похлеще высокотехнологичных гаджетов в стиле Samsung Galaxy tab. Брат заказал кубик за 20 баксов 100 шариков и ждал 1.5 месяца пока его пришлют из Китая. Решив приобрести себе […]


16 декабря 2009 · Игрушки

Мой друг Варона в преддверие нового года — года Тигра сделал еще несколько игрушек из проволоки, в стиле его проволочного мира, где проволочные человечки живут своей жизнью.  На этот раз он сделал фигурку тигра из проволоки. И несколько новых человечков. ну и конечно же здесь Вы можете увидеть его фотографии.


Метки

Метки записей
Сайты удаление документов Интернет взломать пароль HP Pavilion dv6000 Командная строка антивирусы Бухгалтерия Добавить новую метку сверка базы 1С связь СМС оплата Делаем LiveCD бесплатно Жизнь Игры Альпинизм Видео Интересные места ZverCD восстановить нумерацию переустановка windows Интерент Спорт Программы Новая форма счет-Фактуры Финансы заблокирован Оптимизация Отношения office 2007 Взлом 1 Анализ ПДЗ День жестянщика Драйвера jaws Мужчина и женщина дравер MySQL скачать Отчет Ошибки 1С удаляем пароли Свертка базы 1С Лирика Деньги Кино печать от поставщика вирус эмулирует нажатие Win Zver DVD сбились номера документов Вирусы редактирование DBF Скачать 1С Обзоры Свертка по партиям Подключить 1С к MySQL Система Вопросы открыть xlsx docx узнать пароль автозапуск свертка торговли Windows XP партии расчет ПЗД Установка Windows автоматизация 1с и MySQL Интренет СМС Спутниковое ТВ реестр Обработки Oracle office 2003 мошенничество свертка в картинках вирус сайт XPE перенос документов перенумарация Печатные формы Отзывы Пошаговая свертка Фото Юмор Экстремальные игры Экономика контент-провайдер Проблемы Взлом 1С просроченная дебиторская задолженность Драйвер ODBC скачать новости 1с реестр Взлом код защита LiveCD Dr.Web Drivers гаджеты Файлы 1С Работа антивирус портативный аккумулятор Документы на почту вирус SMS пакетный запуск 1С уменьшить размер базы программы для слепых Вся скачать конвертер office 2003-2007 Автомобили Методика свертки 1С свертка Asus Eee homachi локальная сеть через интернет Загрузка с компакт - диска Армия Программы для 1С Удаление партий сертфикаты Структура 1С Свертка 1С Оборудование
25 июня 2010

Как 1С 7.7 и 8.1 работает с DBF, примеры кода

Автор статьи: , 25 июня 2010 в рубрике . Метки: , . Просмотров: 35 318

Иногда возникает необходимость хранить какие — либо данные не в самой базе 1С, а во внешних файлах, например DBF.

Это может понадобиться в нескольких случаях, например, когда нельзя вносить изменений в конфиругацию 1С, например если 1С базовой версии. Так же сохранение в DBF файлах может понадобиться при переносе данных между конфигурациями, различного рода выгрузок-загрузок. Такие схемы часто можно встретить в работе аптечных сетей, так как номенклатуры там много и поставщики лекарств стараются автоматизировать процесс ввода накладных путем электронного обмена с покупателями. Для работы с DBF файлами можно использовать так же редактор DBF — просматривать и редакстирвоать DBF.

Авторские права на предоставленный материал принадлежат автору сайта http://extremallife.ru

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

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

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


Файл = Новый XBase;
Файл.Кодировка = КодировкаXBase.OEM;
Файл.Поля.Добавить("KOD","S",11);
Файл.Поля.Добавить("NOMER","S",50) ;
Файл.Поля.Добавить("DATAV","D",10,0);
Файл.Поля.Добавить("SROK","D",10,0);
Файл.Поля.Добавить("ORGAN","S",50) ;
Файл.Поля.Добавить("PROIZV","S",50) ;
Путь = КаталогИБ() + "SERT.DBF"; // КаталогИБ() - функция, которая определяет путь к базе - в 8 ке нет встроенного механизма
Файл.СоздатьФайл(Путь);
Файл.Записать();

Файл.ОчиститьФайл();
Для Каждого Стр из Т Цикл
Файл.Добавить();
Файл.KOD = Стр.Номенклатура.Код;
Файл.NOMER = Стр.Номер;
Файл.DATAV = Стр.ДатаВыдачи;
Файл.SROK = Стр.СрокДействия;
Файл.ORGAN = Стр.Орган;
Файл.PROIZV = Стр.Производитель;
Файл.Записать();
КонецЦикла;
Файл.Записать();
Файл.ЗакрытьФайл();

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


Путь = КаталогИБ() + "SERT.DBF";
Файл = Новый XBase;
Файл.ОткрытьФайл(Путь,,Истина); //открываем для чтения
Макет = ПолучитьМакет("Сертификаты");
Файл.Первая();
Пока НЕ Файл.ВКонце() Цикл
НомерСерт = СокрЛП(Файл.NOMER);
ДатаВыдачи = Файл.DATAV;
СрокДействия = Файл.SROK;
Орган = СокрЛП(Файл.ORGAN);
Производитель = СокрЛП(Файл.PROIZV);
Файл.Следующая();
КонецЦикла;
Файл.ЗакрытьФайл();



К записи "Как 1С 7.7 и 8.1 работает с DBF, примеры кода" 11 комментариев

помести код в теги ковычки не верно отображаются

Ответить

Пока не получается ))
Я ж 1С ник, а не ПэХэПэшник))
Еще не догнал как в Вордпрессе отображать красиво код 1С, но работаю над этим)
Думаю скоро переведу все статьи на красивое отображение кода)))

Ответить

спасибо большое. я как новичек парился бы с этими дбф-ами целый день. а тут раз, и все сделал по шаблону)

Ответить

Пожалуста.
Я сам периодичесик захожу на эту статью, чтобы шаблон кода скопировать, который работает с DBF

Ответить

Спасибо Вам за статейку ) необходимо было оперативно выгрузить в *.dbf. Очень помогло\

Ответить

Здравствуйте, я тоже новичок! а у меня вот запара: надо прочитать данные из дбф .возникает ошибка «Ошибка при вызове метода контекста (Следующая): Перед выполнением операции нужно открыть базу» так я же её и так открываю 🙁   или я чего-то не понимаю…..?БД = Новый XBase; БД.ОткрытьФайл(«C:\Выгрузка в банк\1.dbf»); Пока БД.Следующая()Цикл  Сообщить(БД.SBK_FIO); КонецЦикла; БД.ЗакрытьФайл();

Ответить

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

Ответить

да, действительно так оно и было:), спасибо за совет!!!!!!

Ответить

Спасибо, статья ОЧЕНЬ помогла 🙂

Ответить

Самое главное. Файл для совместной работы открыть нельзя! Если надо что-то отредактировать — только монопольно. 

Ответить


Оставить комментарий

*

Блог программиста 1С. Программирование 1С
Если Вас что-то заинтересовало или возникли вопросы, пишите.
petr@evseev.ru
Skype - evseev_petr
ICQ - 262808698

Сохраните меня в социальных сервисах

Комментарии

Присоединяйтесь к обсуждению
  • Леха: Мало того, что это говно-антивирус требует .Net Framework не ниже 4.0, так он еще пожирает ресурсы компьютера,...
  • tommy: AVG равно еще хуже Касперского . Иди в жопу с ним
  • просто_чайник: Не люблю этот антивирус. Заметил такую особенность. Если обновить базы в начале работы, довольно часто...
  • Елена: Самое главное. Файл для совместной работы открыть нельзя! Если надо что-то отредактировать — только...
  • Виктор: Поставили мне на работе эту замечательную программку. Работать невозможно, ужасные тормоза. Стали...

Избранное видео

Ссылки