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

На днях я стал свидетелем любопытнейшего зрелища. Дело в том, что живу недалеко от авиационного завода Авиастар. В нескольких километрах от завода находится аэропорт Восточный и испытательный комплекс. Между заводом и аэропортом проходит большая бетонная дорога, по которой перегоняют готовые самолеты с завода на аэродром, а обратно везут самолеты на техническое обслуживание или модификацию. В […]


Ошибка — «Диспетчер задач отключен администратором«. Что делать в данном случае? Если компьютер установлен у вас дома, то скорее всего диспетчер задач отключил какой-нибудь вирус. Какие неприятности это может создавать? В этом случае вы не можете снять из памяти зависшее приложение или процесс, в том числе и тот же самы вирус. Я обычно ношу с […]


Метки

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

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

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

Иногда возникает необходимость хранить какие — либо данные не в самой базе 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 равно еще хуже Касперского . Иди в жопу с ним
  • просто_чайник: Не люблю этот антивирус. Заметил такую особенность. Если обновить базы в начале работы, довольно часто...
  • Елена: Самое главное. Файл для совместной работы открыть нельзя! Если надо что-то отредактировать — только...
  • Виктор: Поставили мне на работе эту замечательную программку. Работать невозможно, ужасные тормоза. Стали...

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

Ссылки