|
|||
Hans
03.12.09 — 14:16 |
в чем может быть дело? Лежит и в папке с базой и в папке бин, все рано не подключает. Ошибка при загрузке компоненты E:basas…..Scaner1C.dll. Компонента не загружена. Отладчик показывает: ЗагрузитьВнешнююКомпоненту(«Scaner1C.dll») = 0 ФС.СуществуетФайл(«Scaner1C.dll») = 1 |
||
zak555
1 — 03.12.09 — 14:18 |
(0) extfroms/eniqui |
||
ДенисЧ
2 — 03.12.09 — 14:20 |
права? Зависимости? |
||
Hans
3 — 03.12.09 — 14:22 |
(2) Где смотреть? Такое вчера дома подключал все было без напряга. На работе и вроде пользователь входит в группу администраторы но них не наботает. |
||
Hans
4 — 03.12.09 — 14:22 |
(1) а тут что? |
||
Иду
5 — 03.12.09 — 14:42 |
ну попробуй «прямо» укажи: ЗагрузитьВнешнююКомпоненту(КаталогИБ()+»Scaner1C.dll») |
||
AcaGost
6 — 03.12.09 — 14:43 |
Операционка, случайно, не Виста? |
||
ДенисЧ
7 — 03.12.09 — 14:44 |
(3) скачай showdep и посмотри, от каких библиотек зависит эта. У нас вроде ей требовались багландские bpl… |
||
PaulBC
8 — 03.12.09 — 14:48 |
(0) было такое, когда были разные версии Scaner1C.dll в папке и установленного драйвера DTO |
||
Hans
9 — 03.12.09 — 14:48 |
(6)Операционка сейчас хр |
||
Hans
10 — 03.12.09 — 15:15 |
(7) смотрю, ничего не понимаю =) |
||
Hans
11 — 03.12.09 — 15:42 |
(7) bpl что с ними делать? |
||
Касандер72
12 — 03.12.09 — 15:46 |
(0) Попробуй в глобальнике ПриНачалеРаботы() запихнуть сие: Если ЗагрузитьВнешнююКомпоненту(«Scaner1C.dll») = 0 Тогда |
||
Касандер72
13 — 03.12.09 — 15:47 |
+(12) и … регил ли ты её? |
||
ДенисЧ
14 — 03.12.09 — 15:48 |
(11) Найти и скопировать в system32 |
||
Hans
15 — 03.12.09 — 15:49 |
и регил и нерегил, насколько я читал ЗагрузитьВнешнююКомпоненту сама все регит. (12) у меня там почти такой же код |
||
ДенисЧ
16 — 03.12.09 — 15:51 |
+14 у меня она хочет vcl70.bpl и rtl70.bpl |
||
Касандер72
17 — 03.12.09 — 16:01 |
(0) возможно «битая» … попробуй Штрих-М-скую скачать |
||
Hans
18 — 03.12.09 — 16:01 |
(16)ага, точно, скинул эти файлы в systm32 и все заработало. спасибо. |
||
Hans
19 — 03.12.09 — 16:04 |
(17) штриховские нормально работали, хотел чтоб заработали и атоловские =) |
||
MikeFromAtol
20 — 03.12.09 — 16:10 |
Работают атоловские положи dll в bin-каталог 1С и зарегистрируй оттуда. и по идее больше ничего не надо. |
||
MikeFromAtol 21 — 03.12.09 — 16:10 |
Хотя в случае с 7.7 иногда приходилось и в каталог базы dll кидать. |
![]() |
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Подключить ФР производства компании АТОЛ или Штрих-М к стандартной 1С торговле особого труда не составляет. Необходимо иметь некоторые общие представления о том, что есть драйвер и как его установить. Полезно иметь под рукой документацию по свойствам и методам драйвера по той простой причине, что нередко приходится дописывать обработки работы с оборудованием.
Описание свойств и методов драйвера ФР фирмы Штрих-М скачать здесь 2,8Мб
Описание свойств и методов драйвера ФР фирмы АТОЛ скачать здесь 2,21Мб
Драйвер фискального регистратора фирмы Штрих-М версии 4.6 можно скачать здесь 1,3Мб
Драйвер фискального регистратора фирмы АТОЛ можно скачать с сайта производителя. Необходимо найти ссылку «АТОЛ: Драйверы торгового оборудования» и скачать драйверы весом 17,4Мб. При установке выбрать режим «Установка по выбору» -> «АТОЛ: Драйвер ККМ v6.7.0».
После установки драйвера ФР в меню Пуск->Программы->Штрих-М (или АТОЛ технологии) появится тестовая утилита. Она будет называться «Тест драйвера» для Штрих-М или Драйвер ККМ для АТОЛ. С помощью этой утилиты можно отбить чек на ККМ, можно снять фискальные отчеты и т.п. Все можно сделать, или почти все. Но в первую очередь этой утилитой нужно настроить связь с кассой. Итак, запускаем утилиту:
Это главное окно. От версии к версии вид может меняться. Нас интересует кнопка «Настройка свойств». Нажмем ее:
Если нам известны параметры подключения ФР, то мы сразу можем поставить порт и скорость. Если нет, то нажимаем волшебную кнопочку «Поиск оборудования», затем «Начать поиск» и утилита сама находит на какой порт подцеплена касса и с какой скоростью работает. Касса при этом должна быть включена и подцеплена шнурочком к компьютеру.
Если параметры выставлены правильно, то щелчок по кнопке «Проверка связи» выдаст код ошибки: «0 Ошибок нет». Таймаут советую ставить 5000, для некоторых прошивок это важно, а где не важно — не помешает.
Это была описана процедура подключения ФР фирмы Штрих-М. Для АТОЛовских то же самое. Необходимо только галочку поставить «Устройство включено» в главном окне.
Если драйвер установлен и параметры связи настроены, то первый этап завершен: файлы драйвера скопированы на жесткий диск, в реестре появилась ссылка на драйвер и драйвер «запомнил», как подключена касса. Осталось настроить подключение в 1С.
Рассмотрим подключение ФР в стандартной 1С:Торговля и Склад.
Во-первых, запустите 1С и выберите «Сервис->Настройка торгового оборудования». Нам нужна закладка «Фискальный регистратор»:
Далее, нажмите галочку «Фискальный регистратор включен», выберите модель фискального регистратора в выпадающем списке. Пароли администратора и пользоваиеля обычно «30». Справа от выпадающего списка две кнопки: «Добавить новую модель фискального регистратора» — левая, и «Редактировать выбранную модель фискального регистратора» справа. Нам нужна правая. Нажимаем:
Наименование модели — просто название, не более того. Внешняя компонента — собственно сам драйвер. DrvFR.dll — драйвер для моделей ФР фирмы Штрих-М, для АТОЛовских — FPrnM1C.dll. Далее, програмный идентификатор: DrvFR (для АТОЛ FprnM45) — имя в реестре, под которым программа-инсталятор прописала драйвер. И наконец самый «сложный» параметр: обработка обслуживания фискального регистратора. Сложная в том смысле, что именно с ней связано большинство проблем. Конфигурация 1С:Торговля и склад постоянно обновляется и дорабатывается, но обработки обслуживания нередко кривые. Для примера здесь можно скачать реальную обработку обслуживания используемой мной у клиентов с фискальным регистратором Элвес ФР-К.
Как видно из рисунка, обработки бывают встроенные и внешние. Встроенную можно использовать для сканера штрих-кода, для фискального регистратора вроде нет. Внешние обработки находятся в каталоге базыExtFormsEquip. Вот две стандартные обработки, поставляемые вместе с торговлей: fr_comm.ert и fr_elves.ert. Для неопытных, при подключении советую попробовать обе. Естественно, пробовать надо на фискальном регистраторе, который не введен в эксплуатацию т.е. чеки, отбиваемые на нем, в фискальную память не попадают. Если же сие невозможно, советую ознакомится с руководством програмиста (ссылки были выше) и заглянуть в код обработки. Приведу некоторые замечания по коду:
Вот кусок функции «Подключить()»:
Если ЗагрузитьВнешнююКомпоненту(Компонента) = 0 Тогда .... Иначе Попытка Объект = СоздатьОбъект("AddIn." + ПрогИд); ....
Здесь написана команда загрузки внешней компоненты «DrvFR.dll» и, если она загружена, попытка создания объекта «Addin.DrvFR». В дальнейшем, если все прошло успешно, Работа с ФР будет идти посредством вызова свойств и методов объекта «Объект».
Рассмотрим такие строки обработки «fr_comm.ert»:
Объект.Mode = 0; Объект.Password = "0"; Объект.SetMode();
У драйвера ФР фирмы Штрих-М такого свойства «Mode» и метода «SetMode()» нет, поэтому бесполезно использовать данную обработку для ФР это фирмы. Но они есть у драйвера ФР фирмы АТОЛ.
Рассмотрим еще строки обработки «fr_comm.ert»:
Если Объект.УстройствоВключено = 1 Тогда .... Возврат Объект.ОписаниеРезультата; Если Объект.Результат <> 0 Тогда ....
Русские варианты свойств и методов не прокатывает! Их необходимо заменить на англоязычные синонимы:
Объект.Connect(); Если Объект.ResultCode = 0 Тогда // Если ошибок нет .... Возврат Объект.ResultCodeDescription; Если Объект.ResultCode <> 0 Тогда ....
Так же обратите внимание на то, как обрабатываются ставки НДС. Если Вы подключаете ФР для розничной торговли, то нужно ли Вам это?
Итак, если все поля заполнены, обработка выбрана, нажимаем кнопку «Ок»:
Нажмем «Подключить». Если вылазит сообщение вроде:
Фискальный регистратор: ошибка при подключении
не удалось загрузить внешнюю компоненту «DrvFR.dll»
скопируйте драйверы оборудования в каталог базы или в каталог 1С: «C:Program files1cv7bin». Для фискального регистратора фирмы Штрих-М скопировать придется два файла: сам драйвер «DrvFR.dll» и файл-лицензию «DrvFR.lic». После этого все должно сработать, а в меню «Сервис->Параметры» должна появиться закладка «Драйвер ФР»:
Настройки порта, скорости и тайм-аут должны быть такими, какими мы их выставили в тестовой утилите.
Наконец необходимо пользователю настроить кассу. Заходим в меню «Справочники-> Структура компании-> Кассы». Наверняка там уже будет элемент «Основная касса», отредактируем его (если такового нет то введем):
Ставим галочку «Данная касса является контрольно-кассовой машиной», выбираем режим работы ККМ «ФР». Записываем изменения и закрываем форму.
Откроем «Справочники-> Структура компании-> Пользователи». Выберем (или введем) пользователя, который будет отбивать чеки, откроем форму для редактирования, закладка «Значения по умолчанию»:
Выберем основную кассу, НДС, НП, основной склад, основной тип цен продажи — розничные.
В принципе, это все. Работа с кассой в меню «Документы -> Работа с ККМ -> Чек ККМ». В конце смены необходимо сформировать обработку «Закрытие кассовой смены» которая удалит все Чеки ККМ за смену, сформирует накладную на проданный товар и закроет смену на ККМ.
Если необходимо отбивать чеки при проведении документа «ПКО», тогда в настройке торгового оборудования необходимо поставить галочку «Используется для отражения наличных денежных расчетов».
Добрый день. На текущий момент такая ошибка при использовании метода в 1с При попытке зарегистрировать компоненту с помощь. regsvr32 выходит ошибка, 2 года 8 месяцев назад
#ссылка |
0 ответов
Добавить ответ
Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)
ЗАДАН
2 года 8 месяцев назад
По каждому вопросу/ответу можно добавлять комментарии. Комментарии предназначены для уточнения вопроса/ответа.
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
1 |
|
18.05.2021, 14:57. Показов 32525. Ответов 13
Здравствуйте! Подскажите пожалуйста как подключить терминал эквайринга к 1С на ПК? Кассу Меркурий 115Ф я подключил и настроил — всё работает, А вот установить драйвер терминала эквайринга, из состава конфигурации, Сам терминал эквайринга я к Пк еще не подключал (физически), не было Ребят, подскажите, плиз, где засада? Мож я где затупил? Мб надо от банка требовать драйвер? Платформа: 1С:Предприятие 8.3 (8.3.18.1433) Миниатюры
0 |
364 / 169 / 73 Регистрация: 04.03.2020 Сообщений: 649 |
|
18.05.2021, 19:01 |
2 |
Халявщики (специалисты ВТБ). 1 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
18.05.2021, 22:41 [ТС] |
3 |
Scratchsv, спасибо что откликнулись! Сделаю как вы посоветовали — «потрясу» банк 0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 13:13 [ТС] |
4 |
Вчера приезжал представитель банка, установил программу Inpas DualConnector, Я запустил 1С и попытался установить драйвер терминала эквайринга Миниатюры
0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 13:25 [ТС] |
5 |
Я отправился к партнеру 1С — их сотрудник сделал то же что и я, и результат был такой же. Я снова обратился в банк и получил примерно такой ответ: Блин, да как же во всем этом разобраться то (( Миниатюры
0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 13:35 [ТС] |
6 |
В этой инструкции написано так: 1. Установить внешнею компоненту для 1С a_inpasDC1c83.dll (дистрибутивDualConnector1CSetup.exe).
2. Установить коннектор DualConnector (дистрибутив DualConnectorInstall 1.1.3.rar, 3. Настроить вызовы методов внешней компоненты a_inpasDC1c83.dll в конфигурации 1С. 4. После всех настроек проверить совместную работу ККМ и пинпада, выполнив тестовые
Пугает пункт 3 — как настраивать эти вызовы? 0 |
364 / 169 / 73 Регистрация: 04.03.2020 Сообщений: 649 |
|
20.05.2021, 13:38 |
7 |
Проверьте чтоб платформа была 32-х битная. Добавлено через 2 минуты 0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 14:23 [ТС] |
8 |
Вероятно ещё надо зарегистрировать a_inpasDC1c83.dll и DUALConnector.dll. Scratchsv, я скачал скачал DualConnector1C с сайта Inpas, зарегистрировал a_inpasDC1c83.dll, и На всякий случай решил глянуть что за драйвера в составе комплекта (Функции-Выгрузить файл драйвера), В каталоге DualConnector1C есть файл ReadMe.txt, в котором написано что: Миниатюры
0 |
364 / 169 / 73 Регистрация: 04.03.2020 Сообщений: 649 |
|
20.05.2021, 14:53 |
9 |
Решение Напоминаю — платформа 32 бита. 1 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 15:58 [ТС] |
10 |
Scratchsv, я скачивал дистрибутивы (https://releases.1c.ru/project/Platform83) в которых не указано 64-bit, и был уверен что у меня платформа 32-bit, однако, после вашего замечания, я посмотрел в диспетчере задач, в колонке «платформа», разрядность запущенного процесса 1с — там указано 64 бит ! Где-то в сети увидел что настроить запуск в режиме 32-bit можно в настройках запуска базы. В этих настройках было выбрано «предпочтение 64-бит», я изменил на «32-бит», и, после неоднократных запусков и проверок, в диспетчере задач всё равно указано 64-бит. Подскажите пожалуйста, как правильно настроить запуск платформы в режиме 32-бит? Миниатюры
0 |
364 / 169 / 73 Регистрация: 04.03.2020 Сообщений: 649 |
|
20.05.2021, 17:34 |
11 |
странно, если не указано, то 32 бита. 1 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 18:11 [ТС] |
12 |
Scratchsv, видимо всё же ошибся я скачав и установив платформу версии 64-bit 1 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
23.05.2021, 02:41 |
13 |
anton-sf, долго за тобой наблюдал, молодец (спасибо Scratchsv с его подсказками), я правильно понял ты справился с подключением
Verifone VX520-G ??? Добавлено через 2 минуты
Но они же умолчали что платформа должна быть 32-bit. Откуда им это известно? Они выпускаю драйвера 32-бит с поддержкой работы в 64-бит ОС и этого достаточно. А вот то что платформа 1С так работает с компонентами, это совсем другое. (можно было сделать эмуляцию средствами ОС из 32-бит компоненты в 64-бит) только ради того что бы ублажить платформу 1С Добавлено через 1 минуту Не по теме: и то не факт что 1С сможет загрузить линки из этой компоненты…….. 0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
23.05.2021, 09:02 [ТС] |
14 |
Откуда им это известно? Логично. Короче, сотрудники банка не виновны
я правильно понял ты справился с подключением Да, как драйвер установился, так я сразу всё и настроил, по настройке эквайринга в сети полно инструкций
??? Verifone VX520-G, можно просто Verifone VX520 Миниатюры
0 |
|
|||
Hans
03.12.09 — 14:16 |
в чем может быть дело? Лежит и в папке с базой и в папке бин, все рано не подключает. Ошибка при загрузке компоненты E:basas…..Scaner1C.dll. Компонента не загружена. Отладчик показывает: ЗагрузитьВнешнююКомпоненту(«Scaner1C.dll») = 0 ФС.СуществуетФайл(«Scaner1C.dll») = 1 |
||
zak555
1 — 03.12.09 — 14:18 |
(0) extfroms/eniqui |
||
ДенисЧ
2 — 03.12.09 — 14:20 |
права? Зависимости? |
||
Hans
3 — 03.12.09 — 14:22 |
(2) Где смотреть? Такое вчера дома подключал все было без напряга. На работе и вроде пользователь входит в группу администраторы но них не наботает. |
||
Hans
4 — 03.12.09 — 14:22 |
(1) а тут что? |
||
Иду
5 — 03.12.09 — 14:42 |
ну попробуй «прямо» укажи: ЗагрузитьВнешнююКомпоненту(КаталогИБ()+»Scaner1C.dll») |
||
AcaGost
6 — 03.12.09 — 14:43 |
Операционка, случайно, не Виста? |
||
ДенисЧ
7 — 03.12.09 — 14:44 |
(3) скачай showdep и посмотри, от каких библиотек зависит эта. У нас вроде ей требовались багландские bpl… |
||
PaulBC
8 — 03.12.09 — 14:48 |
(0) было такое, когда были разные версии Scaner1C.dll в папке и установленного драйвера DTO |
||
Hans
9 — 03.12.09 — 14:48 |
(6)Операционка сейчас хр |
||
Hans
10 — 03.12.09 — 15:15 |
(7) смотрю, ничего не понимаю =) |
||
Hans
11 — 03.12.09 — 15:42 |
(7) bpl что с ними делать? |
||
Касандер72
12 — 03.12.09 — 15:46 |
(0) Попробуй в глобальнике ПриНачалеРаботы() запихнуть сие: Если ЗагрузитьВнешнююКомпоненту(«Scaner1C.dll») = 0 Тогда |
||
Касандер72
13 — 03.12.09 — 15:47 |
+(12) и … регил ли ты её? |
||
ДенисЧ
14 — 03.12.09 — 15:48 |
(11) Найти и скопировать в system32 |
||
Hans
15 — 03.12.09 — 15:49 |
и регил и нерегил, насколько я читал ЗагрузитьВнешнююКомпоненту сама все регит. (12) у меня там почти такой же код |
||
ДенисЧ
16 — 03.12.09 — 15:51 |
+14 у меня она хочет vcl70.bpl и rtl70.bpl |
||
Касандер72
17 — 03.12.09 — 16:01 |
(0) возможно «битая» … попробуй Штрих-М-скую скачать |
||
Hans
18 — 03.12.09 — 16:01 |
(16)ага, точно, скинул эти файлы в systm32 и все заработало. спасибо. |
||
Hans
19 — 03.12.09 — 16:04 |
(17) штриховские нормально работали, хотел чтоб заработали и атоловские =) |
||
MikeFromAtol
20 — 03.12.09 — 16:10 |
Работают атоловские положи dll в bin-каталог 1С и зарегистрируй оттуда. и по идее больше ничего не надо. |
||
MikeFromAtol 21 — 03.12.09 — 16:10 |
Хотя в случае с 7.7 иногда приходилось и в каталог базы dll кидать. |
![]() |
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Подключить ФР производства компании АТОЛ или Штрих-М к стандартной 1С торговле особого труда не составляет. Необходимо иметь некоторые общие представления о том, что есть драйвер и как его установить. Полезно иметь под рукой документацию по свойствам и методам драйвера по той простой причине, что нередко приходится дописывать обработки работы с оборудованием.
Описание свойств и методов драйвера ФР фирмы Штрих-М скачать здесь 2,8Мб
Описание свойств и методов драйвера ФР фирмы АТОЛ скачать здесь 2,21Мб
Драйвер фискального регистратора фирмы Штрих-М версии 4.6 можно скачать здесь 1,3Мб
Драйвер фискального регистратора фирмы АТОЛ можно скачать с сайта производителя. Необходимо найти ссылку «АТОЛ: Драйверы торгового оборудования» и скачать драйверы весом 17,4Мб. При установке выбрать режим «Установка по выбору» -> «АТОЛ: Драйвер ККМ v6.7.0».
После установки драйвера ФР в меню Пуск->Программы->Штрих-М (или АТОЛ технологии) появится тестовая утилита. Она будет называться «Тест драйвера» для Штрих-М или Драйвер ККМ для АТОЛ. С помощью этой утилиты можно отбить чек на ККМ, можно снять фискальные отчеты и т.п. Все можно сделать, или почти все. Но в первую очередь этой утилитой нужно настроить связь с кассой. Итак, запускаем утилиту:
Это главное окно. От версии к версии вид может меняться. Нас интересует кнопка «Настройка свойств». Нажмем ее:
Если нам известны параметры подключения ФР, то мы сразу можем поставить порт и скорость. Если нет, то нажимаем волшебную кнопочку «Поиск оборудования», затем «Начать поиск» и утилита сама находит на какой порт подцеплена касса и с какой скоростью работает. Касса при этом должна быть включена и подцеплена шнурочком к компьютеру.
Если параметры выставлены правильно, то щелчок по кнопке «Проверка связи» выдаст код ошибки: «0 Ошибок нет». Таймаут советую ставить 5000, для некоторых прошивок это важно, а где не важно — не помешает.
Это была описана процедура подключения ФР фирмы Штрих-М. Для АТОЛовских то же самое. Необходимо только галочку поставить «Устройство включено» в главном окне.
Если драйвер установлен и параметры связи настроены, то первый этап завершен: файлы драйвера скопированы на жесткий диск, в реестре появилась ссылка на драйвер и драйвер «запомнил», как подключена касса. Осталось настроить подключение в 1С.
Рассмотрим подключение ФР в стандартной 1С:Торговля и Склад.
Во-первых, запустите 1С и выберите «Сервис->Настройка торгового оборудования». Нам нужна закладка «Фискальный регистратор»:
Далее, нажмите галочку «Фискальный регистратор включен», выберите модель фискального регистратора в выпадающем списке. Пароли администратора и пользоваиеля обычно «30». Справа от выпадающего списка две кнопки: «Добавить новую модель фискального регистратора» — левая, и «Редактировать выбранную модель фискального регистратора» справа. Нам нужна правая. Нажимаем:
Наименование модели — просто название, не более того. Внешняя компонента — собственно сам драйвер. DrvFR.dll — драйвер для моделей ФР фирмы Штрих-М, для АТОЛовских — FPrnM1C.dll. Далее, програмный идентификатор: DrvFR (для АТОЛ FprnM45) — имя в реестре, под которым программа-инсталятор прописала драйвер. И наконец самый «сложный» параметр: обработка обслуживания фискального регистратора. Сложная в том смысле, что именно с ней связано большинство проблем. Конфигурация 1С:Торговля и склад постоянно обновляется и дорабатывается, но обработки обслуживания нередко кривые. Для примера здесь можно скачать реальную обработку обслуживания используемой мной у клиентов с фискальным регистратором Элвес ФР-К.
Как видно из рисунка, обработки бывают встроенные и внешние. Встроенную можно использовать для сканера штрих-кода, для фискального регистратора вроде нет. Внешние обработки находятся в каталоге базыExtFormsEquip. Вот две стандартные обработки, поставляемые вместе с торговлей: fr_comm.ert и fr_elves.ert. Для неопытных, при подключении советую попробовать обе. Естественно, пробовать надо на фискальном регистраторе, который не введен в эксплуатацию т.е. чеки, отбиваемые на нем, в фискальную память не попадают. Если же сие невозможно, советую ознакомится с руководством програмиста (ссылки были выше) и заглянуть в код обработки. Приведу некоторые замечания по коду:
Вот кусок функции «Подключить()»:
Если ЗагрузитьВнешнююКомпоненту(Компонента) = 0 Тогда .... Иначе Попытка Объект = СоздатьОбъект("AddIn." + ПрогИд); ....
Здесь написана команда загрузки внешней компоненты «DrvFR.dll» и, если она загружена, попытка создания объекта «Addin.DrvFR». В дальнейшем, если все прошло успешно, Работа с ФР будет идти посредством вызова свойств и методов объекта «Объект».
Рассмотрим такие строки обработки «fr_comm.ert»:
Объект.Mode = 0; Объект.Password = "0"; Объект.SetMode();
У драйвера ФР фирмы Штрих-М такого свойства «Mode» и метода «SetMode()» нет, поэтому бесполезно использовать данную обработку для ФР это фирмы. Но они есть у драйвера ФР фирмы АТОЛ.
Рассмотрим еще строки обработки «fr_comm.ert»:
Если Объект.УстройствоВключено = 1 Тогда .... Возврат Объект.ОписаниеРезультата; Если Объект.Результат <> 0 Тогда ....
Русские варианты свойств и методов не прокатывает! Их необходимо заменить на англоязычные синонимы:
Объект.Connect(); Если Объект.ResultCode = 0 Тогда // Если ошибок нет .... Возврат Объект.ResultCodeDescription; Если Объект.ResultCode <> 0 Тогда ....
Так же обратите внимание на то, как обрабатываются ставки НДС. Если Вы подключаете ФР для розничной торговли, то нужно ли Вам это?
Итак, если все поля заполнены, обработка выбрана, нажимаем кнопку «Ок»:
Нажмем «Подключить». Если вылазит сообщение вроде:
Фискальный регистратор: ошибка при подключении
не удалось загрузить внешнюю компоненту «DrvFR.dll»
скопируйте драйверы оборудования в каталог базы или в каталог 1С: «C:Program files1cv7bin». Для фискального регистратора фирмы Штрих-М скопировать придется два файла: сам драйвер «DrvFR.dll» и файл-лицензию «DrvFR.lic». После этого все должно сработать, а в меню «Сервис->Параметры» должна появиться закладка «Драйвер ФР»:
Настройки порта, скорости и тайм-аут должны быть такими, какими мы их выставили в тестовой утилите.
Наконец необходимо пользователю настроить кассу. Заходим в меню «Справочники-> Структура компании-> Кассы». Наверняка там уже будет элемент «Основная касса», отредактируем его (если такового нет то введем):
Ставим галочку «Данная касса является контрольно-кассовой машиной», выбираем режим работы ККМ «ФР». Записываем изменения и закрываем форму.
Откроем «Справочники-> Структура компании-> Пользователи». Выберем (или введем) пользователя, который будет отбивать чеки, откроем форму для редактирования, закладка «Значения по умолчанию»:
Выберем основную кассу, НДС, НП, основной склад, основной тип цен продажи — розничные.
В принципе, это все. Работа с кассой в меню «Документы -> Работа с ККМ -> Чек ККМ». В конце смены необходимо сформировать обработку «Закрытие кассовой смены» которая удалит все Чеки ККМ за смену, сформирует накладную на проданный товар и закроет смену на ККМ.
Если необходимо отбивать чеки при проведении документа «ПКО», тогда в настройке торгового оборудования необходимо поставить галочку «Используется для отражения наличных денежных расчетов».
Добрый день. На текущий момент такая ошибка при использовании метода в 1с При попытке зарегистрировать компоненту с помощь. regsvr32 выходит ошибка, 2 года 8 месяцев назад
#ссылка |
0 ответов
Добавить ответ
Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)
ЗАДАН
2 года 8 месяцев назад
По каждому вопросу/ответу можно добавлять комментарии. Комментарии предназначены для уточнения вопроса/ответа.
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
1 |
|
18.05.2021, 14:57. Показов 32525. Ответов 13
Здравствуйте! Подскажите пожалуйста как подключить терминал эквайринга к 1С на ПК? Кассу Меркурий 115Ф я подключил и настроил — всё работает, А вот установить драйвер терминала эквайринга, из состава конфигурации, Сам терминал эквайринга я к Пк еще не подключал (физически), не было Ребят, подскажите, плиз, где засада? Мож я где затупил? Мб надо от банка требовать драйвер? Платформа: 1С:Предприятие 8.3 (8.3.18.1433) Миниатюры
0 |
364 / 169 / 73 Регистрация: 04.03.2020 Сообщений: 649 |
|
18.05.2021, 19:01 |
2 |
Халявщики (специалисты ВТБ). 1 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
18.05.2021, 22:41 [ТС] |
3 |
Scratchsv, спасибо что откликнулись! Сделаю как вы посоветовали — «потрясу» банк 0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 13:13 [ТС] |
4 |
Вчера приезжал представитель банка, установил программу Inpas DualConnector, Я запустил 1С и попытался установить драйвер терминала эквайринга Миниатюры
0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 13:25 [ТС] |
5 |
Я отправился к партнеру 1С — их сотрудник сделал то же что и я, и результат был такой же. Я снова обратился в банк и получил примерно такой ответ: Блин, да как же во всем этом разобраться то (( Миниатюры
0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 13:35 [ТС] |
6 |
В этой инструкции написано так: 1. Установить внешнею компоненту для 1С a_inpasDC1c83.dll (дистрибутивDualConnector1CSetup.exe).
2. Установить коннектор DualConnector (дистрибутив DualConnectorInstall 1.1.3.rar, 3. Настроить вызовы методов внешней компоненты a_inpasDC1c83.dll в конфигурации 1С. 4. После всех настроек проверить совместную работу ККМ и пинпада, выполнив тестовые Пугает пункт 3 — как настраивать эти вызовы? 0 |
364 / 169 / 73 Регистрация: 04.03.2020 Сообщений: 649 |
|
20.05.2021, 13:38 |
7 |
Проверьте чтоб платформа была 32-х битная. Добавлено через 2 минуты 0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 14:23 [ТС] |
8 |
Вероятно ещё надо зарегистрировать a_inpasDC1c83.dll и DUALConnector.dll. Scratchsv, я скачал скачал DualConnector1C с сайта Inpas, зарегистрировал a_inpasDC1c83.dll, и На всякий случай решил глянуть что за драйвера в составе комплекта (Функции-Выгрузить файл драйвера), В каталоге DualConnector1C есть файл ReadMe.txt, в котором написано что: Миниатюры
0 |
364 / 169 / 73 Регистрация: 04.03.2020 Сообщений: 649 |
|
20.05.2021, 14:53 |
9 |
Решение Напоминаю — платформа 32 бита. 1 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 15:58 [ТС] |
10 |
Scratchsv, я скачивал дистрибутивы (https://releases.1c.ru/project/Platform83) в которых не указано 64-bit, и был уверен что у меня платформа 32-bit, однако, после вашего замечания, я посмотрел в диспетчере задач, в колонке «платформа», разрядность запущенного процесса 1с — там указано 64 бит ! Где-то в сети увидел что настроить запуск в режиме 32-bit можно в настройках запуска базы. В этих настройках было выбрано «предпочтение 64-бит», я изменил на «32-бит», и, после неоднократных запусков и проверок, в диспетчере задач всё равно указано 64-бит. Подскажите пожалуйста, как правильно настроить запуск платформы в режиме 32-бит? Миниатюры
0 |
364 / 169 / 73 Регистрация: 04.03.2020 Сообщений: 649 |
|
20.05.2021, 17:34 |
11 |
странно, если не указано, то 32 бита. 1 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
20.05.2021, 18:11 [ТС] |
12 |
Scratchsv, видимо всё же ошибся я скачав и установив платформу версии 64-bit 1 |
Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
|
23.05.2021, 02:41 |
13 |
anton-sf, долго за тобой наблюдал, молодец (спасибо Scratchsv с его подсказками), я правильно понял ты справился с подключением
Verifone VX520-G ??? Добавлено через 2 минуты
Но они же умолчали что платформа должна быть 32-bit. Откуда им это известно? Они выпускаю драйвера 32-бит с поддержкой работы в 64-бит ОС и этого достаточно. А вот то что платформа 1С так работает с компонентами, это совсем другое. (можно было сделать эмуляцию средствами ОС из 32-бит компоненты в 64-бит) только ради того что бы ублажить платформу 1С Добавлено через 1 минуту Не по теме: и то не факт что 1С сможет загрузить линки из этой компоненты…….. 0 |
123 / 59 / 14 Регистрация: 29.03.2015 Сообщений: 265 |
|
23.05.2021, 09:02 [ТС] |
14 |
Откуда им это известно? Логично. Короче, сотрудники банка не виновны
я правильно понял ты справился с подключением Да, как драйвер установился, так я сразу всё и настроил, по настройке эквайринга в сети полно инструкций
??? Verifone VX520-G, можно просто Verifone VX520 Миниатюры
0 |
Здравствуйте, уважаемые пользователи программы 1С:Предприятие!
Ошибка «Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!» при запуске конфигурации «1С: Предприятие Зарплата и Управление Персоналом 2.5», «Управление производственным предприятием 1.3», «Комплексная автоматизация 1.1» возникает в случае отсутствия компоненты NameDecl.dll (или если данная компонента не зарегистрирована в системе).
Способ устранения ошибки
- Найдите файл NameDecl.dll — скорее всего, он находится в каталоге с программой 1С:Предприятие. Также данный файл можно найти на дисках ИТС (практически за любой месяц). Если найти файл Вам не удается, скачайте его с моего сайта по этой ссылке;
- Скопируйте файл NameDecl.dll на диск С;
- Нажмите кнопку «Пуск» и выберите пункт «Выполнить»;
- В открывшемся окне наберите следующую команду:
- regsvr32.exe С:NameDecl.dll
- и нажмите кнопку ОК.
После этого перезапустите программу 1С:Зарплата и Управление Персоналом и убедитесь в том, что ошибка «Ошибка загрузки внешней компоненты для склонения фио» больше не возникает.
BSOD Kernel Mode Heap Corruption в EFT — Решение есть!
Всего Вам доброго!
Хостинг, который используем мы
Аренда 1С! Дешево, качество, супер быстро!
Больше, чем 1С в облаке. Человеческая поддержка 24/7. Работай в 1С без привязки к рабочему месту и покупки лицензий. Почему они?
Рубрики
- 1С
- Android
- IT
- Администрирование 1С
- Битрикс
- Давальческое сырье
- Другое
- Интернет
- Конфигурации 1С
- Мобильное приложение 1С
- Обработки 1с
- Ошибки 1С
- Разработки 1с
- Торговое оборудование
- Электронный документооборот
Источник: itsphera.ru
Как в роли Кладовщик УТ 10.3 запретить чтение Заказов покупателя, к которым у пользователя не должно быть доступа?
При загрузке документа http://localhost:8080/opt/out/Ticket/3734 с типом Ticket возникла ошибка:
Текст ошибки: Запись не верна! Период не может быть пустым! (Регистр накопления: Остатки алкогольной продукции ЕГАИС; Номер строки: 25)
Текст XML см. в журнале регистрации.
Цитата:
устал ковыряться честно, 1С в 7.70.018
vcomp110.dll Что это за ошибка и как исправить
если 7.70.018 — это версия платформы, то обнови до 7.70.027
Возможно конфу защитили от переноса в другое место приблизительно так:
Код:
Процедура ПриНачалеРаботыСистемы()
//.
Если ФС.СуществуетФайл(ИмяФайлаЗащиты)=0 Тогда
СтатусВозврата(0);
Возврат;
КонецЕсли;
//.
КонецПроцедуры
Процедура ПриНачалеРаботыСистемы()
Попытка
БухИтоги = СоздатьОбъект(«БухгалтерскиеИтоги»);
//ЖрнЗарплата = СоздатьОбъект(«ЖурналРасчетов.Зарплата»);
// ТестовыйРегистр = СоздатьОбъект(«Регистр.Поголовье»);
Исключение
Предупреждение(«Для работы Комплексной конфигурации необходимо наличие компонеты»+РазделительСтрок
+»‘Бухгалтерский учет’! Повторите запуск программы после»+РазделительСтрок
+»проверки состава установленных компонент и доступа к ключам защиты.»);
СтатусВозврата(1);
Возврат;
КонецПопытки;
//
//Если ЗагрузитьВнешнююКомпоненту(«FormEx.dll») = 0 Тогда
// Предупреждение(«Неудачная попытка загрузить FormEx.dll»);
// СтатусВозврата(1);
// Возврат;
//КонецЕсли;
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
Источник:
Данная проблема обычно не имеет место, если все действия по установке или переустановке технологической платформы 1С осуществлять от имени Администратора. При этом компонента NameDecl.dll, ответственная за склонения имен, сама регистрируется в системе. Однако если компонента не установлена или регистрация ее прошла некорректно, то можно произвести замену с диска ИТС (информационно-технологического сопровождения), где она находится по пути [буква диска]:1CItsEXEAPPEXTCOMP и осуществить регистрацию:
1). NameDecl.dll копируется в каталог с установленной платформой (например C:Program Files1cv828.2.17.143bin)
2). Вводится в командную строку следующая команда: regsvr32 «[Путь к DLL]NameDecl.dll» (где путь к dll будет приведенный выше C:Program Files1cv828.2.17.143bin). Команда выполняется соответственно под правами Администратора.
Продукты 1С
- 1С через интернет
- Лицензии 1С
- Общеотраслевые программы
- 1С: Бухгалтерия 8
- 1С: Управление торговлей 8
- 1С-КАМИН: Зарплата. Версия 5.0
- 1С: ERP Управление предприятием 2
- 1С: Зарплата и управление персоналом 8 (ЗУП)
- 1С: Комплексная автоматизация 8
- 1С: Розница 8
- 1С: Управление нашей фирмой 8
- 1С: Документооборот 8
- 1С: CRM 8
- Государственное и муниципальное управление
- Издательства и полиграфия
- Некоммерческие организации
- Образование, культура
- Общественное и плановое питание, гостиничный бизнес
- Профессиональные услуги
- Сельское и лесное хозяйство
- Страхование, Некредитные финансовые организации
- Строительство, девелопмент, ЖКХ
- Топливно-энергетический комплекс
- Торговля, склад, логистика, транспорт
- Финансовый сектор
Источник: itsreda.ru
Ошибка 1С – “Компонента V7Plus.dll не найдена”
Тот, кто долго пользуется программой 1С 7-ой версии наверняка не раз сталкивался с проблемой, когда при попытке выгрузки XML отчета появляется ошибка “Компонента V7Plus.dll не найдена”. В данной статье мы расскажем вам что делать в этом случае, чтобы устранить данную ошибку.
Причины возникновения
Данная ошибка с компонентой V7Plus.dll возникает совершенно спонтанно. Но чаще всего по причине понижения прав пользователя в системе.
В связи с этим существуют два метода решения проблемы, о которых пойдет речь ниже.
Как устранить ошибку “Компонента V7Plus.dll не найдена”?
Итак, первое, что стоит сделать, это запустить ярлык программы 1С от имени администратора.
Для этого кликаем по нему правой кнопкой мыши и выбираем “Запуск от имени администратора”.
Запуск 1С от имени администратора
Пробуем работать с программой, если ошибка не ушла, то переходим к следующему способу.
Он заключается в размещении якобы недостающего файла V7Plus.dll в определенных места и его дальнейшей регистрации в системе через командную строку.
Первым делом вам нужно найти этот самый файл V7Plus.dll. Сделать это нужно через поиск файлов в системе, который находится в меню “Пуск”.
После того, как файл нашелся, скопируйте его в следующие папки:
- C:WindowsSystem32;
- C:Program Files1CBIN;
- Папка с базой данных. при работе с которой появляется ошибка.
Если файл найти не получилось, то его можно скачать по этой ссылке.
После того, как файл V7Plus.dll скопирован во все выше указанные места, его нужно зарегистрировать в системе.
Но для начала нужно отменить все возможные предыдущие регистрации данного файла. Для этого открываем командную строку от имени администратора и поочередно вставляем туда команды:
- regsvr32 /u/s “C:WindowsSystem32V7Plus.dll”
- regsvr32 /u/s “C:Program Files1CBINV7Plus.dll”
- regsvr32 /u/s “D:DBaseBuhV7Plus.dll”
Обратите внимание, что в последних 2-ух командах пути могут отличаться. Вы должны указать свои. Во второй команде указан путь к папке с установленной 1С, а в третьей – путь к базе данных.
Исполнение команды удаления регистрации файла V7Plus.dll
В них ключ /u удаляет регистрацию файла по указанному пути, если она существует.
Теперь заново пропишем регистрации файла в операционной системе.
Для этого все в той же командной строке прописываем поочередно следующие команды:
- regsvr32 /s “C:WindowsSystem32V7Plus.dll”
- regsvr32 /s “C:Program Files1CBINV7Plus.dll”
- regsvr32 /s “D:DBaseBuhV7Plus.dll”
Как видно здесь ключ /u отсутствует.
Исполнение команды добавления регистрации файла V7Plus.dll
После этого перезагрузите компьютер и ошибки про не найденную компоненту v7plus.dll не должно быть.
А если она все таки есть, то перейдите в папку C:WindowsSystem32, найдите там файл V7Plus.dll и поставьте ему полный доступ для всех, кликнув по нему правой кнопкой мыши и выбрав “Свойства“.
Полный доступ всем к файлу V7Plus.dll
Лучшая благодарность автору — репост к себе на страничку:
Источник: helpadmins.ru
Ключевые слова: внешняя компонента, ошибка, отсутствует, CLSID, загрузка, не загружается, объект, компонента, DLL, реестр
Загрузка внешних компонент в 1С:Предприятие версии 8
ЗагрузитьВнешнююКомпоненту("E:EventsEvents.dll"); test = Новый("Addin.Events"); Сообщить(test.CreateGUID());
В отличие от 7.7 необходимо указывать полный путь к DLL (или положить файл DLL в папку BIN платформы 1С:Предприятие). Вместо СоздатьОбъект(«Addin.Имя») используется Новый(«Addin.Имя»), использовать при этом ключевое слово COMОбъект не нужно.
Хранение записей о внешних компонентах в реестре Windows
Зарегистрированная внешняя компонента хранится в реестре следующим образом.
Предположим, что у нас есть внешняя компонента E:EventsEvents.dll.
В 1С мы пишем:
ЗагрузитьВнешнююКомпоненту("e:EventsEvents.dll"); vk=СоздатьОбъект("Addin.Events");
Теперь зайдем в программу regedit.exe (Пуск-Выполнить-Regedit.exe).
Если регистрация прошла успешно, то в реестре мы увидим следующие записи (я сделал поиск по подстроке «AddIn.Events» в редакторе реестра regedit.exe, нажав сочетание клавиш Ctrl-F):
[HKEY_CLASSES_ROOTAddIn.EventsClsid] @="{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}] @="V7 AddIn 2.0" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}InprocServer32] @="E:EventsEvents.dll" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}ProgID] @="AddIn.Events"
Значение {2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397} является уникальным для каждого OLE-объекта идентификатором (CLSID). Его должен явно задать разработчик в коде внешней компоненты.
Значение ProgID, которое в нашем случае — «AddIn.Events» также задает разработчик внешней компоненты.
Чтобы в реестре появились эти записи, необходимы права доступа
Начиная с Windows 2000, обычный пользователь не имеет прав доступа к указанным выше ветвям реестра. Нужны права или администратора, или привилегированного пользователя Windows. После первой загрузки компонента пропишет себя в реестре, и ее смогут использовать и непривилегированные пользователи Windows.
Где 1С ищет внешнюю компоненту?
Если при загрузке внешней компоненты вы не указываете полный путь, такой как E:EventsEvents.dll или сетевой путь наподобие ВашСерверПапкаГдеЛежатВКEvents.dll, то 1С ищет внешние компоненты
-относительно папки 1Cv7BIN (КаталогПрограммы())
-относительно каталога информационной базы (КаталогИБ())
Метод ЗагрузитьВнешнююКомпоненту(), обнаружив ВК по новому пути, обновляет ее регистрацию в реестре
Это означает, например, что на терминальном сервере программист, который вошел в тестовую базу, где лежит ВК, и потом ее стер, оставит у всех пользователей запись в реестре о несуществующей ВК.
Аналогичная проблема — когда ВК по данному пути недоступна тем или иным пользователям.
А поскольку пользователи не имеют права на изменение записей в реестре, то у них перестанет загружаться и внешняя компонента.
В 1С:Предприятие 8.0 убрана возможность загрузки ВК относительно каталога ИБ.
В 7.7 же, чтобы избежать проблем, всегда убирайте ВК из каталога ИБ, и прописывайте полные пути (или складывайте DLL в общую для всех пользователей папку BIN).
Кардинальное решение проблемы — VKLoader
Имеется компонента VKLoader.dll (автор — Александр Орефков), которая позволяет решить проблемы с регистрацией компонент.
http://openconf.1cpp.ru/vk/vkloader/
Цитата:
«vkloader (далее ВК) — внешняя компонента для 1С-Предприятия 7.7, которая может загружаться без ее регистрации в реестре, и загружать другие внешние компоненты без их регистрации. Предназначена для беспроблемной загрузки внешних компонент пользователями, не имеющими прав на запись в HKCR ветку реестра.
Принцип работы основан на перехвате обращения 1С к WinAPI функциям CLSIDFromProgID и CoCreateInstance.
Также ВК решает проблему «зависания» процесса 1С в памяти при закрытии программы при использовании несовсем корректно написанных сторонних внешних компонент».
Пример использования vkloader:
ЗагрузитьВнешнююКомпоненту("vkloader.dll"); //регистрации не требует Загрузчик = СоздатьОбъект("ЗагрузчикВК"); Результат = Загрузчик.ЗагрузитьВК("Events.dll", "Addin.Events=2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397");
Замечу, что сама vkloader «умеет» загружать себя без прав доступа к реестру.
Еще одно решение: RegsvrEx
Автор — AlexQC.
Регистрирует компоненты (OLE-объекты) в пользовательской ветке реестра.
http://infostart.ru/projects/index.php?id=559
Пример использования:
Попытка Объект=СоздатьОбъект("cool.object"); Исключение ИмяДЛЛ=КаталогИБ()+"cool.ocx"; КомандаСистемы(КаталогИБ()+"regsvrex.exe /s /c "+ИмяДЛЛ); Попытка Объект=СоздатьОбъект("cool.object"); Исключение Сообщить("Ошибка загрузки компоненты: "+ИмяDLL,"!"); КонецПопытки; КонецПопытки;
Самая простая причина неполадок
Очень часто причиной неработоспособности любого электронного прибора является отсутствие вилки в розетке. Аналогичная ситуация возникает с внешними компонентами, поэтому при их загрузке полезно проверять, а есть ли в наличии указанный файл DLL (к сожалению, этого не делает сам движок 1С:Предприятие 7.7).
имяф="e:EventsEvents.dll"; Если фс.СуществуетФайл(имяф)=0 Тогда Сообщить("Файл не найден: "+имяф,"!"); КонецЕсли; Если ЗагрузитьВнешнююКомпоненту(имяф)=0 Тогда Сообщить("Ошибка загрузки внешней компоненты: "+имяф); КонецЕсли; vk=СоздатьОбъект("Addin.Events");
Дополнительно:
Для старта внешней компоненты DynamicModuleServer.dll на Windows Server 2003 необходимо добавить исполняемый файл (1cv7s.exe) в исключения из механизма Windows под названием DEP (Data Execution Prevention): Control Panel -> System -> Advanced ->Performance Settings ->Data Execution Prevention
См. также:
Книга знаний: PLUGIN_VKLOADER — загрузка внешних компонент без регистрации в реестре
Подключить ФР производства компании АТОЛ или Штрих-М к стандартной 1С торговле особого труда не составляет. Необходимо иметь некоторые общие представления о том, что есть драйвер и как его установить. Полезно иметь под рукой документацию по свойствам и методам драйвера по той простой причине, что нередко приходится дописывать обработки работы с оборудованием.
Описание свойств и методов драйвера ФР фирмы Штрих-М скачать здесь 2,8Мб
Описание свойств и методов драйвера ФР фирмы АТОЛ скачать здесь 2,21Мб
Драйвер фискального регистратора фирмы Штрих-М версии 4.6 можно скачать здесь 1,3Мб
Драйвер фискального регистратора фирмы АТОЛ можно скачать с сайта производителя. Необходимо найти ссылку «АТОЛ: Драйверы торгового оборудования» и скачать драйверы весом 17,4Мб. При установке выбрать режим «Установка по выбору» -> «АТОЛ: Драйвер ККМ v6.7.0».
После установки драйвера ФР в меню Пуск->Программы->Штрих-М (или АТОЛ технологии) появится тестовая утилита. Она будет называться «Тест драйвера» для Штрих-М или Драйвер ККМ для АТОЛ. С помощью этой утилиты можно отбить чек на ККМ, можно снять фискальные отчеты и т.п. Все можно сделать, или почти все. Но в первую очередь этой утилитой нужно настроить связь с кассой. Итак, запускаем утилиту:
Это главное окно. От версии к версии вид может меняться. Нас интересует кнопка «Настройка свойств». Нажмем ее:
Если нам известны параметры подключения ФР, то мы сразу можем поставить порт и скорость. Если нет, то нажимаем волшебную кнопочку «Поиск оборудования», затем «Начать поиск» и утилита сама находит на какой порт подцеплена касса и с какой скоростью работает. Касса при этом должна быть включена и подцеплена шнурочком к компьютеру.
Если параметры выставлены правильно, то щелчок по кнопке «Проверка связи» выдаст код ошибки: «0 Ошибок нет». Таймаут советую ставить 5000, для некоторых прошивок это важно, а где не важно — не помешает.
Это была описана процедура подключения ФР фирмы Штрих-М. Для АТОЛовских то же самое. Необходимо только галочку поставить «Устройство включено» в главном окне.
Если драйвер установлен и параметры связи настроены, то первый этап завершен: файлы драйвера скопированы на жесткий диск, в реестре появилась ссылка на драйвер и драйвер «запомнил», как подключена касса. Осталось настроить подключение в 1С.
Рассмотрим подключение ФР в стандартной 1С:Торговля и Склад.
Во-первых, запустите 1С и выберите «Сервис->Настройка торгового оборудования». Нам нужна закладка «Фискальный регистратор»:
Далее, нажмите галочку «Фискальный регистратор включен», выберите модель фискального регистратора в выпадающем списке. Пароли администратора и пользоваиеля обычно «30». Справа от выпадающего списка две кнопки: «Добавить новую модель фискального регистратора» — левая, и «Редактировать выбранную модель фискального регистратора» справа. Нам нужна правая. Нажимаем:
Наименование модели — просто название, не более того. Внешняя компонента — собственно сам драйвер. DrvFR.dll — драйвер для моделей ФР фирмы Штрих-М, для АТОЛовских — FPrnM1C.dll. Далее, програмный идентификатор: DrvFR (для АТОЛ FprnM45) — имя в реестре, под которым программа-инсталятор прописала драйвер. И наконец самый «сложный» параметр: обработка обслуживания фискального регистратора. Сложная в том смысле, что именно с ней связано большинство проблем. Конфигурация 1С:Торговля и склад постоянно обновляется и дорабатывается, но обработки обслуживания нередко кривые. Для примера здесь можно скачать реальную обработку обслуживания используемой мной у клиентов с фискальным регистратором Элвес ФР-К.
Как видно из рисунка, обработки бывают встроенные и внешние. Встроенную можно использовать для сканера штрих-кода, для фискального регистратора вроде нет. Внешние обработки находятся в каталоге базыExtFormsEquip. Вот две стандартные обработки, поставляемые вместе с торговлей: fr_comm.ert и fr_elves.ert. Для неопытных, при подключении советую попробовать обе. Естественно, пробовать надо на фискальном регистраторе, который не введен в эксплуатацию т.е. чеки, отбиваемые на нем, в фискальную память не попадают. Если же сие невозможно, советую ознакомится с руководством програмиста (ссылки были выше) и заглянуть в код обработки. Приведу некоторые замечания по коду:
Вот кусок функции «Подключить()»:
Если ЗагрузитьВнешнююКомпоненту(Компонента) = 0 Тогда .... Иначе Попытка Объект = СоздатьОбъект("AddIn." + ПрогИд); ....
Здесь написана команда загрузки внешней компоненты «DrvFR.dll» и, если она загружена, попытка создания объекта «Addin.DrvFR». В дальнейшем, если все прошло успешно, Работа с ФР будет идти посредством вызова свойств и методов объекта «Объект».
Рассмотрим такие строки обработки «fr_comm.ert»:
Объект.Mode = 0; Объект.Password = "0"; Объект.SetMode();
У драйвера ФР фирмы Штрих-М такого свойства «Mode» и метода «SetMode()» нет, поэтому бесполезно использовать данную обработку для ФР это фирмы. Но они есть у драйвера ФР фирмы АТОЛ.
Рассмотрим еще строки обработки «fr_comm.ert»:
Если Объект.УстройствоВключено = 1 Тогда .... Возврат Объект.ОписаниеРезультата; Если Объект.Результат <> 0 Тогда ....
Русские варианты свойств и методов не прокатывает! Их необходимо заменить на англоязычные синонимы:
Объект.Connect(); Если Объект.ResultCode = 0 Тогда // Если ошибок нет .... Возврат Объект.ResultCodeDescription; Если Объект.ResultCode <> 0 Тогда ....
Так же обратите внимание на то, как обрабатываются ставки НДС. Если Вы подключаете ФР для розничной торговли, то нужно ли Вам это?
Итак, если все поля заполнены, обработка выбрана, нажимаем кнопку «Ок»:
Нажмем «Подключить». Если вылазит сообщение вроде:
Фискальный регистратор: ошибка при подключении
не удалось загрузить внешнюю компоненту «DrvFR.dll»
скопируйте драйверы оборудования в каталог базы или в каталог 1С: «C:Program files1cv7bin». Для фискального регистратора фирмы Штрих-М скопировать придется два файла: сам драйвер «DrvFR.dll» и файл-лицензию «DrvFR.lic». После этого все должно сработать, а в меню «Сервис->Параметры» должна появиться закладка «Драйвер ФР»:
Настройки порта, скорости и тайм-аут должны быть такими, какими мы их выставили в тестовой утилите.
Наконец необходимо пользователю настроить кассу. Заходим в меню «Справочники-> Структура компании-> Кассы». Наверняка там уже будет элемент «Основная касса», отредактируем его (если такового нет то введем):
Ставим галочку «Данная касса является контрольно-кассовой машиной», выбираем режим работы ККМ «ФР». Записываем изменения и закрываем форму.
Откроем «Справочники-> Структура компании-> Пользователи». Выберем (или введем) пользователя, который будет отбивать чеки, откроем форму для редактирования, закладка «Значения по умолчанию»:
Выберем основную кассу, НДС, НП, основной склад, основной тип цен продажи — розничные.
В принципе, это все. Работа с кассой в меню «Документы -> Работа с ККМ -> Чек ККМ». В конце смены необходимо сформировать обработку «Закрытие кассовой смены» которая удалит все Чеки ККМ за смену, сформирует накладную на проданный товар и закроет смену на ККМ.
Если необходимо отбивать чеки при проведении документа «ПКО», тогда в настройке торгового оборудования необходимо поставить галочку «Используется для отражения наличных денежных расчетов».
Содержание:
1. Появление ошибки не найден файл внешней компоненты 1С
2. Исправляем данную ошибку в системе 1С
1. Появление ошибки не найден файл внешней компоненты 1С
При работе в системе 1С Предприятии 8.3 может появится сообщение о том, что не найден файл внешней компоненты 1С. Опытному программисту 1С ошибка весьма понятна, но будем действовать последовательно. Для начала нужно рассмотреть все варианты ее появления. Внешние компоненты 1С 8.3 используются для работы со сторонними сервисами:
· для банковских выписок;
· для мониторинга банков;
· для регистрации;
· для склонения имен;
· сервисом «СПАРК риски»;
· для формирования штрихкодов;
· прочими сервисами.
2. Как избавится от данной ошибки в системе 1С
Зачастую за сервисы, которые используются в базе отвечают конкретная константа и функциональная опция, поэтому в первую очередь следует проверить, установлено ли на данной константе в состояние «Истина».
Если ошибка в системе 1С появилась недавно, а до этого момента все работало нормально, предлагается почистить кэш 1С, а также перезагрузить сервер. Если данная рекомендация не помогла, следует проверить наличие регистра сведений «Кэш файлов». Для этого нужно в главном меню открыть пункт «Все функции», далее выбрать «регистры сведений», а затем найти регистр «Кэш файлов» и нажать кнопку «Очистить кэш». После этого нужно перезапустить платформу.
Если в результате данных манипуляций ошибка все еще появляется, следует проверить, как называется данная компонента в конфигураторе и зарегистрировать ее в системе Windows. Для этого нужно открыть командную строку Windows под правами администратора и использовать команду regsvr32 «<Путь к компоненте>», где «<Путь к компоненте>» – путь к компоненте (*.dll). Пример регистрации компоненты «comcntr.dll»:
После удачной регистрации компоненты обязательно нужно перезапустить службу агента 1С.
Может возникнуть вопрос, «где же взять файл компоненты?». Некоторые компоненты идут в самой поставке платформы 1С. Ярким примером такой компоненты является «comcntr.dll». Данная компонента отвечает за COM соединения, что позволяет обмениваться данными между базами и сервисами по данной технологии. Остальные компоненты зачастую предоставляются сервисами, которые вы используете.
В данной статье мы рассмотрели основные возможности устранения ошибки отсутствия файла компоненты 1С. Но важно понимать, что при работе с таким многогранным и сложным продуктом как 1С трудности возникать будут – увы, как бы хороши ни были программные решения 1С, ничто в этом мире не идеально. Поэтому если у Вас возникают вопросы, не стесняйтесь обратиться за помощью. Наши специалисты всегда рады помочь в решении сложных задач!
Спасибо за уделенное внимание и пусть Ваши дела всегда идут только в гору!
Специалист компании ООО «Кодерлайн»
Кулажевский Сергей Дмитриевич
Подключить ФР производства компании АТОЛ или Штрих-М к стандартной 1С торговле особого труда не составляет. Необходимо иметь некоторые общие представления о том, что есть драйвер и как его установить. Полезно иметь под рукой документацию по свойствам и методам драйвера по той простой причине, что нередко приходится дописывать обработки работы с оборудованием.
Описание свойств и методов драйвера ФР фирмы Штрих-М скачать здесь 2,8Мб
Описание свойств и методов драйвера ФР фирмы АТОЛ скачать здесь 2,21Мб
Драйвер фискального регистратора фирмы Штрих-М версии 4.6 можно скачать здесь 1,3Мб
Драйвер фискального регистратора фирмы АТОЛ можно скачать с сайта производителя. Необходимо найти ссылку «АТОЛ: Драйверы торгового оборудования» и скачать драйверы весом 17,4Мб. При установке выбрать режим «Установка по выбору» -> «АТОЛ: Драйвер ККМ v6.7.0».
После установки драйвера ФР в меню Пуск->Программы->Штрих-М (или АТОЛ технологии) появится тестовая утилита. Она будет называться «Тест драйвера» для Штрих-М или Драйвер ККМ для АТОЛ. С помощью этой утилиты можно отбить чек на ККМ, можно снять фискальные отчеты и т.п. Все можно сделать, или почти все. Но в первую очередь этой утилитой нужно настроить связь с кассой. Итак, запускаем утилиту:
Это главное окно. От версии к версии вид может меняться. Нас интересует кнопка «Настройка свойств». Нажмем ее:
Если нам известны параметры подключения ФР, то мы сразу можем поставить порт и скорость. Если нет, то нажимаем волшебную кнопочку «Поиск оборудования», затем «Начать поиск» и утилита сама находит на какой порт подцеплена касса и с какой скоростью работает. Касса при этом должна быть включена и подцеплена шнурочком к компьютеру.
Если параметры выставлены правильно, то щелчок по кнопке «Проверка связи» выдаст код ошибки: «0 Ошибок нет». Таймаут советую ставить 5000, для некоторых прошивок это важно, а где не важно — не помешает.
Это была описана процедура подключения ФР фирмы Штрих-М. Для АТОЛовских то же самое. Необходимо только галочку поставить «Устройство включено» в главном окне.
Если драйвер установлен и параметры связи настроены, то первый этап завершен: файлы драйвера скопированы на жесткий диск, в реестре появилась ссылка на драйвер и драйвер «запомнил», как подключена касса. Осталось настроить подключение в 1С.
Рассмотрим подключение ФР в стандартной 1С:Торговля и Склад.
Во-первых, запустите 1С и выберите «Сервис->Настройка торгового оборудования». Нам нужна закладка «Фискальный регистратор»:
Далее, нажмите галочку «Фискальный регистратор включен», выберите модель фискального регистратора в выпадающем списке. Пароли администратора и пользоваиеля обычно «30». Справа от выпадающего списка две кнопки: «Добавить новую модель фискального регистратора» — левая, и «Редактировать выбранную модель фискального регистратора» справа. Нам нужна правая. Нажимаем:
Наименование модели — просто название, не более того. Внешняя компонента — собственно сам драйвер. DrvFR.dll — драйвер для моделей ФР фирмы Штрих-М, для АТОЛовских — FPrnM1C.dll. Далее, програмный идентификатор: DrvFR (для АТОЛ FprnM45) — имя в реестре, под которым программа-инсталятор прописала драйвер. И наконец самый «сложный» параметр: обработка обслуживания фискального регистратора. Сложная в том смысле, что именно с ней связано большинство проблем. Конфигурация 1С:Торговля и склад постоянно обновляется и дорабатывается, но обработки обслуживания нередко кривые. Для примера здесь можно скачать реальную обработку обслуживания используемой мной у клиентов с фискальным регистратором Элвес ФР-К.
Как видно из рисунка, обработки бывают встроенные и внешние. Встроенную можно использовать для сканера штрих-кода, для фискального регистратора вроде нет. Внешние обработки находятся в каталоге базыExtFormsEquip. Вот две стандартные обработки, поставляемые вместе с торговлей: fr_comm.ert и fr_elves.ert. Для неопытных, при подключении советую попробовать обе. Естественно, пробовать надо на фискальном регистраторе, который не введен в эксплуатацию т.е. чеки, отбиваемые на нем, в фискальную память не попадают. Если же сие невозможно, советую ознакомится с руководством програмиста (ссылки были выше) и заглянуть в код обработки. Приведу некоторые замечания по коду:
Вот кусок функции «Подключить()»:
Если ЗагрузитьВнешнююКомпоненту(Компонента) = 0 Тогда .... Иначе Попытка Объект = СоздатьОбъект("AddIn." + ПрогИд); ....
Здесь написана команда загрузки внешней компоненты «DrvFR.dll» и, если она загружена, попытка создания объекта «Addin.DrvFR». В дальнейшем, если все прошло успешно, Работа с ФР будет идти посредством вызова свойств и методов объекта «Объект».
Рассмотрим такие строки обработки «fr_comm.ert»:
Объект.Mode = 0; Объект.Password = "0"; Объект.SetMode();
У драйвера ФР фирмы Штрих-М такого свойства «Mode» и метода «SetMode()» нет, поэтому бесполезно использовать данную обработку для ФР это фирмы. Но они есть у драйвера ФР фирмы АТОЛ.
Рассмотрим еще строки обработки «fr_comm.ert»:
Если Объект.УстройствоВключено = 1 Тогда .... Возврат Объект.ОписаниеРезультата; Если Объект.Результат <> 0 Тогда ....
Русские варианты свойств и методов не прокатывает! Их необходимо заменить на англоязычные синонимы:
Объект.Connect(); Если Объект.ResultCode = 0 Тогда // Если ошибок нет .... Возврат Объект.ResultCodeDescription; Если Объект.ResultCode <> 0 Тогда ....
Так же обратите внимание на то, как обрабатываются ставки НДС. Если Вы подключаете ФР для розничной торговли, то нужно ли Вам это?
Итак, если все поля заполнены, обработка выбрана, нажимаем кнопку «Ок»:
Нажмем «Подключить». Если вылазит сообщение вроде:
Фискальный регистратор: ошибка при подключении
не удалось загрузить внешнюю компоненту «DrvFR.dll»
скопируйте драйверы оборудования в каталог базы или в каталог 1С: «C:Program files1cv7bin». Для фискального регистратора фирмы Штрих-М скопировать придется два файла: сам драйвер «DrvFR.dll» и файл-лицензию «DrvFR.lic». После этого все должно сработать, а в меню «Сервис->Параметры» должна появиться закладка «Драйвер ФР»:
Настройки порта, скорости и тайм-аут должны быть такими, какими мы их выставили в тестовой утилите.
Наконец необходимо пользователю настроить кассу. Заходим в меню «Справочники-> Структура компании-> Кассы». Наверняка там уже будет элемент «Основная касса», отредактируем его (если такового нет то введем):
Ставим галочку «Данная касса является контрольно-кассовой машиной», выбираем режим работы ККМ «ФР». Записываем изменения и закрываем форму.
Откроем «Справочники-> Структура компании-> Пользователи». Выберем (или введем) пользователя, который будет отбивать чеки, откроем форму для редактирования, закладка «Значения по умолчанию»:
Выберем основную кассу, НДС, НП, основной склад, основной тип цен продажи — розничные.
В принципе, это все. Работа с кассой в меню «Документы -> Работа с ККМ -> Чек ККМ». В конце смены необходимо сформировать обработку «Закрытие кассовой смены» которая удалит все Чеки ККМ за смену, сформирует накладную на проданный товар и закроет смену на ККМ.
Если необходимо отбивать чеки при проведении документа «ПКО», тогда в настройке торгового оборудования необходимо поставить галочку «Используется для отражения наличных денежных расчетов».
Ключевые слова: внешняя компонента, ошибка, отсутствует, CLSID, загрузка, не загружается, объект, компонента, DLL, реестр
Загрузка внешних компонент в 1С:Предприятие версии 8
ЗагрузитьВнешнююКомпоненту("E:EventsEvents.dll"); test = Новый("Addin.Events"); Сообщить(test.CreateGUID());
В отличие от 7.7 необходимо указывать полный путь к DLL (или положить файл DLL в папку BIN платформы 1С:Предприятие). Вместо СоздатьОбъект(«Addin.Имя») используется Новый(«Addin.Имя»), использовать при этом ключевое слово COMОбъект не нужно.
Хранение записей о внешних компонентах в реестре Windows
Зарегистрированная внешняя компонента хранится в реестре следующим образом.
Предположим, что у нас есть внешняя компонента E:EventsEvents.dll.
В 1С мы пишем:
ЗагрузитьВнешнююКомпоненту("e:EventsEvents.dll"); vk=СоздатьОбъект("Addin.Events");
Теперь зайдем в программу regedit.exe (Пуск-Выполнить-Regedit.exe).
Если регистрация прошла успешно, то в реестре мы увидим следующие записи (я сделал поиск по подстроке «AddIn.Events» в редакторе реестра regedit.exe, нажав сочетание клавиш Ctrl-F):
[HKEY_CLASSES_ROOTAddIn.EventsClsid] @="{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}] @="V7 AddIn 2.0" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}InprocServer32] @="E:\Events\Events.dll" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}ProgID] @="AddIn.Events"
Значение {2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397} является уникальным для каждого OLE-объекта идентификатором (CLSID). Его должен явно задать разработчик в коде внешней компоненты.
Значение ProgID, которое в нашем случае — «AddIn.Events» также задает разработчик внешней компоненты.
Чтобы в реестре появились эти записи, необходимы права доступа
Начиная с Windows 2000, обычный пользователь не имеет прав доступа к указанным выше ветвям реестра. Нужны права или администратора, или привилегированного пользователя Windows. После первой загрузки компонента пропишет себя в реестре, и ее смогут использовать и непривилегированные пользователи Windows.
Где 1С ищет внешнюю компоненту?
Если при загрузке внешней компоненты вы не указываете полный путь, такой как E:EventsEvents.dll или сетевой путь наподобие \ВашСерверПапкаГдеЛежатВКEvents.dll, то 1С ищет внешние компоненты
-относительно папки 1Cv7BIN (КаталогПрограммы())
-относительно каталога информационной базы (КаталогИБ())
Метод ЗагрузитьВнешнююКомпоненту(), обнаружив ВК по новому пути, обновляет ее регистрацию в реестре
Это означает, например, что на терминальном сервере программист, который вошел в тестовую базу, где лежит ВК, и потом ее стер, оставит у всех пользователей запись в реестре о несуществующей ВК.
Аналогичная проблема — когда ВК по данному пути недоступна тем или иным пользователям.
А поскольку пользователи не имеют права на изменение записей в реестре, то у них перестанет загружаться и внешняя компонента.
В 1С:Предприятие 8.0 убрана возможность загрузки ВК относительно каталога ИБ.
В 7.7 же, чтобы избежать проблем, всегда убирайте ВК из каталога ИБ, и прописывайте полные пути (или складывайте DLL в общую для всех пользователей папку BIN).
Кардинальное решение проблемы — VKLoader
Имеется компонента VKLoader.dll (автор — Александр Орефков), которая позволяет решить проблемы с регистрацией компонент.
http://openconf.1cpp.ru/vk/vkloader/
Цитата:
«vkloader (далее ВК) — внешняя компонента для 1С-Предприятия 7.7, которая может загружаться без ее регистрации в реестре, и загружать другие внешние компоненты без их регистрации. Предназначена для беспроблемной загрузки внешних компонент пользователями, не имеющими прав на запись в HKCR ветку реестра.
Принцип работы основан на перехвате обращения 1С к WinAPI функциям CLSIDFromProgID и CoCreateInstance.
Также ВК решает проблему «зависания» процесса 1С в памяти при закрытии программы при использовании несовсем корректно написанных сторонних внешних компонент».
Пример использования vkloader:
ЗагрузитьВнешнююКомпоненту("vkloader.dll"); //регистрации не требует Загрузчик = СоздатьОбъект("ЗагрузчикВК"); Результат = Загрузчик.ЗагрузитьВК("Events.dll", "Addin.Events=2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397");
Замечу, что сама vkloader «умеет» загружать себя без прав доступа к реестру.
Еще одно решение: RegsvrEx
Автор — AlexQC.
Регистрирует компоненты (OLE-объекты) в пользовательской ветке реестра.
http://infostart.ru/projects/index.php?id=559
Пример использования:
Попытка Объект=СоздатьОбъект("cool.object"); Исключение ИмяДЛЛ=КаталогИБ()+"cool.ocx"; КомандаСистемы(КаталогИБ()+"regsvrex.exe /s /c "+ИмяДЛЛ); Попытка Объект=СоздатьОбъект("cool.object"); Исключение Сообщить("Ошибка загрузки компоненты: "+ИмяDLL,"!"); КонецПопытки; КонецПопытки;
Самая простая причина неполадок
Очень часто причиной неработоспособности любого электронного прибора является отсутствие вилки в розетке. Аналогичная ситуация возникает с внешними компонентами, поэтому при их загрузке полезно проверять, а есть ли в наличии указанный файл DLL (к сожалению, этого не делает сам движок 1С:Предприятие 7.7).
имяф="e:EventsEvents.dll"; Если фс.СуществуетФайл(имяф)=0 Тогда Сообщить("Файл не найден: "+имяф,"!"); КонецЕсли; Если ЗагрузитьВнешнююКомпоненту(имяф)=0 Тогда Сообщить("Ошибка загрузки внешней компоненты: "+имяф); КонецЕсли; vk=СоздатьОбъект("Addin.Events");
Дополнительно:
Для старта внешней компоненты DynamicModuleServer.dll на Windows Server 2003 необходимо добавить исполняемый файл (1cv7s.exe) в исключения из механизма Windows под названием DEP (Data Execution Prevention): Control Panel -> System -> Advanced ->Performance Settings ->Data Execution Prevention
См. также:
Книга знаний: PLUGIN_VKLOADER — загрузка внешних компонент без регистрации в реестре