Ошибка при вызове конструктора wsпрокси 1с

   Ivan_495

26.09.15 — 20:36

ИмяWEBСервиса=»Proba»;

    
    
    
    URIПространстваИмен=»http://www.sample-package.org»;;

    
    ИмяТочкиПодключения=ИмяWEBСервиса+»Soap»;

    
    
    
    АдресWebСервиса=»http://localhost/BDBUH/ws/Proba.cws?wsdl»;;

    
    
    Определения=НОвый WSОпределения(АдресWebСервиса,»Prog»,»1″);

    
    Попытка

    Прокси=Новый WSПрокси(Определения,URIПространстваИмен,ИмяWEBСервиса,ИмяТочкиПодключения);

    Исключение

    Сообщить(ОписаниеОшибки());

    Возврат;

КонецПопытки;

    Прокси.Пользователь=»….»;

    Прокси.Пароль=»…»;

    
    Данные=Прокси.Получить(2);

   Ivan_495

2 — 26.09.15 — 20:38

при выполнении

Прокси=Новый WSПрокси(Определения,URIПространстваИмен,ИмяWEBСервиса,ИмяТочкиПодключения)

ошибка

{Форма.Форма.Форма(20)}: Ошибка при вызове конструктора (WSПрокси)

    Прокси=Новый WSПрокси(Определения,URIПространстваИмен,ИмяWEBСервиса,ИмяТочкиПодключения);

по причине:

Сервис не найден. {http://www.sample-package.org}:Proba

  

Ivan_495

3 — 27.09.15 — 15:16

если у кого работает web-сервис покажите свою строку подключения к прокси?

WSПрокси(Определения,URIПространстваИмен,ИмяWEBСервиса,ИмяТочкиПодключения);

ошибки при определении «Прокси»

Я

  

david-sh

27.03.14 — 13:22

У нас работает одна база с URI пространством имен http://localhost/ws1 — работает, с ней все отлично, кроме того что она сильно увеличена в размерах

Сделали копию этой базы с удалением лишних записей по регистрации и назначили ей URI пространством имен http://localhost/ws3

Далее при получении Прокси в функции:

ПолучитьПрокси(Пароль) Экспорт

    

    Адрес = Константы.АдресЦентральнойБазы.Получить();

    Пользователь = Константы.ПользовательЦентральнойБазы.Получить();

    

    Адрес = Адрес + «/ws/ws3.1cws?wsdl»;

    Определения = Новый WSОпределения(Адрес,Пользователь,Пароль);    

    URI = «http://localhost/ws3»;;

    
   Прокси = Новый WSПрокси(Определения, URI, «ОбменСМобильнымУстройством», «ОбменСМобильнымУстройствомSoap»);

выдает такую ошибку:

{ОбщийМодуль.ОбменМобильныеПереопределяемый.Модуль(39)}: Ошибка при вызове конструктора (WSПрокси)

    Прокси = Новый WSПрокси(Определения, URI, «ОбменСМобильнымУстройством», «ОбменСМобильнымУстройствомSoap»);

по причине:

Сервис не найден. {http://localhost/ws3}:ОбменСМобильнымУстройством

Что ей не так???

  

cw014

1 — 27.03.14 — 13:22

Эммм, а почему localhost?

  

david-sh

2 — 27.03.14 — 14:23

а что должно быть?

  

cw014

3 — 27.03.14 — 14:24

Если я не ошибаюсь, то «Адрес = Константы.АдресЦентральнойБазы.Получить();»

  

Serginio1

4 — 27.03.14 — 15:16

  

david-sh

5 — 27.03.14 — 15:18

адрес у нас такойАдрес = Константы.АдресЦентральнойБазы.Получить();

Адрес = Адрес + «/ws/ws3.1cws?wsdl»;

  

david-sh

6 — 27.03.14 — 15:18

адрес у нас такой:

Адрес = Константы.АдресЦентральнойБазы.Получить();

Адрес = Адрес + «/ws/ws3.1cws?wsdl»;

  

Serginio1

7 — 27.03.14 — 15:25

Судя по ошибке и приведенному коду у тебя другой путь

   URI = «http://localhost/ws3;

    
   Прокси = Новый WSПрокси(Определения, URI, «ОбменСМобильнымУстройством», «ОбменСМобильнымУстройствомSoap»);

  

cw014

8 — 27.03.14 — 15:28

(6) Ошибаешься, адрес у тебя в URI, а у тебя ясно сказано, что это localhost

  

Serginio1

9 — 27.03.14 — 15:29

Прошу прощения спутал с пространством имен. А оно точно http://localhost/ws3

  

Serginio1

10 — 27.03.14 — 15:32

Посмотри

WSСервис=Определения.Сервисы[0];

    прокси=Новый WSПрокси(Определения, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя);

  

david-sh

11 — 27.03.14 — 15:46

{ОбщийМодуль.ОбменМобильныеПереопределяемый.Модуль(55)}: Ошибка при вызове конструктора (WSОпределения)

Определения = Новый WSОпределения(Адрес,Пользователь,Пароль);    

по причине:

При создании описания сервиса произошла ошибка. http://Трус:xxxxxxx@Адрес/ws/ws3.1cws?wsdl

  

dj_serega

12 — 27.03.14 — 15:49

Вроде с такой ошибкой когда-то сталкивался.

Посмотри совпадает ли:

Адрес = Адрес + «/ws/ws3.1cws?wsdl»;

с URI web-сервиса (куда подключаешся).

  

Serginio1

13 — 27.03.14 — 15:59

(11) Тогда адрес у тебя неправильный. Смотри default.vrd

  

Serginio1

14 — 27.03.14 — 16:02

Для начала зайди через браузер

  

david-sh

15 — 27.03.14 — 16:23

default.vrd

<?xml version=»1.0″ encoding=»UTF-8″?>

<point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»;

        xmlns:xs=»http://www.w3.org/2001/XMLSchema»;

        xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»;

        base=»/provit_mini»

        ib=»Srvr=&quot;pvbsrv1&quot;;Ref=&quot;provit_test_full&quot;;»>

    <ws>

        <point name=»ОбменСМобильнымУстройством»

                alias=»ws3.1cws»

                enable=»true»/>

    </ws>

</point>

  

david-sh

16 — 27.03.14 — 16:24

через браузер все ок

  

Serginio1

17 — 27.03.14 — 16:36

(16) Тогда почему у тебя в 0 не ругался на WSОпределения?

То есть адрес у тебя должен быть такой

АдресВэбСервиса=http://ИмяСервера/provit_mini/ws/ws3.1cws?wsdl»;

  

david-sh

18 — 31.03.14 — 11:38

немного разобрался. удалось подключиться с базы мобильного приложения (конфигурации в которой разрабатывается мобильное), указывал адрес 192.168.1.xx/Имя_базы. Собрали apk файл, установил на планшет приложение, запустил, ввел тот же адрес — получаю ошибку: Ошибка разбора XML: -[1,1] Фатальная ошибка: Extra content at the end of the document.

что может быть?

  

Serginio1

19 — 31.03.14 — 12:06

А настольного компа вызов происходит?

  

Serginio1

20 — 31.03.14 — 12:13

  

david-sh

21 — 31.03.14 — 12:54

(19) с настольного компа вызов проходит

Создал тестовую версию и на локалке запустил — всё работает, обменивается и прочее (win7 x32 и сервер 8.3.5.1248 и клиент + Apache). Решил попробовать в реале: win2008 x64, Apache, 8.3.4.408 сервер и 8.3.5.1248 клиент. soapUI показывает, что сервис работает и отдаёт правильные данные, по прямой ссылке wsdl тоже ходит и выдаёт правильные данные. Думал може проблема, что по внутренней ссылке хожу, по внешней тоже сервис не найден. Подключаюсь через WSСсылки и ИмпортWSDL делаю — в WSDL сервис прекрасно видит и все определения. При попытке подключения выдаёт: Сервис не найден. Что не так?

думаю ошибка в именах типов, точки входа итд. Когда делал свой сервис 1с сама сгенерила 2 точки входа и дала им свои имена

попробуй через WSОпределения посмотреть что известно о сервисе

Определения.Сервисы — массив из одной позиции WSСсылка:(

Это конец рабочего сервиса:

Ну и обращаю внимание, что импортWSDL работает корректно и сервис отдаёт и пакет XDTO и все определения. А подключаться не хочет

— рабочая версия не как xml в хроме открывается — как xml открывается в chrome, но не работает с 1с

Я вот думаю или сервер переустановить 1с до последней версии или может проблема с x32 и х64. А ещё Apache один младше версии, а другой старше.

Apache одинаковый, правда на win2008 x64 стоит x32 — ну http же отрабатывает, думаю не из-за этого.

Переустановил 1С выдача тепрерь одинаковая, а проблема сохраняется. Хм…

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Создал тестовую версию и на локалке запустил — всё работает, обменивается и прочее (win7 x32 и сервер 8.3.5.1248 и клиент + Apache).

Версии Apache одинаковые, только один на OSx32, а другой на OSx64 стоит. Думаю дело не в этом.

Решил попробовать в реале:
win2008 x64, Apache, 8.3.4.408 сервер и 8.3.5.1248 клиент.
soapUI показывает, что сервис работает и отдаёт правильные данные, по прямой ссылке wsdl тоже ходит и выдаёт правильные данные. Думал може проблема, что по внутренней ссылке хожу, по внешней тоже сервис не найден.

Подключаюсь через WSСсылки и ИмпортWSDL делаю — в WSDL сервис прекрасно видит и все определения.

Фото выдачи сервисом по wsdl ссылке (заголовки, но смотрим как отображается в chrome):
То что делал тестово работает так:

http://s3.postimg.org/rm51gd0ab/image.png

— рабочая версия не как xml в хроме открывается
На рабочей версии базы 1с

http://s8.postimg.org/mhekye01x/image.png

— как xml открывается в chrome, но не работает с 1с клиентом
Кодировка заголовков файлов видимо отдаётся по разному, т.к. русские буквы отображаются по разному. Отсюда видимо проблема с версиями 1С.

Способ подключения в обоих случаях одинаковый:

Код: выделить все
Прокси = WSСсылки.УПП2013.СоздатьWSПрокси("http://" + Строка(Константы.ПроксиСервер.Получить()), "torgonator", "torgonatorSoap");
   Прокси.Пользователь=Константы.Пользователь.Получить();
   Прокси.Пароль=Константы.Пароль.Получить();

Конец wsdl рабочего варианта сервиса:

Код: выделить все
<service name="WebBew">
        <port name="WebBewSoap"
                binding="tns:WebBewSoapBinding">
            <documentation>
                <wsi:Claim xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/"" target="_blank" rel="nofollow" class="extralink">http://ws-i.org/schemas/conformanceClaim/";

                        conformsTo="http://ws-i.org/profiles/basic/1.1"/>" target="_blank" rel="nofollow" class="extralink">http://ws-i.org/profiles/basic/1.1"/>;

            </documentation>
            <soapbind:address location="http://127.0.0.1/tp/ws/tp.1cws"/>" target="_blank" rel="nofollow" class="extralink">http://127.0.0.1/tp/ws/tp.1cws"/>;

        </port>
        <port name="WebBewSoap12"
                binding="tns:WebBewSoap12Binding">
            <soap12bind:address location="http://127.0.0.1/tp/ws/tp.1cws"/>" target="_blank" rel="nofollow" class="extralink">http://127.0.0.1/tp/ws/tp.1cws"/>;

        </port>
    </service>

Конец wsdl не рабочего варианта сервиса:

Код: выделить все
<service name="torgonator">
        <port name="torgonatorSoap"
                binding="tns:torgonatorSoapBinding">
            <documentation>
                <wsi:Claim xmlns:wsi="http://ws-i.org/schemas/conformanceClaim/"" target="_blank" rel="nofollow" class="extralink">http://ws-i.org/schemas/conformanceClaim/";

                        conformsTo="http://ws-i.org/profiles/basic/1.1"/>" target="_blank" rel="nofollow" class="extralink">http://ws-i.org/profiles/basic/1.1"/>;

            </documentation>
            <soapbind:address location="http://192.168.1.99/torgonator/ws/torgonator.1cws"/>" target="_blank" rel="nofollow" class="extralink">http://192.168.1.99/torgonator/ws/torgonator.1cws"/>;

        </port>
        <port name="torgonatorSoap12"
                binding="tns:torgonatorSoap12Binding">
            <soap12bind:address location="http://192.168.1.99/torgonator/ws/torgonator.1cws"/>" target="_blank" rel="nofollow" class="extralink">http://192.168.1.99/torgonator/ws/torgonator.1cws"/>;

        </port>
    </service>
</definitions>

При попытке подключения выдаёт: Сервис не найден.

Что не так?

Автор Сообщение

[Post New]20/12/2017 11:39:48

    

Тема: Re:Интеграция с 1С

[Up]

СергейА

Зарегистрирован: 30/10/2017 19:34:19
Сообщений: 61

Оффлайн


Добрый день.

У кого версия 1С 8.2 — может кто-то нашел решение:

следующий код:

Определения = Новый WSОпределения(«http://api.vetrf.ru/schema/platform/services/2.0-RC-last/ams-mercury-g2b.service_v2.0_pilot.wsdl»);

Прокси = Новый WSПрокси(Определения, «http://api.vetrf.ru/schema/cdm/application/service», «ApplicationManagementServiceBindingQSService», «ApplicationManagementServiceBindingQSPort»);

Возникает ошибка:

{Форма.Форма.Форма(5)}: Ошибка при вызове конструктора (WSОпределения)

Определения = Новый WSОпределения(«http://api.vetrf.ru/schema/platform/services/2.0-RC-last/ams-mercury-g2b.service_v2.0_pilot.wsdl»);

по причине:

При создании описания сервиса произошла ошибка.

по причине:

Неправильный путь к файлу ‘ApplicationManagementService_v1.1.wsdl’

Версия платформы 8.2.19.130 и переходить на версию 8.3 не планируется, уже вроде все облазил, но решения нормального найти не могу. Кроме как не использовать динамическое описание ws-ссылки — нет способа решить проблему?


[Post New]20/12/2017 11:58:51

    

Тема: Re:Интеграция с 1С

[Up]

lalex23

Зарегистрирован: 10/03/2016 14:26:10
Сообщений: 374

Оффлайн

СергейА wrote:Добрый день.

У кого версия 1С 8.2 — может кто-то нашел решение:

http://vetrf.ru/vetrf-forum/posts/list/285/6955.page#43830


[Post New]20/12/2017 12:48:51

    

Тема: Re:Интеграция с 1С

[Up]

СергейА

Зарегистрирован: 30/10/2017 19:34:19
Сообщений: 61

Оффлайн


Спасибо!


[Post New]20/12/2017 13:59:37

    

Тема: Re:Интеграция с 1С

[Up]

kolganov50@mail.ru

Зарегистрирован: 18/12/2017 20:41:37
Сообщений: 3

Оффлайн


попробовал запрос по интервалу, все равно ошибка( то же самое при поиске по идентификатору)

<?xml version=»1.0″ encoding=»UTF-8″?>

<SOAP-ENV:Envelope xmlns:dt=»http://api.vetrf.ru/schema/cdm/dictionary/v2″ xmlns:merc=»http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2″ xmlns:apldef=»http://api.vetrf.ru/schema/cdm/application/ws-definitions» xmlns:apl=»http://api.vetrf.ru/schema/cdm/application» xmlns:vd=»http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2″ xmlns:bs=»http://api.vetrf.ru/schema/cdm/base» xmlns:SOAP-ENV=»http://schemas.xmlsoap.org/soap/envelope/»><SOAP-ENV:Header/><SOAP-ENV:Body><apldef:submitApplicationRequest><apldef:apiKey>…</apldef:apiKey><apl:application><apl:serviceId>mercury-g2b.service:2.0</apl:serviceId><apl:issuerId>…</apl:issuerId><apl:issueDate>2017-12-20T13:53:30</apl:issueDate><apl:data><merc:getVetDocumentChangesListRequest><merc:localTransactionId>a100013</merc:localTransactionId><merc:initiator><vd:login>kolganov_ve_171023</vd:login></merc:initiator><bs:listOptions><bs:count>5</bs:count></bs:listOptions><bs:updateDateInterval><bs:beginDate>2017-12-15T13:53:30</bs:beginDate><bs:endDate>2017-12-16T13:53:30</bs:endDate></bs:updateDateInterval><dt:enterpriseGuid>80cd0344-ba4b-46d3-b58b-65717de11ecb</dt:enterpriseGuid></merc:getVetDocumentChangesListRequest></apl:data></apl:application></apldef:submitApplicationRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>

получаю

faultstring>BEA-382513: OSB Replace action failed updating variable «body»: Error parsing XML: {err}FORG0005: expected exactly one item, got 0 items</faultstring>


[Post New]21/12/2017 12:43:46

    

Тема: Интеграция с 1С

[Up]

Sergey-Chelny

[Avatar]

Зарегистрирован: 07/09/2017 17:33:44
Сообщений: 101

Оффлайн


К подключению к тестовому серверу используется порт 8002, а к боевому 433 ? Ничего не изменилось ?
Кто хочет, тот ищет возможности, кто не хочет — ищет причины.


[Post New]21/12/2017 13:03:44

    

Тема: Интеграция с 1С

[Up]

lalex23

Зарегистрирован: 10/03/2016 14:26:10
Сообщений: 374

Оффлайн

Sergey-Chelny wrote:К подключению к тестовому серверу используется порт 8002, а к боевому 433 ? Ничего не изменилось ?

вроде нет, сейчас пинаю тестовый, а с рабочим уже полтора года всё работает


[Post New]21/12/2017 13:11:53

    

Тема: Интеграция с 1С

[Up]

Sergey-Chelny

[Avatar]

Зарегистрирован: 07/09/2017 17:33:44
Сообщений: 101

Оффлайн


Хммм…. Переходим с тестового на боевой. При попытке загрузить входящие партии выдает ошибку: «Ошибка работы с Интернет: Не могу установить соединение». Вот и думаю, может что изменилось, а я не в курсе.
Кто хочет, тот ищет возможности, кто не хочет — ищет причины.


[Post New]21/12/2017 13:16:20

    

Тема: Re:Интеграция с 1С

[Up]

Павел Большаков

[Avatar]

Зарегистрирован: 25/05/2017 10:01:41
Сообщений: 368

От: Контур.Меркурий

Оффлайн


У нас как правило это либо закрыты порты — пинаем админа, либо неудачная версия платформы 1С (баги в SSL в платформе)

Это сообщение было редактировано 1 раз. Последнее обновление произошло в 21/12/2017 13:16:41

https://kontur.ru/mercury


[WWW]

[Post New]21/12/2017 13:30:16

    

Тема: Интеграция с 1С

[Up]

lalex23

Зарегистрирован: 10/03/2016 14:26:10
Сообщений: 374

Оффлайн

Sergey-Chelny wrote:Хммм…. Переходим с тестового на боевой. При попытке загрузить входящие партии выдает ошибку: «Ошибка работы с Интернет: Не могу установить соединение». Вот и думаю, может что изменилось, а я не в курсе.

платформа не 8.2.19.76 ? у нас именно на ней были проблемы, пришлось переводить на 8.2.19.103


[Post New]21/12/2017 14:23:50

    

Тема: Интеграция с 1С

[Up]

Sergey-Chelny

[Avatar]

Зарегистрирован: 07/09/2017 17:33:44
Сообщений: 101

Оффлайн


Платформа 8.3.10.2561

Админ бъет себя в грудь что порт 433 открыт.

В вебе при обращении к «https://api2.vetrf.ru:8002/platform/services/ApplicationManagementService» просит авторизоаться, а при обращении «https://api2.vetrf.ru:433/platform/services/ApplicationManagementService» долго думает и выдает ошибку. Ту-пи-к какой то

Кто хочет, тот ищет возможности, кто не хочет — ищет причины.


[Post New]21/12/2017 14:28:46

    

Тема: Re:Интеграция с 1С

[Up]

СергейА

Зарегистрирован: 30/10/2017 19:34:19
Сообщений: 61

Оффлайн


«https://api2.vetrf.ru:433/platform/services/ApplicationManagementService» — это же не путь к боевому? «https://api.vetrf.ru:433/platform/services/ApplicationManagementService» — больше похоже на путь к боевому


[Post New]21/12/2017 14:38:05

    

Тема: Re:Интеграция с 1С

[Up]

mevgenym

Зарегистрирован: 19/05/2017 14:03:42
Сообщений: 312

Оффлайн


в wsdl все написано, смотрите в конце файла
https://github.com/mevgenym/1c_vetis.api_v1.1

https://github.com/mevgenym/1c_vetis.api


[Post New]21/12/2017 21:52:21

    

Тема: Re:Интеграция с 1С

[Up]

gni

Зарегистрирован: 13/10/2016 14:31:18
Сообщений: 49

Оффлайн


А разве порт не 443?

СергейА wrote:«https://api2.vetrf.ru:433/platform/services/ApplicationManagementService» — это же не путь к боевому? «https://api.vetrf.ru:433/platform/services/ApplicationManagementService» — больше похоже на путь к боевому


[Post New]22/12/2017 08:21:09

    

Тема: Re:Интеграция с 1С

[Up]

gni

Зарегистрирован: 13/10/2016 14:31:18
Сообщений: 49

Оффлайн


Здравствуйте!

Подскажите, в чем может быть дело. Пытаюсь зарегистрировать продукцию в Меркурии. Почему-то запрос в тестовой базе работает, а в рабочем Меркурии возвращает ошибку:

<env:Envelope xmlns:env=»http://schemas.xmlsoap.org/soap/envelope/»><env:Header/><env:Body><receiveApplicationResultResponse xmlns=»http://api.vetrf.ru/schema/cdm/application/ws-definitions»><application xmlns=»http://api.vetrf.ru/schema/cdm/application»><applicationId>d86b9955-48a6-4e6a-b412-e4f1ec32e52f</applicationId><status>REJECTED</status><serviceId>mercury-g2b.service</serviceId><issuerId>issuerId</issuerId><issueDate>2017-12-22T00:59:24.000+03:00</issueDate><rcvDate>2017-12-22T07:56:42.000+03:00</rcvDate><prdcRsltDate>2017-12-22T07:56:42.000+03:00</prdcRsltDate><errors><apl:error code=»APLM0002″ xmlns:apl=»http://api.vetrf.ru/schema/cdm/application»>Unsupported application data format</apl:error></errors></application></receiveApplicationResultResponse></env:Body></env:Envelope>

Отправляемый запрос:

<Envelope xmlns=»http://schemas.xmlsoap.org/soap/envelope/» xmlnss=»http://www.w3.org/2001/XMLSchema» xmlnssi=»http://www.w3.org/2001/XMLSchema-instance»>

<Body>

<submitApplicationRequest xmlns=»http://api.vetrf.ru/schema/cdm/application/ws-definitions»>

<apiKey>apiKey</apiKey>

<application xmlns=»http://api.vetrf.ru/schema/cdm/application»>

<serviceId>mercury-g2b.service:2.0</serviceId>

<issuerId>issuerId</issuerId>

<issueDate>2017-12-22T00:59:24</issueDate>

<data>

<modifyProducerStockListRequest xmlns=»http://api.vetrf.ru/schema/cdm/mercury/g2b/applications/v2″>

<localTransactionId>123456</localTransactionId>

<initiator xmlns:d7p1=»http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2″>

<d7p1:login>login</d7p1:login>

</initiator>

<modificationOperation xmlns:d7p1=»http://api.vetrf.ru/schema/cdm/mercury/vet-document/v2″>

<d7p1:type>CREATE</d7p1:type>

<d7p1:resultingList xmlns:d8p1=»http://api.vetrf.ru/schema/cdm/dictionary/v2″>

<d8p1:productItem>

<d8p1:name>Наша продукция</d8p1:name>

<d8p1:productType>5</d8p1:productType>

<d8p1:product>

<guid xmlns=»http://api.vetrf.ru/schema/cdm/base»>e9fa27c7-c0e0-2f64-308c-c6409de238ae</guid>

</d8p1:product>

<d8p1:subProduct>

<guid xmlns=»http://api.vetrf.ru/schema/cdm/base»>7da301dd-d0d0-4180-5bc4-ce0a4111afcd</guid>

</d8p1:subProduct>

<d8p1:producer>

<guid xmlns=»http://api.vetrf.ru/schema/cdm/base»>issuerId</guid>

</d8p1:producer>

</d8p1:productItem>

</d7p1:resultingList>

</modificationOperation>

</modifyProducerStockListRequest>

</data>

</application>

</submitApplicationRequest>

</Body>

</Envelope>

Спасибо.


[Post New]22/12/2017 10:40:43

    

Тема: Re:Интеграция с 1С

[Up]

rty

Зарегистрирован: 22/11/2017 10:05:33
Сообщений: 146

Оффлайн


Подскажите, при гашении ВСД получаю:

MERC14245: Так как маркировка в сведениях о принимаемой партии не совпадает с указанной в ветеринарно-сопроводительном документе, то необходимо указать причину в акте о несоответствии.

Пишу

в delivery/consignment, говорит

APLM0007: Wrong application data format. Format validation failed due to XML Schema rules: Элемент ‘productMarks’ не предусмотрен.

Чего ему надо?

Решил сам, не было секции packingType

Это сообщение было редактировано 2 раз. Последнее обновление произошло в 22/12/2017 10:55:25


Обновлено 14.10.2020

1СДобрый день! Уважаемые читатели и гости популярного компьютерного блога pyatilistnik.org. В прошлый раз мы с вами решили ошибку » db query error please try later», и восстановили работу сайта на платформе 1С Битрикс. Сегодня я хочу поделиться небольшой заметкой, как выйти из ситуации, когда не работает кнопка «Заполнить по ИНН» в Справочнике Контрагенты при создании нового. Выдается ошибка «ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198): Ошибка при вызове конструктора (WSОпределения) WSОпределения = Новый(Тип(«WSОпределения»). Давайте разбираться в чем собственно дело.

Причины ошибок с модулем 198-504

Вся проблема связана с неправильным и устаревшим сертификатом, это бывает если вы давно не обновляли свою версию 1С, а в этот момент как раз истек срок сертификата, который участвует в подключении к внешним сервисам, например, npchk.nalog.ru или api.orgregister.1c.ru.

Вот так вот выглядит более полный текст ошибки:

Не работает кнопка «Заполнить по ИНН» в Справочнике Контрагенты при создании нового.

Выдает ошибку:

{ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198)}: Ошибка при вызове конструктора (WSОпределения)

WSОпределения = Новый(Тип(«WSОпределения»), Параметры);

по причине:

При вызове веб-сервиса произошла ошибка. При создании описания сервиса произошла ошибка. URL сервиса: https://api.orgregister.1c.ru/orgregister/v7?wsdl

по причине:

Ошибка работы с Интернет: Удаленный узел не прошел проверку

ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198)

Комментарий: {ОбщийМодуль. ОбщегоНазначения. Модуль (5303)}: Ошибка при вызове конструктора (WSОпределения)
Определения = Новый WSОпределения (ИмяФайлаWSDL, ИмяПользователя, Пароль, ИнтернетПрокси, Таймаут);
по причине:
Ошибка импорта схемы
по причине:
Ошибка при выполнении файловой операции ‘_ttp://npchk.nalog.ru:80/FNSNDSCAWS_2?xsd=1’
по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504).

10060 — Ошибка соединения с сервером

HOST — npchk.nalog.ru[81.177.31.8]; PORT — 80
Connection timed outTraffic Inspector HTTP/FTP/Proxy server (3.0.2.912)

по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504)

Как решить проблему

В случае клиент-серверной версии необходимо добавить сертификат Digicert как на сервере, так и на всех клиентах. Добавлять стоит способом, описанным в пункту 1 или 3. Перегружать сервер после обновления cacert.pem не нужно.

  • Самым быстрым методом? будет замена сертификата cacert.pem, который располагается в папке с вашим клиентом. Скачать cacert.pem можно о официального сайта по ссылке:

https://its.1c.ru/db/files/1CITS/EXE/cacert/cacert.zip

Загрузка cacert.pem

В итоге у вас будет архив с сертификатом cacert.pem, распакуйте его. Далее, откройте вашего клиента, где вы получаете ошибку при вызове конструктора WSОпределения. И перейдите по пути:

C:Program Files (x86)1cv88.3.11.3034bin это в случае с версией 8.3.11.3034

Ошибка при вызове конструктора-02

Если вы теряетесь в своих версиях, то попробуйте произвести поиск по cacert.pem в папке C:Program Files (x86) и посмотрите, где у вас нужно подменить, этот файл. Меняете его на свежий и радуетесь жизни.

Ошибка при вызове конструктора-03

  • Второй метод, заключается в использовании обработки в 1С. Скачайте файл обработка.epf

https://its.1c.ru/db/files/1CITS/EXE/digicert_epf/digicert_epf.zip

ОБЯЗАТЕЛЬНО запустите его от имени администратора, иначе можете получить ошибку:

Ошибка записи сертификата. Возможно:
— Файл cacert.pem занят. Освободите файл от редактирования и запустите обработку заново.
— Закройте 1С: Предприятие и запустите с правами администратора операционной системы

  • Ну и третий метод, это редактирование текущего файла cacert.pem. Откройте его текстовым редактором и в самом конце файла вставьте содержимое файла digicert.pem, который можно скачать тут:

https://its.1c.ru/db/files/1CITS/EXE/digicert/digicert.zip

Ошибка при вызове конструктора-04

Код такой: Ошибка такая: {Обработка.ВыгрузкаОтчета_WS.МодульОбъекта}: Ошибка при вызове конструктора (WSПрокси) по причине: Порт не найден. { Гугл не помог, может тут помогут.

проблема была в том, что я писал +»SOAP», а нужно было +»Soap»

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

В этой группе 1С

Обновлено 14.10.2020

1СДобрый день! Уважаемые читатели и гости популярного компьютерного блога pyatilistnik.org. В прошлый раз мы с вами решили ошибку » db query error please try later», и восстановили работу сайта на платформе 1С Битрикс. Сегодня я хочу поделиться небольшой заметкой, как выйти из ситуации, когда не работает кнопка «Заполнить по ИНН» в Справочнике Контрагенты при создании нового. Выдается ошибка «ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198): Ошибка при вызове конструктора (WSОпределения) WSОпределения = Новый(Тип(«WSОпределения»). Давайте разбираться в чем собственно дело.

Причины ошибок с модулем 198-504

Вся проблема связана с неправильным и устаревшим сертификатом, это бывает если вы давно не обновляли свою версию 1С, а в этот момент как раз истек срок сертификата, который участвует в подключении к внешним сервисам, например, npchk.nalog.ru или api.orgregister.1c.ru.

Вот так вот выглядит более полный текст ошибки:

Не работает кнопка «Заполнить по ИНН» в Справочнике Контрагенты при создании нового.

Выдает ошибку:

{ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198)}: Ошибка при вызове конструктора (WSОпределения)

WSОпределения = Новый(Тип(«WSОпределения»), Параметры);

по причине:

При вызове веб-сервиса произошла ошибка. При создании описания сервиса произошла ошибка. URL сервиса: https://api.orgregister.1c.ru/orgregister/v7?wsdl

по причине:

Ошибка работы с Интернет: Удаленный узел не прошел проверку

ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198)

Комментарий: {ОбщийМодуль. ОбщегоНазначения. Модуль (5303)}: Ошибка при вызове конструктора (WSОпределения)
Определения = Новый WSОпределения (ИмяФайлаWSDL, ИмяПользователя, Пароль, ИнтернетПрокси, Таймаут);
по причине:
Ошибка импорта схемы
по причине:
Ошибка при выполнении файловой операции ‘_ttp://npchk.nalog.ru:80/FNSNDSCAWS_2?xsd=1’
по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504).

10060 — Ошибка соединения с сервером

HOST — npchk.nalog.ru[81.177.31.8]; PORT — 80
Connection timed outTraffic Inspector HTTP/FTP/Proxy server (3.0.2.912)

по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504)

Как решить проблему

В случае клиент-серверной версии необходимо добавить сертификат Digicert как на сервере, так и на всех клиентах. Добавлять стоит способом, описанным в пункту 1 или 3. Перегружать сервер после обновления cacert.pem не нужно.

  • Самым быстрым методом? будет замена сертификата cacert.pem, который располагается в папке с вашим клиентом. Скачать cacert.pem можно о официального сайта по ссылке:

https://its.1c.ru/db/files/1CITS/EXE/cacert/cacert.zip

Загрузка cacert.pem

В итоге у вас будет архив с сертификатом cacert.pem, распакуйте его. Далее, откройте вашего клиента, где вы получаете ошибку при вызове конструктора WSОпределения. И перейдите по пути:

C:Program Files (x86)1cv88.3.11.3034bin это в случае с версией 8.3.11.3034

Ошибка при вызове конструктора-02

Если вы теряетесь в своих версиях, то попробуйте произвести поиск по cacert.pem в папке C:Program Files (x86) и посмотрите, где у вас нужно подменить, этот файл. Меняете его на свежий и радуетесь жизни.

Ошибка при вызове конструктора-03

  • Второй метод, заключается в использовании обработки в 1С. Скачайте файл обработка.epf

https://its.1c.ru/db/files/1CITS/EXE/digicert_epf/digicert_epf.zip

ОБЯЗАТЕЛЬНО запустите его от имени администратора, иначе можете получить ошибку:

Ошибка записи сертификата. Возможно:
— Файл cacert.pem занят. Освободите файл от редактирования и запустите обработку заново.
— Закройте 1С: Предприятие и запустите с правами администратора операционной системы

  • Ну и третий метод, это редактирование текущего файла cacert.pem. Откройте его текстовым редактором и в самом конце файла вставьте содержимое файла digicert.pem, который можно скачать тут:

https://its.1c.ru/db/files/1CITS/EXE/digicert/digicert.zip

Ошибка при вызове конструктора-04

Обновлено: 29.01.2023

Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.

Особенности

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

Убедиться в причине ошибки возможно, если посмотреть логи системы.

Устранение:

  • на сервере убиваем excel (taskkill /im excel.exe /f)
  • открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
  • в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
  • справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.

Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае

  1. Запускаем REGEDIT
  2. Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
  3. Создаем в ней строковый параметр AppID =
  4. Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
  5. После этого в Component Services должен появиться «Microsoft Excel Application»

Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.

Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.

Так что нельзя однозначно сказать, что же решило проблему.

Заключение

В большинстве случаев уйти от дополнительной настройки операционной системы возможно, если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.

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

Бывает такое: вы прописываете для компонента пользователя и пароль.

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

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

— Денев Катрин

Добрго времени!
Подскажите, как привильно сделать синхронизацию контрагентов между 1С и сайтом используя веб-сервисы. При создании контрагента на сайте — он должен быть передан в 1С и наоборот, при создании в 1С — передать на сайт. Конфигурация самописная(эмитирует торговлю)

Далее оздал обработку и привзал к событию нажтия кнопки вышеуказанную функцию.
Ввылетает ошибка:
: Ошибка при вызове метода контекста (Obmen)
РезультатОбмена = ПроксиСервер.Obmen();
по причине:
Ошибка вызова операции сервиса: :WebService:Obmen()
по причине:
Ошибка SOAP сервера: Неизвестная ошибка. : Значение не является значением объектного типа (Добавить)
по причине:
: Значение не является значением объектного типа (Добавить)

Что не хватает? Как реализовать обратный обмен из сайта в 1С?? Нужно ли создвать специальную web-обработку для этих целей на языке PHP?

(3) Manticor, проверьте отладчиком, правильно ли у вас заполняются свойства «Код» и «Номенклатура»в строке

(4) VBod, кстати не могу войти в отладчик — как будто на сервер пытаюсь зайти в серверном фарианте)), у меня на форме кнопка, на ней такая процедура

КонецПроцедуры // ()
обмен уже приводил выше. Как отладку включить?))

(7) Manticor, а обработка вызова Web-Сервиса у вас расположена в той же базе, где и сам Web-Сервис что-ли?

(9) Manticor, а что бы запустить отладчик, нужно в каталоге публикации вашего сервиса на Apache открыть файл default.vrd и перед строкой

Затем в конфигураторе, в меню «Отладка» > «Подключение» > «Автоматическое подключение» установить флажок напротив пункта «Web-Сервисы». После этого можно ставить точку останова в вашей процедуре Obmen и вызывать сервис обработкой из другой базы.
Только учтите, что редактировать файл default.vrd нужно уже после публикации Web-Сервиса, т.к. при публикации он заменяется на создаваемый Apache по умолчанию.

(11) VBod, (10) VBod, сделал все как Вы и сказали, создал чистую базу, туда перенес обработку.
Единтсвенное — убрал аутентификацию, поскольку вроде с ней не работает).
В итоге код такой:

Но зато заработал после добавлени функции отладки первоначальный код — отладчик выполняет функцию obmen, однако после вызова выводится ошибка:

(12) Manticor, как-то странно, как у вас мог заработать отладчик, если на строке получения прокси, пишет что сервис не найден?
Можете показать, что у вас в настройках публикации на веб-сервере и на закладках «Операции» и «Прочее» в настройках самого веб-сервиса?

(14) Manticor, в веб-сервисе на закладке «Прочее» в «URI пространства имен» установите значение «http://www.sample-package.org».
И в коде у вас должно быть так:

(15) VBod, попробовал сделать так. Поставил аутентификацию — также как и было.

(17) VBod, спасибо большое Вам, вроде без ошибок работает, тоесть сейчас при выполнении РезультатыИмпорта имеет такие данные(скрин приложил).
Что еще нужно сделать(добавить) для полноценной синхронизации контрагентов между 1С и сайтом и наоборот??

Сейчас на выходе у нас лишь объект XDTO.

(18) Manticor, ну теперь доделывайте передачу остальных реквизитов, которые вам нужны и делайте на сайте вызов этого веб-сервиса. Неплохо бы сделать, что бы в ответ веб-сервис возвращал данные с подтверждением удачной загрузки или ошибку в случае неудачной, что позволит в случае ошибки отправлять данные повторно. Продумайте предварительную проверку (перед загрузкой), существования контрагента, это позволит избежать дублей. Затем пишите веб-сервис на сайте, для передачи контрагентов из 1С на сайт. Плюс читайте (5) и (6).

Вот с сайта в 1С как раз лучше выгружать используя Web-Сервис созданный в 1С. Т.е. вы сейчас создаете в 1С Web-сервис, который будет не передавать контрагентов на сайт, а наоборот принимать их с сайта. Это удобнее т.к. на сайте вы можете привязать вызов этого Web-сервиса к событию создания контрагента, таким образом создание контрагента в 1С у вас будет происходить практически синхронно вместе с его созданием на сайте.

(1) Manticor, а вот на сайте уже нужно будет разработать еще один Web-Сервис на PHP, который будет создавать контрагентов. Затем при создании контрагента в 1С, нужно будет вызвать этот Web-Сервис и в параметрах передавать ему данные нового контрагента. Только не забудьте учесть, что в 1С, контрагент может быть как создан, так и удален или его данные могут быть изменены, поэтому нужно учесть возможность удаления и изменения контрагентов на сайте, если они изменяются или удаляются в 1С.

Лучше создайте пустую базу и там разместите обработку вызывающую ваш Web-Сервис. И вызывайте его лучше не через статическую WS-Ссылку, а динамически:

&НаСервере
Процедура ИмпортВебСервис()

Определения = Новый WSОпределения(«http://109.195.230.156/test/ws/WebService?wsdl»);
Прокси = Новый WSПрокси(Определения, «http://www.my.org», «WebService», «WebServiceSoap»);
РезультатыИмпорта = Прокси.Obmen();
КонецПроцедуры

При исполнении получаю:Метод объекта не обнаружен (Obmen)
На сервисе операция obmen есть

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


Значит дело было так. Появилась необходимость подключаться к базам по com соединению, для анализа тамошних объектов метаданных. Проблема оказалась в том, что базы могли работать на разных версиях 1С. Пошел в интернет, искал, читал, но все фигня, в оновном все предлагают держать базы на одной версии, что для меня было невозможным.

Кроме, вот этой статьи. Огромное спасибо автору (Леонид Кириенко) и zakiap

Тут уже интересней, но есть пару минусов

1) 1С должна работать от имени учетки с админскими правами.

2) «Варварское» поведение по отношению dllhost.exe

3) Могут возникнуть проблемы при одновременном обращении к базам на разных версиях.

Но, как оказалось, самым для меня полезным, оказалась не сама статья, а один из комментариев к ней.

Если присмотрется, то видно, что у него создано несколько оберток для разных версий. Увидев этот коммент, я тут же обрадовался, думал сейчас все расскажут. Но не тут то было, показать, показал, а рассказать забыл)

Инструкция

1. Идем «Панель управления» — «Администрирование» — «Службы компонентов»

2. В оснастке служб компонентов, «Службы компонентов» — «Компьютеры» — «Мой компьютер» — «Приложения COM+»

3. Создаем новое приложение, правой кнопкой по «Приложения COM+» — «Создать» — «Приложение»

4. Выбираем «Создать новое приложение», называем например «1cv8», тип выбираем «Библиотечное приложение»

должно полчуить так

5. Раскрываем «1cv8», правой кнопкой по «Компоненты» — «Создать» — «Компонент».

6. Выбираем вариант «Установка новых компонентов», находим нашу библиотеку comcntr.dll

Находится она в катлоге BIN установленной платформы, у меня например путь такой

«C:Program Files (x86)1cv88.3.10.2168bincomcntr.dll»

должны получить следующую картину

7. Правой кнопкой по «V83.COMConnector.1» — «Псевдоним. «, меняем наименование с «CopyOf.V83.COMConnector.1» на «V83.COMConnector_8.3.9.2033». Данное действие проделываем для всех нужных версий платформ.

8. Открываем «regedit» через пуск или команду «Выполнить», нажимаем F3 и указываем для поиска строку с наименованием созданой нами обертки, например «V83.COMConnector_8.3.9.2033». Или использум для поиска CLSID созданной обертки.

9. Ищем значение в ветке «HKEY_LOCAL_MACHINE» у меня путь такой HKEY_LOCAL_MACHINESOFTWAREClassesWow6432NodeCLSID выглядеть должно так

В ветке «InprocServer32» меняем значение у меня, «C:Program Files (x86)1cv88.3.10.2168bincomcntr.dll» на путь к нужной версии длл, в данном случае «C:Program Files (x86)1cv88.3.9.2033bincomcntr.dll».

Данное дейстие проделываем для всех созданных оберток.

Все готово) Для подключения к конкретной версии базы, в 1С теперь нужно использовать следующую конструкцию

В файлах утилита, которая выполнит все эти действия автоматически. Подходит для тех у кого 1С лежит в каталоге

«C:Program Files (x86)1cv8». У кого что то отличается, вот ссылка на GitHub . Запустить утилиту нужно от имени администратора. Надеюсь данный материал будет вам полезен)

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Готовые переносы данных

Алкогольная декларация

54-ФЗ

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

Маркетплейсы и 1С

Траектория обучения 1С-разработчика

Управление проектом на Инфостарте

При регистрации библиотек из разных версий 8.3, в одном СОМ приложении, возможно подключиться только к одной из версий.
(15) Решил проблему, создав компоненты в отдельных приложениях СОМ

Спасибо за статью. Мне она помогла, но если просто сделать как написано, возникали ошибки. Куча комментариев с разными ошибками не дали быстрого решения как именно сделать настройки. Предлагаю слегка скорректированный алгоритм. (*) — измененные шаги. В нем нет последних шагов по работе с реестром. У меня сработало на двух серверах.
Если автор посчитает возможным — можно было бы перенести в шапку.

1. Идем «Панель управления» — «Администрирование» — «Службы компонентов»
2. В оснастке служб компонентов, «Службы компонентов» — «Компьютеры» — «Мой компьютер» — «Приложения COM+»
3. Создаем новое приложение, правой кнопкой по «Приложения COM+» — «Создать» — «Приложение»
4*. Выбираем «Создать новое приложение», называем например «1cv8», тип выбираем «Серверное приложение»,
Учетная запись — Текущий пользователь, Пользователь с ролью Owner — поставил администратора компьютера (сервера).
(без этого возможна ошибка -2147024769(0x8007007F): Не найдена указанная процедура)
5*. Нажимаем правой кнопкой по ветке 1cv8 – Свойства – Безопасность:
— Снимаем галку «Принудительная проверка доступа для приложений»
— Ставим галку «Применить политику программных ограничений»
— Уровень ограничений «Неограниченный»
(без этого возможна ошибка -2147024891(0x80070005): Отказано в доступе)
6. Раскрываем «1cv8», правой кнопкой по «Компоненты» — «Создать» — «Компонент».
7. Выбираем вариант «Установка новых компонентов», находим нашу библиотеку comcntr.dll (той версии платформы, к которой надо будет подключаться)
-* Если установка платформы на сервер не требуется, то достаточно скопировать в некую папку на сервере все содержимое папки bin соответствующей платформы и указать comcntr.dll из этой папки
8. Правой кнопкой по «V83.COMConnector.1» — «Псевдоним. «, меняем наименование с «CopyOf.V83.COMConnector.1» на «V83.COMConnector_8.3.9.2033». Данное действие проделываем для всех нужных версий платформ.

Вот так вот выглядит более полный текст ошибки:

WSОпределения = Новый(Тип(«WSОпределения»), Параметры);

Ошибка работы с Интернет: Удаленный узел не прошел проверку

ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198)

10060 — Ошибка соединения с сервером

по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504)

Как решить проблему

В случае клиент-серверной версии необходимо добавить сертификат Digicert как на сервере, так и на всех клиентах. Добавлять стоит способом, описанным в пункту 1 или 3. Перегружать сервер после обновления cacert.pem не нужно.

Загрузка cacert.pem

В итоге у вас будет архив с сертификатом cacert.pem, распакуйте его. Далее, откройте вашего клиента, где вы получаете ошибку при вызове конструктора WSОпределения. И перейдите по пути:

Ошибка при вызове конструктора-02

Если вы теряетесь в своих версиях, то попробуйте произвести поиск по cacert.pem в папке C:Program Files (x86) и посмотрите, где у вас нужно подменить, этот файл. Меняете его на свежий и радуетесь жизни.

Ошибка при вызове конструктора-03

  • Второй метод, заключается в использовании обработки в 1С. Скачайте файл обработка.epf

ОБЯЗАТЕЛЬНО запустите его от имени администратора, иначе можете получить ошибку:

Ошибка записи сертификата. Возможно:
— Файл cacert.pem занят. Освободите файл от редактирования и запустите обработку заново.
— Закройте 1С: Предприятие и запустите с правами администратора операционной системы

Использование COMOбъектов в 1С это прошлый век, сейчас уже ни кто так не пишет. Раньше с его помощью реализовали печать документов. Они выгружались в OpenLibre Office и от туда уже печатались.

Появиться такая ошибка может после

1 Обновления платформы

2 Переустановки ОС и 1С

3 Обновление конфигурации

4 Проблем с офисными пакетами

Это самые распространенные.

Три способа избавиться от ошибки «Ошибка при вызове конструктора…»

И так после каких либо манипуляций с 1С у вас стала появляться ошибка.

Первый способ

Самое простое это переустановить офисные пакеты OpenLibre, так же как вариант если у вас стоял Open поставить Libre и на оборот. Это нужно для того чтобы обновить специальный компонент.

Второй способ

Попробовать зарегистрировать самостоятельно, для этого запускаем командную строку от имени администратора, переходим в каталог введя команду.

regsvr32 «C:Program Files (x86)1cv88.3.16.18.14comcntr.dll»

Кстати данную манипуляцию нужно проводить на сервере.

Третий способ

Установить 32 битную версию клиента 1С, можно даже поверх х64. В итоге у вас появиться два ярлычка для запуска, один для х32 второй х64.

Ошибка при вызове конструктора (COMOбъект)

Версию можно указать и в ярлыке запуска 1С.

Можно еще попробовать самостоятельно создать COM + , но лично из своего опыта могу сказать это не помогает. Самый действенный вариант это установка х32 клиента. Так как компонента которая необходимо работает только с х32.

Так же проблема может быть непосредственно в самом коде.

Ошибка (COMOбъект) : 1 комментарий

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

Читайте также:

  • Конструктор 60138 city police стремительная погоня lego
  • Лего музей в лондоне
  • Правильное название деталей лего
  • Производители конструкторов типа лего
  • Lego битва капитана америка с гидрой

Обновлено: 08.04.2023

Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.

Особенности

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

Убедиться в причине ошибки возможно, если посмотреть логи системы.

Устранение:

  • на сервере убиваем excel (taskkill /im excel.exe /f)
  • открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
  • в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
  • справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.

Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае

  1. Запускаем REGEDIT
  2. Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
  3. Создаем в ней строковый параметр AppID =
  4. Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
  5. После этого в Component Services должен появиться «Microsoft Excel Application»

Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.

Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.

Так что нельзя однозначно сказать, что же решило проблему.

Заключение

В большинстве случаев уйти от дополнительной настройки операционной системы возможно, если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.

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

Бывает такое: вы прописываете для компонента пользователя и пароль.

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

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

— Денев Катрин

Добрго времени!
Подскажите, как привильно сделать синхронизацию контрагентов между 1С и сайтом используя веб-сервисы. При создании контрагента на сайте — он должен быть передан в 1С и наоборот, при создании в 1С — передать на сайт. Конфигурация самописная(эмитирует торговлю)

Далее оздал обработку и привзал к событию нажтия кнопки вышеуказанную функцию.
Ввылетает ошибка:
: Ошибка при вызове метода контекста (Obmen)
РезультатОбмена = ПроксиСервер.Obmen();
по причине:
Ошибка вызова операции сервиса: :WebService:Obmen()
по причине:
Ошибка SOAP сервера: Неизвестная ошибка. : Значение не является значением объектного типа (Добавить)
по причине:
: Значение не является значением объектного типа (Добавить)

Что не хватает? Как реализовать обратный обмен из сайта в 1С?? Нужно ли создвать специальную web-обработку для этих целей на языке PHP?

(3) Manticor, проверьте отладчиком, правильно ли у вас заполняются свойства «Код» и «Номенклатура»в строке

(4) VBod, кстати не могу войти в отладчик — как будто на сервер пытаюсь зайти в серверном фарианте)), у меня на форме кнопка, на ней такая процедура

КонецПроцедуры // ()
обмен уже приводил выше. Как отладку включить?))

(7) Manticor, а обработка вызова Web-Сервиса у вас расположена в той же базе, где и сам Web-Сервис что-ли?

(9) Manticor, а что бы запустить отладчик, нужно в каталоге публикации вашего сервиса на Apache открыть файл default.vrd и перед строкой

Затем в конфигураторе, в меню «Отладка» > «Подключение» > «Автоматическое подключение» установить флажок напротив пункта «Web-Сервисы». После этого можно ставить точку останова в вашей процедуре Obmen и вызывать сервис обработкой из другой базы.
Только учтите, что редактировать файл default.vrd нужно уже после публикации Web-Сервиса, т.к. при публикации он заменяется на создаваемый Apache по умолчанию.

(11) VBod, (10) VBod, сделал все как Вы и сказали, создал чистую базу, туда перенес обработку.
Единтсвенное — убрал аутентификацию, поскольку вроде с ней не работает).
В итоге код такой:

Но зато заработал после добавлени функции отладки первоначальный код — отладчик выполняет функцию obmen, однако после вызова выводится ошибка:

(12) Manticor, как-то странно, как у вас мог заработать отладчик, если на строке получения прокси, пишет что сервис не найден?
Можете показать, что у вас в настройках публикации на веб-сервере и на закладках «Операции» и «Прочее» в настройках самого веб-сервиса?

(14) Manticor, в веб-сервисе на закладке «Прочее» в «URI пространства имен» установите значение «http://www.sample-package.org».
И в коде у вас должно быть так:

(15) VBod, попробовал сделать так. Поставил аутентификацию — также как и было.

(17) VBod, спасибо большое Вам, вроде без ошибок работает, тоесть сейчас при выполнении РезультатыИмпорта имеет такие данные(скрин приложил).
Что еще нужно сделать(добавить) для полноценной синхронизации контрагентов между 1С и сайтом и наоборот??

Сейчас на выходе у нас лишь объект XDTO.

(18) Manticor, ну теперь доделывайте передачу остальных реквизитов, которые вам нужны и делайте на сайте вызов этого веб-сервиса. Неплохо бы сделать, что бы в ответ веб-сервис возвращал данные с подтверждением удачной загрузки или ошибку в случае неудачной, что позволит в случае ошибки отправлять данные повторно. Продумайте предварительную проверку (перед загрузкой), существования контрагента, это позволит избежать дублей. Затем пишите веб-сервис на сайте, для передачи контрагентов из 1С на сайт. Плюс читайте (5) и (6).

Вот с сайта в 1С как раз лучше выгружать используя Web-Сервис созданный в 1С. Т.е. вы сейчас создаете в 1С Web-сервис, который будет не передавать контрагентов на сайт, а наоборот принимать их с сайта. Это удобнее т.к. на сайте вы можете привязать вызов этого Web-сервиса к событию создания контрагента, таким образом создание контрагента в 1С у вас будет происходить практически синхронно вместе с его созданием на сайте.

(1) Manticor, а вот на сайте уже нужно будет разработать еще один Web-Сервис на PHP, который будет создавать контрагентов. Затем при создании контрагента в 1С, нужно будет вызвать этот Web-Сервис и в параметрах передавать ему данные нового контрагента. Только не забудьте учесть, что в 1С, контрагент может быть как создан, так и удален или его данные могут быть изменены, поэтому нужно учесть возможность удаления и изменения контрагентов на сайте, если они изменяются или удаляются в 1С.

Лучше создайте пустую базу и там разместите обработку вызывающую ваш Web-Сервис. И вызывайте его лучше не через статическую WS-Ссылку, а динамически:

&НаСервере
Процедура ИмпортВебСервис()

Определения = Новый WSОпределения(«http://109.195.230.156/test/ws/WebService?wsdl»);
Прокси = Новый WSПрокси(Определения, «http://www.my.org», «WebService», «WebServiceSoap»);
РезультатыИмпорта = Прокси.Obmen();
КонецПроцедуры

При исполнении получаю:Метод объекта не обнаружен (Obmen)
На сервисе операция obmen есть

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


Значит дело было так. Появилась необходимость подключаться к базам по com соединению, для анализа тамошних объектов метаданных. Проблема оказалась в том, что базы могли работать на разных версиях 1С. Пошел в интернет, искал, читал, но все фигня, в оновном все предлагают держать базы на одной версии, что для меня было невозможным.

Кроме, вот этой статьи. Огромное спасибо автору (Леонид Кириенко) и zakiap

Тут уже интересней, но есть пару минусов

1) 1С должна работать от имени учетки с админскими правами.

2) «Варварское» поведение по отношению dllhost.exe :)

3) Могут возникнуть проблемы при одновременном обращении к базам на разных версиях.

Но, как оказалось, самым для меня полезным, оказалась не сама статья, а один из комментариев к ней.

Если присмотрется, то видно, что у него создано несколько оберток для разных версий. Увидев этот коммент, я тут же обрадовался, думал сейчас все расскажут. Но не тут то было, показать, показал, а рассказать забыл)

Инструкция

1. Идем «Панель управления» — «Администрирование» — «Службы компонентов»

2. В оснастке служб компонентов, «Службы компонентов» — «Компьютеры» — «Мой компьютер» — «Приложения COM+»

3. Создаем новое приложение, правой кнопкой по «Приложения COM+» — «Создать» — «Приложение»

4. Выбираем «Создать новое приложение», называем например «1cv8», тип выбираем «Библиотечное приложение»

должно полчуить так

5. Раскрываем «1cv8», правой кнопкой по «Компоненты» — «Создать» — «Компонент».

6. Выбираем вариант «Установка новых компонентов», находим нашу библиотеку comcntr.dll

Находится она в катлоге BIN установленной платформы, у меня например путь такой

«C:Program Files (x86)1cv88.3.10.2168bincomcntr.dll»

должны получить следующую картину

7. Правой кнопкой по «V83.COMConnector.1» — «Псевдоним. «, меняем наименование с «CopyOf.V83.COMConnector.1» на «V83.COMConnector_8.3.9.2033». Данное действие проделываем для всех нужных версий платформ.

8. Открываем «regedit» через пуск или команду «Выполнить», нажимаем F3 и указываем для поиска строку с наименованием созданой нами обертки, например «V83.COMConnector_8.3.9.2033». Или использум для поиска CLSID созданной обертки.

9. Ищем значение в ветке «HKEY_LOCAL_MACHINE» у меня путь такой HKEY_LOCAL_MACHINESOFTWAREClassesWow6432NodeCLSID выглядеть должно так

В ветке «InprocServer32» меняем значение у меня, «C:Program Files (x86)1cv88.3.10.2168bincomcntr.dll» на путь к нужной версии длл, в данном случае «C:Program Files (x86)1cv88.3.9.2033bincomcntr.dll».

Данное дейстие проделываем для всех созданных оберток.

Все готово) Для подключения к конкретной версии базы, в 1С теперь нужно использовать следующую конструкцию

В файлах утилита, которая выполнит все эти действия автоматически. Подходит для тех у кого 1С лежит в каталоге

«C:Program Files (x86)1cv8». У кого что то отличается, вот ссылка на GitHub . Запустить утилиту нужно от имени администратора. Надеюсь данный материал будет вам полезен)

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Готовые переносы данных

Алкогольная декларация

54-ФЗ

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

Маркетплейсы и 1С

Траектория обучения 1С-разработчика

Управление проектом на Инфостарте

При регистрации библиотек из разных версий 8.3, в одном СОМ приложении, возможно подключиться только к одной из версий.
(15) Решил проблему, создав компоненты в отдельных приложениях СОМ

Спасибо за статью. Мне она помогла, но если просто сделать как написано, возникали ошибки. Куча комментариев с разными ошибками не дали быстрого решения как именно сделать настройки. Предлагаю слегка скорректированный алгоритм. (*) — измененные шаги. В нем нет последних шагов по работе с реестром. У меня сработало на двух серверах.
Если автор посчитает возможным — можно было бы перенести в шапку.

1. Идем «Панель управления» — «Администрирование» — «Службы компонентов»
2. В оснастке служб компонентов, «Службы компонентов» — «Компьютеры» — «Мой компьютер» — «Приложения COM+»
3. Создаем новое приложение, правой кнопкой по «Приложения COM+» — «Создать» — «Приложение»
4*. Выбираем «Создать новое приложение», называем например «1cv8», тип выбираем «Серверное приложение»,
Учетная запись — Текущий пользователь, Пользователь с ролью Owner — поставил администратора компьютера (сервера).
(без этого возможна ошибка -2147024769(0x8007007F): Не найдена указанная процедура)
5*. Нажимаем правой кнопкой по ветке 1cv8 – Свойства – Безопасность:
— Снимаем галку «Принудительная проверка доступа для приложений»
— Ставим галку «Применить политику программных ограничений»
— Уровень ограничений «Неограниченный»
(без этого возможна ошибка -2147024891(0x80070005): Отказано в доступе)
6. Раскрываем «1cv8», правой кнопкой по «Компоненты» — «Создать» — «Компонент».
7. Выбираем вариант «Установка новых компонентов», находим нашу библиотеку comcntr.dll (той версии платформы, к которой надо будет подключаться)
-* Если установка платформы на сервер не требуется, то достаточно скопировать в некую папку на сервере все содержимое папки bin соответствующей платформы и указать comcntr.dll из этой папки
8. Правой кнопкой по «V83.COMConnector.1» — «Псевдоним. «, меняем наименование с «CopyOf.V83.COMConnector.1» на «V83.COMConnector_8.3.9.2033». Данное действие проделываем для всех нужных версий платформ.

Вот так вот выглядит более полный текст ошибки:

WSОпределения = Новый(Тип(«WSОпределения»), Параметры);

Ошибка работы с Интернет: Удаленный узел не прошел проверку

ОбщийМодуль.ОбщегоНазначенияПовтИсп.Модуль(198)

10060 — Ошибка соединения с сервером

по причине:
Ошибка работы с Интернет: произошел таймаут при ожидании ответа шлюзу (504)

Как решить проблему

В случае клиент-серверной версии необходимо добавить сертификат Digicert как на сервере, так и на всех клиентах. Добавлять стоит способом, описанным в пункту 1 или 3. Перегружать сервер после обновления cacert.pem не нужно.

Загрузка cacert.pem

В итоге у вас будет архив с сертификатом cacert.pem, распакуйте его. Далее, откройте вашего клиента, где вы получаете ошибку при вызове конструктора WSОпределения. И перейдите по пути:

Ошибка при вызове конструктора-02

Если вы теряетесь в своих версиях, то попробуйте произвести поиск по cacert.pem в папке C:Program Files (x86) и посмотрите, где у вас нужно подменить, этот файл. Меняете его на свежий и радуетесь жизни.

Ошибка при вызове конструктора-03

  • Второй метод, заключается в использовании обработки в 1С. Скачайте файл обработка.epf

ОБЯЗАТЕЛЬНО запустите его от имени администратора, иначе можете получить ошибку:

Ошибка записи сертификата. Возможно:
— Файл cacert.pem занят. Освободите файл от редактирования и запустите обработку заново.
— Закройте 1С: Предприятие и запустите с правами администратора операционной системы

Использование COMOбъектов в 1С это прошлый век, сейчас уже ни кто так не пишет. Раньше с его помощью реализовали печать документов. Они выгружались в OpenLibre Office и от туда уже печатались.

Появиться такая ошибка может после

1 Обновления платформы

2 Переустановки ОС и 1С

3 Обновление конфигурации

4 Проблем с офисными пакетами

Это самые распространенные.

Три способа избавиться от ошибки «Ошибка при вызове конструктора…»

И так после каких либо манипуляций с 1С у вас стала появляться ошибка.

Первый способ

Самое простое это переустановить офисные пакеты OpenLibre, так же как вариант если у вас стоял Open поставить Libre и на оборот. Это нужно для того чтобы обновить специальный компонент.

Второй способ

Попробовать зарегистрировать самостоятельно, для этого запускаем командную строку от имени администратора, переходим в каталог введя команду.

regsvr32 «C:Program Files (x86)1cv88.3.16.18.14comcntr.dll»

Кстати данную манипуляцию нужно проводить на сервере.

Третий способ

Установить 32 битную версию клиента 1С, можно даже поверх х64. В итоге у вас появиться два ярлычка для запуска, один для х32 второй х64.

Ошибка при вызове конструктора (COMOбъект)

Версию можно указать и в ярлыке запуска 1С.

Можно еще попробовать самостоятельно создать COM + , но лично из своего опыта могу сказать это не помогает. Самый действенный вариант это установка х32 клиента. Так как компонента которая необходимо работает только с х32.

Так же проблема может быть непосредственно в самом коде.

Ошибка (COMOбъект) : 1 комментарий

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

Читайте также:

  • Конструктор 60138 city police стремительная погоня lego
  • Лего музей в лондоне
  • Правильное название деталей лего
  • Производители конструкторов типа лего
  • Lego битва капитана америка с гидрой

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Ошибка при вызове конструктора httpсоединение установлен безопасный режим
  • Ошибка при вызове внутренней функции outlook 2016
  • Ошибка при вызове конструктора ftpсоединение
  • Ошибка при вызове pkcs7расшифровать менеджера криптографии 1с

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии