РусскийФокс. Создание DBF-файла, выгрузка в XML.

28.07.18

Разработка - Языки и среды

Новый объектно-ориентированный русскоязычный 1С-подобный язык программирования РусскийФокс. . РусскийФокс создает DBF-файлы и выгружает данные из DBF в XML. Голосуйте за доклад о РусскийФокс на Инфостарт.

Скачать исходный код

Наименование Файл Версия Размер
РусскийФокс. Создание DBF-файла, выгрузка в XML.:
.rar 6,16Mb
2
.rar 1.08 6,16Mb 2 Скачать

 

 

 

Краткий комментарий к уроку 14. (см. прикрепленный файл RusFox_v1_08.rar)

Для просмотра DBF-файлов мы создаем объект "ПросмотрКурсора".

Просмотр = НовыйОбъект("ПросмотрКурсора")

             Открываем DBF-файл

Файл1 = НовыйОбъект("ФайлDBF")

ЕСЛИ НЕ Файл1.ОткрытьФайл(ТекущийКаталог()+"DBF\Departm.dbf",1)

              Сообщить("Ошибка открытия файла Departm.dbf")

КОНЕЦЕСЛИ;

Смотрим DBF-файл

Просмотр.Показать(Файл1)

Для создания нового DBF-файла используем функцию СоздатьТаблицу() объекта "ФайлDBF"

Файл1.СоздатьТаблицу(ТекущийКаталог()+"DBF\","|Doljnost | Kod|C|10|0| Name|C|30|0|")

Строка "|Doljnost | Kod|C|10|0| Name|C|30|0|" описывает структуру таблицы Doljnost.dbf. В таблице будут созданы следующие поля: 1) Kod – строка длинной 10 символов, 2) Name – строка в 30 символов. Число мы бы задали так : |n|7|2| (7-знаков, 2 знака после запятой) Дату определили бы так: |d|0|0| Если вы ошибочно вместо латинской «C» наберете русскую «С», то программа сообщит вам об ошибке, что буква при определении поля не соответствует.

Чтоб добавить новое поле в существующий DBF-файл следует вызвать функцию ПроверитьСтруктуру() объекта "ФайлDBF"

Файл1.ПроверитьСтруктуру("|Doljnost | Kod|C|10|0| Name|C|30|0| Departm|C|10|0|")

УдалитьОбъект(Файл1)

После вызова данной функции объект "ФайлDBF" следует удалять и открывать заново. Учитывая, что изменять структуру приходится редко, как правило при обновлении версии программы, то переоткрыть DBF-файл — это не сложно.

В уроке 14 умышлено в примере делаемся попытка показа DBF-файла после вызова функции ПроверитьСтруктуру(), чтоб показать, какая ошибка при этом будет высвечена. Здесь показано, как изменить структуру существующего поля. Поле «Name» имело размер в 30 символов, а мы его меняем на размер в 100 символов.

Файл1.ПроверитьСтруктуру("|Doljnost | Name|C|100|0|")

Сообщить("Попытка показа объекта после выполнения функции ПроверитьСтруктуру()")

Просмотр.Показать(Файл1)

УдалитьОбъект(Файл1)

Объект «ПросмотрКурсора» кроме просмотра способен сформировать XML-файл из данных DBF-файла. Для этого вы можете вызвать одну из функций:

Просмотр.КурсорВXMLФайл(Файл1.ИмяОбласти,"XMLDepartm")

Просмотр.КурсорВXMLФайл2(Файл1.ИмяОбласти,"XMLDepartm2")

Подробнее на видео  

РусскийФокс FoxPro DBF XML

См. также

Как вызвать скрипты на python в 1С по технологии NativeAPI

Языки и среды Платформа 1С v8.3 Бесплатно (free)

Будем писать свои скрипты на питоне и запускать их на 1С.

вчера в 09:30    792    YA_418728146    7    

36

Зачем нам 1С:Элемент

Мобильная разработка Языки и среды Бесплатно (free)

Flutter может быть использован с 1С:Предприятием для разработки кроссплатформенных мобильных приложений, обеспечивая единый интерфейс и функциональность на устройствах под управлением iOS и Android. Это позволяет создавать приложения с высокой производительностью благодаря использованию собственного движка рендеринга Flutter. Интеграция Flutter с 1С:Предприятием позволяет создавать мобильные приложения любого уровня сложности, интегрировать их в корпоративные информационные системы, а также реализовывать бизнес-логику

19.03.2024    9048    ROk_dev    67    

41

(Не) Строгая типизация 1С

Языки и среды Платформа 1С v8.3 Бесплатно (free)

Существует множество языков программирования, и каждый имеет свои особенности по работе с типами данных. Слабые, явные, динамические и другие... Но кто же здесь 1С и почему с приходом "строгой" типизации EDT 1С-программистам стоит задуматься над изменением своих привычек.

16.01.2024    4510    SeiOkami    21    

55

Простое приложение на Dart

Языки и среды Бесплатно (free)

Пример небольшого приложения, с которого можно начать изучать язык программирования Dart.

08.08.2023    3321    acvatoris    6    

13

Статический анализатор кода 1С на Си

Языки и среды Платформа 1С v8.3 Россия Бесплатно (free)

Написание статического анализатора для 1С традиционным способом на Си.

30.06.2023    3035    prohorp    15    

12

Сквозная задача на Исполнителе - часть первая (IMAP)

Языки и среды Абонемент ($m)

Поставили нам задачу - вынести на отдельный сервер функционал получения заказов от клиентов по электронной почте, парсинг полученных XLS в приемлемый вид и трансформация заказов в красивый JSON, понятный нашей учетной системе на 1С. Всю эту красоту желательно запустить в отдельном докер - контейнере, по возможности не тратя лицензии, поэтому отдельно стоящую конфигурацию на БСП отвергаем сразу. Можно было бы собрать всё на Apache Airflow или Apache NiFi, но решили попробовать реализовать всю логику без Open Source, будем делать свой ETL, с Исполнителем, который в версии 3.0 научился взаимодействовать с электронной почтой по IMAP. Начнем с середины - сначала напишем скрипты, а потом соберем их в рабочую конструкцию

1 стартмани

01.06.2023    1932    0    kembrik    2    

7

1С# - Расширяем код 1С кодом на C#

Языки и среды Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Вставки кода на C# внутри кода на 1С.

7 стартмани

07.04.2023    9436    4    SerVer1C    56    

43

Независимая разработка совместимых компонент на ORM 1С – миф или истина где-то в аннотациях Java?

Языки и среды Платформа 1С v8.3 Бесплатно (free)

При работе с 1С ORM (object relation mapping) все время преследует ощущение постоянного создания монолитного приложения — один раз привязался к какой либо сущности (например, справочник Контрагенты), и весь код заполнен ссылками на эту конкретную реализацию. Можно ли независимо разрабатывать в ORM совместимые между собой справочник «Контрагентов» и использующий его документ «Платежное поручение», но при этом избежать жестких зависимостей? Спасут ли нас микросервисы? Пример на аннотациях Java демонстрирует, как это возможно делать.

13.03.2023    1059    1CUnlimited    0    

2
Оставьте свое сообщение