РусскийФокс. Изменение DBF-файла и назначение командных клавиш

01.08.18

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

- Шарапов, ты Русского Фокса знаешь ? - Конечно, Глеб. Я же программирую на Русском Фоксе. РусскийФокс (1C-подобный язык программирования) создает DBF-файлы и выгружает данные из DBF в XML.

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

Наименование Файл Версия Размер
РусскийФокс. Изменение DBF-файла и назначение командных клавиш. :
.rar 6,15Mb
0
.rar 6,15Mb Скачать

Для добавления записей в DBF-файл следует использовать функцию ДобавитьЗапись() объекта "ФайлDBF" (см.пример урока 15 в файле «Lesson15.rus» архив RusFox_v1_09.rar)

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

Файл1.ДобавитьЗапись()

А для присвоения значений полям DBF-файла используйте функцию ИзменитьПоле(ИмяПоля, Значение)

Файл1.ИзменитьПоле("Kod", "01")

Для перемещения по записям следует использовать функции, которые возвращают номер записи:

НомерЗаписи = Файл1.ПоследняяЗапись() // на последнюю запись в файле

НомерЗаписи = Файл1.Начало() // на первую запись в файле

НомерЗаписи = Файл1.ПерейтиВперед(1) // на одну запись вперед

НомерЗаписи = Файл1.ПерейтиВперед(-1) // на одну запись назад

НомерЗаписи = Файл1.ПерейтиНаНомер(НомерЗаписи) // перейти на указанный номер записи

Для удаления записей вы можете сначала пометить текущую запись для удаления

Файл1.ПометитьНаУдаление()

а затем полностью удалить помеченные записи

Файл1.УдалитьПомеченныеНаУдаление()

Но следует помнить, что после выполнения функции УдалитьПомеченныеНаУдаление() DBF-файл закрывается и для продолжения работы с ним следует вновь открыть данный файл

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

Для DBF-файла вы можете создать индексный файл с расширением CDX, в котором могут содержаться несколько индексов по разным полям DBF-файла.

Файл1.СоздатьИндекс("TAG_Kod","Kod") // сортирует по коду

Файл1.СоздатьИндекс("TAG_Name","Name") // сортирует по наименованию

Текущий индекс всегда один. Изменять его можно, если у вас несколько индексов, функцией УстановитьТекущийИндекс(ИмяИндекса) объекта "ФайлDBF"

Файл1.УстановитьТекущийИндекс("TAG_Kod") // сортировать по коду

Напоминаю, как можно настроить показ DBF-файла (см.урок 10)

Просмотр.СписокПолей = "1=>Kod:R,2=>Name"

Просмотр.ШиринаКолонок = "1=>20,2=>70"

Просмотр.ЗаголовокКолонок = '1=>"Код",2=>"Наименование"'

Просмотр.ДопНастройкаТаблицы = Просмотр.ЗапретитьИзменятьДанные()+;

Просмотр.ЗапретитьДобавлять()+;

Просмотр.ЗапретитьУдалять()+Просмотр.СправаКарточка(ИСТИНА)+;

Просмотр.ЗакрепитьКолонки(2)

Просмотр.Заголовок = "Список Должностей"

Просмотр.Подсказка = "(F4 - Карточка, F5-Список, ПравКнМышки - Меню, Alt+F4-Выход)"

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

При показе определяются функциональные клавиши для команд перехода в режим «Карточка» F4 и в режим «Список» F5. Но вы можете назначить и свои функциональные клавиши, например, для вызова меню по нажатию правой кнопки мышки. Для этого следует использовать функцию УстановитьКоманднуюКлавишу(НазваниеКлавиши, Команда) объекта "ПросмотрКурсора"

Просмотр.УстановитьКоманднуюКлавишу(Просмотр.ПраваяКнопкаМышки(), "ВызватьМеню(Просмотр,Файл1)")

Для установки вызова команд доступно программирование следующих функциональных клавиш

Функций объекта "ПросмотрКурсора" : ПраваяКнопкаМышки() - нажатие правой кнопки мышки, ЛеваяКнопкаМышки() - нажатие левой кнопки мышки, КнопкаМышки() - просто кнопка мышки, СтрелкаВлево(), СтрелкаВправо(), СтрелкаВверх(), СтрелкаВниз(), УдалениеНазад() - BACKSPACE, Пробел(), Shift_TAB(). Напоминаю, что данные функции находятся внутри объекта "ПросмотрКурсора", потому их вызов происходит через указатель на созданный объект "ПросмотрКурсора" Например, Просмотр.СтрелкаВверх()

Кроме перечисленных назначений вы можете использовать все функциональные клавиши от F1 до F12, передавая их в функцию УстановитьКоманднуюКлавишу(«F1», «СтрокаСКомандой»). Имена прочих клавиш: DEL, INS, TAB, ENTER, ESC, 0...9, A...Z. Еще можно добавлять сочетания CTRL+, ALT+, SHIFT+. Например, «CTRL+1», «ALT+TAB», «SHIFT+A», «ALT+F3» и т.д.

Например, мы запрограммировали вызов меню по нажатию правой кнопки мышки при просмотре DBF-файла с использованием функции Просмотр.Показать(Файл1). Тогда функция такого меню может выглядеть так:

 

ФУНКЦИЯ ВызватьМеню(Просмотр,Файл1)

ЛПЕРЕМ Результат, Команда

// На время выполнения данной функции отключаем повторный вызов данной функции по правой клавише мышки

Просмотр.УстановитьКоманднуюКлавишу(Просмотр.ПраваяКнопкаМышки(), "")

Мас4 = НовыйМассив(6)

Мас4.Установить(1,"Пометить к удалению")

Мас4.Установить(2,"ДобавитьЗапись")

Мас4.Установить(3,"Вверх")

Мас4.Установить(4,"Вниз")

Мас4.Установить(5,"В конец списка")

Мас4.Установить(6,"В начало списка")

Результат = Мас4.ВыборИзМассива()

Команда = РезультатУсловий(Результат,'Параметр1=1,"Файл1.ПометитьНаУдаление()",Параметр1=2,"Файл1.ДобавитьЗапись()",'+;

'Параметр1=3,"Файл1.ПерейтиВперед(-1)",Параметр1=4,"Файл1.ПерейтиВперед(1)",""')

ЕСЛИ СтрДлина(Команда)=0 // если Команда = пустая строка

Команда = РезультатУсловий(Результат,'Параметр1=5,"Файл1.ПоследняяЗапись()",""')

КОНЕЦЕСЛИ;

&Команда

ЕСЛИ Результат = 6

Файл1.Начало()

КОНЕЦЕСЛИ;

// Восстанавливаем вызов функции по нажатию правой кнопки мышки

Просмотр.УстановитьКоманднуюКлавишу(Просмотр.ПраваяКнопкаМышки(), "ВызватьМеню(Просмотр,Файл1)")

КОНЕЦФУНКЦИИ

 

Важно при начале запуска функции отключать возможность повторного вызова функции, пока вызванная функция не отработает. Для этого мы в начале функции вызываем

Просмотр.УстановитьКоманднуюКлавишу(Просмотр.ПраваяКнопкаМышки(), "")

Чтоб при нажатии правой кнопки мышки ни чего не вызывалось. А в конце функции вновь устанавливаем вызов данной функции по нажатию правой кнопки мышки.

В этой функции, чтоб сформировать строки меню мы заполняем массив Мас4 нужными строками. После присваиваем результат выбора переменной «Результат»

Результат = Мас4.ВыборИзМассива()

Затем нам надо по числу (фактически номер выбранной строки), которое попадет в переменную «Результат» вызвать нужную команду. Для этого можно использовать конструкцию ЕСЛИ, но тогда код получится слишком длинным. Потому мы применяем функцию РезультатУсловий(), в которой в качестве первого параметра передаем переменную «Результат», а затем вторым параметром в виде строки передаем наборы условий при этом, чтоб использовать двойные кавычки для возврата строк типа «Файл1.ДобавитьЗапись()» вся строка заключена в одинарные кавычки «'». При этом мы не можем написать в условии «Результат=1», так как условие будет выполняться внутри функции, потому мы пишем «Параметр1=1», а поскольку в качестве первого параметра мы передаем «Результат», то данная запись соответствует условию «Результат=1». При выполнении какого-либо условия в переменную «Команда» будет возвращена соответствующая строка с вызываемой командой, а если ни одно условие не выполнится, то возвратится пустая строка, так как в конце строки у нас запись «""» (пустая строка). Далее я показал (хотя такой вызов не эффективен при небольшом числе условий), что мы можем проверить переменную «Команда», если в ней пустая строка, то вновь вызвать функцию РезультатУсловий() с проверкой других условий.

В итоге мы запускаем содержимое строки «Команда» на исполнение той функции, которая содержится в ней в виде строки вызова. Если переменная «Команда» останется пустой строкой, то ни какого вызова функции не произойдет. Далее я вынуждено использую конструкцию ЕСЛИ, из-за наличия в команде одинарных и двойных кавычек.

ЕСЛИ Результат = 7

     Файл1.УстановитьФильтр('СравнитьСтрокуПоМаске("*Фокс*",Name)')

КОНЕЦЕСЛИ;

Аналогично пришлось бы поступить, если мы использовали не одну строку команды, а несколько строк. Но так же можно было бы создать функцию с простым вызовом типа «Функ1()», а в ней уже вызывать любые команды.

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

См. также

SALE! 10%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    135657    730    291    

391

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

38500 34650 руб.

15.04.2019    68929    181    139    

111

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.226.x) и БП 3.0 (3.0.151.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    20672    136    38    

95

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

48278 43450 руб.

03.12.2020    34491    83    58    

81

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 руб.

23.07.2020    46866    200    64    

162

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 руб.

10.07.2018    67829    41    123    

46

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 09.04.2024, версия 9.9 - 9.10)

14400 руб.

20.11.2015    151550    367    376    

503

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11 / КА 2 / ERP 2. Переносятся документы, справочники и остатки

Обмен между базами 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос в продаже с 2015г., и мы постоянно работаем над его развитием. Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

50722 45650 руб.

24.04.2015    190869    270    239    

270
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. IVC_goal 215 09.08.18 09:15 Сейчас в теме
Пора уже переходить на РусскийВизуалФокс
2. andreosh 103 09.08.18 13:19 Сейчас в теме
Скажу по секрету, что в Русском Фоксе можно будет подключать формы VisualFoxPro. Пока нет времени на изобретение велосипеда (свою среду разработки форм делать).
Оставьте свое сообщение