Подсистема "COMExchange", "Консоль запросов 1C + ADO" - сервис обработки выборки запроса: грузим курс «бакса» ЦБРФ из файла *.dbf или *.xlsx.

14.04.13

Разработка - Инструментарий разработчика

На примере загрузки курса валюты продемонстрированы возможности консоли запросов в составе подсистемы "COMExchange" для обработки данных из внешних файлов и их синхронизации с данными информационной базы 1С.

Слушай, братан, ихние доллары -
- точь в точь как наши баксы!

Из разговора ново-русских туристов.


Описание сервиса обработки выборки запроса:

Имеющийся в подсистеме «COMExchange» сервис обработки выборки запроса в известном смысле дублирует инструмент
обработки данных «Конструктора Ei»  по произвольному алгоритму. Получилось это не намеренно.  
Сама обработка выборки выполняется в специальной форме «ОбработкаВыборки».  
Исходная идея функционала сервиса принадлежит неизвестному программисту 1С,
оставившему в модуле формы авторский комментарий //Vitkovsky.

Обработка выборки данных реализована на поддержке пользовательских событий «ПередВыборкой», «Выборка» и «ПослеВыборки»
(смотри детали в описании консоли), основной смысл которых заключается в выполнении заданного пользователем в форме 
кода на языке 1С, задающего алгоритм обработки данных.

Для облегчения заполнения обработчиков этих событий в форме предусмотрен режим автоматического заполнения (Рис.7).
При выборе команды из меню модули обработчиков событий заполняются по выбранному из списка «шаблону».
После чего возможно придётся подправить код под выполняемую задачу.
Для вставки в текст модуля ключевых слов и выполнения синтактической проверки модулей в форме предусмотрены сервисные кнопки (Рис.8).


Описание примера загрузки данных:

 В архиве комплекта поставки подсистемы «COMExchange» в папке
.\COMExchange-8x\Sampels\!ЗагрузкаКурсов\
в файле !ЗагрузкаКурсовЦБ_USD.selx сохранен пример запросов,
решающих задачу загрузки курса валюты из файла в формате ЦБ РФ, 
в котором сайт ЦБ по запросу посетителя высылает динамику курса выбранной валюты на адрес электронной почты.  
Файлы с данными курса USD за период с 01.01.1992 по 08.03.2013 в форматах *.dbf и *.xlsx находятся в той же папке комплекта поставки.

Для работы запросов из указанного выше файла потребуется установить подсистему «COMExchange», выполнить автоматическое
заполнение плана обмена «Обмен данными COM» и открыть в обработке "Консоль запросов 1С + ADO" этот файл. 


Комментарии к запросам примера:

   1. «Корневой» запрос "ЗагрузкаКурсовВалют" (Рис.1, Рис.2) - собственно выполняет всю работу:
       - В обработчике события «ПередЗапросом» (Рис.2) пользователю из меню предлагается выбрать тип файла с данными (Рис.6).
         От этого зависит имя запроса непосредственно загружающего данные из файла – "КурсыИзDBF" или "КурсыИзXLS" (Рис.3).
       - После загрузки данных из файла в таблицу значений, полученная таблица с курсами валюты укладывается во временную таблицу
         с помощью запроса "УложитьКурсыВТ" (Рис.4). 
         Для этого таблица с данными из файла устанавливается в качестве значения параметра &КурсыИзФайла этого запроса.
       - Ну а сам запрос "ЗагрузкаКурсовВалют" (Рис.1 ) уже непосредственно формирует из временной таблицы выборку данных
         для загрузки в регистр сведений «КурсыВалют», синхронизуя данные со справочником «Валюты» по её наименованию.

   2. Сама загрузка полученной выборки данных в регистр сведений выполняется в форме «ОбработкаВыборки» (Рис.5, Рис.7).

   3. Описанный пример запросов будет работать в типовых конфигурациях УТ-10.3, УПП-1.2, УПП-1.3 и 
       любых других, где хранение информации о валютах и их курсах организовано таким же образом.

 

Общие замечания о загрузке данных из внешних файлов через ADO:
   
   1. Если возвращаемые запросами ADO числовые значения (курс и кратность валюты в данном случае),
       имеют числовой тип с плавающей точкой (float или double)
,  то в консоли запросов версии 8.1.1.2 в опциях ADO
       не следует устанавливать выгрузку результата запроса средствами  ВК GameWhithFire.dll (Рис.3).
       Иначе при загрузке данных из файла из во временную таблицу 1С (Рис.4) произойдёт ошибка из-за того,
       что соответствующие колонки в таблице с данными не будут типизированы.

   2. При загрузке данных из текстовых файлов и файлов Excel рекомендуется использовать
       параметр строки соединения ADO HDR=Yes,
       а  в файле с данными в заголовочной строке вручную указывать понятные имена колонок (если их там нет).
       Это облегчит дальнейшую загрузку результата запроса ADO во временную таблицу и 
       синхронизацию данных из файла с объектами из информационной базы в запросах 1С.

 
Другие примеры работы с регистрами сведений:

1) Обсуждаемый в статье пример является задачей загрузки данных в независимый регистр сведений.
Как эту же задачу выполнить для регистров накопления, регистров бухгалтернского учета и 
регистров сведений, зависимых от регистратора, смотрите в статье //infostart.ru/public/180571/.

2) В архиве комплекта поставки подсистемы «COMExchange» в папке .\COMExchange-8x\Sampels\!ОчисткаРегистров\
также находятся файлы с примерами запросов для очистки независимых регистров сведений:

 а) Файл чистим_регистры_сведений_1.selx - реализует функционал обработки из статьи //infostart.ru/public/181420/
 б) Файл чистим_регистры_сведений_2.selx - реализует функционал обработки из статьи //infostart.ru/public/181456/

 

 

 

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    169258    937    403    

905

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12583    99    42    

101

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    26522    90    48    

134

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    16820    41    15    

75

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    190541    1150    0    

918

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11390    40    27    

66

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    768    2    0    

4

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    103924    244    100    

306
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. yuraos 1005 11.03.13 06:14 Сейчас в теме
Всем доброго времени суток!
--
Обсуждаемый в статье пример является чисто демонстрационным.

Автор статьи не предлагает использовать его в качестве альтернативы
существующим в типовых конфигурациях механизмам
загрузки курсов валют.
2. yuraos 1005 05.04.13 21:57 Сейчас в теме
Всем доброе время суток!!!
---
Примеры запросов выполняющих очистку
независимых регистров сведений
анонсированы в комментариях к следующим статьям:
1) Очистка регистра "Версии объектов"
2) Очистка регистров сведений для удаления данных
Оставьте свое сообщение