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

Столкнулся с проблемой, что при попытке добавить базу 1С предприятие 8.2 на операционной системе Windows 7 появляется ошибка «Не обнаружена установленная версия 1С Предприятия«. Причем ошибка появляется при любых действиях (создании новой базы из шаблона, создание новой чистой базы, добавлении существующей базы 1С). В начале думал, что дело в правах доступа, однако попытки запустить платформу […]


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


Метки

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

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

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

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

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

Ссылки