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

На днях разбирал архивы на флэшке и нашел несколько полезных вещей. Одна из них — электронный справочник по 1С Предприятия в формате chm. Вернее несколько справочников: 1Cv77 Language Reference — Справочник по встроенному языку 1С версии 7.7.


7 мая 2009 · Отношения

1. Если мужчина не отвечает вам на смс, это не значит что он вам изменяет/обманывает/делает что-то плохое. Это значит что он просто напросто занят. 2. Если мужчина не хочет с вами общаться, то это не значит что он не хочет с вами общаться, это значит что он просто занят своими делами. 3. Если мужчине некогда, […]


Метки

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

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

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

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

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

Ссылки