Подсистема "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/

 

 

 

См. также

SALE! %

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    161304    893    399    

872

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

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

8400 руб.

20.08.2024    8572    66    29    

76

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

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

22200 руб.

06.10.2023    15687    39    8    

73

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

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

9360 руб.

17.05.2024    23843    70    45    

119

SALE! %

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

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

15000 10000 руб.

10.11.2023    10665    38    27    

63

SALE! %

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

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

4800 3840 руб.

14.01.2013    188561    1142    0    

913

SALE! %

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 15000 руб.

07.10.2021    17556    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7832    8    35    

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

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