Error calling context method 1c

Не получается подписать Акт через API #200 Comments Работаем из 1с с апи через com компонент. Процедура подписи акта, первый вариант: Error calling context method (Send): An exception has occurred (ReplySendTask.Send): ##100[Ошибка сервера Диадок]code:400, HTTP error: Invalid data UserContractData: Schematron validation: Schematron validation failed /AcceptanceCertificate552BuyerTitle/Signers/SignerReference: @INN is required /AcceptanceCertificate552BuyerTitle/Signers/SignerReference: SignerDetails not found in DB […]

Содержание

  1. Не получается подписать Акт через API #200
  2. Comments
  3. Some errors in last version
  4. v8: УПП. Обмен. Не может заархивировать выгрузку на сервере (Повтор)
  5. .NET и 1С V82.COMConnector ошибка при вызове .ПолучитьОбъект
  6. Maximum server memory consumption per call is exceeded

Не получается подписать Акт через API #200

Работаем из 1с с апи через com компонент.

Процедура подписи акта, первый вариант:

Error calling context method (Send): An exception has occurred (ReplySendTask.Send): ##100[Ошибка сервера Диадок]code:400, HTTP error: Invalid data UserContractData:
Schematron validation: Schematron validation failed
/AcceptanceCertificate552BuyerTitle/Signers/SignerReference: @INN is required
/AcceptanceCertificate552BuyerTitle/Signers/SignerReference: SignerDetails not found in DB for boxId=2ce0a946-fe10-4979-b097-db65eb74d9d

В тех. поддержке мне сказали:

Пытаются подписать входящий акт 552, но не заполнены параметры подписанта для 551/552.

В вебе ДД их заполнить нельзя, поэтому их нужно заполнить при отправке ReplySendTask. Они заполняются в объекте ExtendendSigner, свойство SignerDetails. Эти настройки сохранятся на сервере ДД и в дальнейшем достаточно будет заполнять только BoxId и CertificateThumbprint.

и посоветовали использовать метод http://diadocsdk-1c.readthedocs.io/ru/latest/GetExtendedSignerDetails2.html который имеет входящие параметры (CertificateThumbprint, DocTitleType) для проверки, есть сохраненные реквизиты подписанта или нет. Метод я использовал следующим образом:
Organization.GetExtendedSignerDetails(Organization.Certificate.Thumbprint,»AccCert552Buyer»)
и получал ошибку:

Error calling context method (GetExtendedSignerDetails)

Возможно у нас какая-нибудь старая версия библиотеки? и убрав 2 из урла описания метода, нашел описание этого же метода с другими параметрами: (CertificateThumbprint, IsSeller, forCorrection) и который выполнился
Благодаря ему я узнал, что реквизиты подписанта на сервере все таки есть (но для какого типа документа?) , поэтому решил заполнить значения вручную:

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

The text was updated successfully, but these errors were encountered:

При подписании документа в формате 551/552 впервые, следует закрепить за используемым сертификатом параметры подписанта на сервере Диадок.
Для того, чтобы закрепить параметры подписанта, первое подписание документа нужно совершать со следующими параметрами (на примере вашего кода):
Signer = UTDBuyerContent.AddSigner();
Signer.SignerDetails.Surname = SignerDetails.Surname;
Signer.SignerDetails.FirstName = SignerDetails.FirstName;
Signer.SignerDetails.Patronymic = SignerDetails.Patronymic;
Signer.SignerDetails.JobTitle = SignerDetails.JobTitle;
Signer.SignerDetails.Inn = SignerDetails.Inn;
Signer.SignerDetails.SignerType = SignerDetails.SignerType;
Signer.SignerDetails.OrganizationName = SignerDetails.OrganizationName;
Signer.SignerDetails.Powers = SignerDetails.Powers;
Signer.SignerDetails.Status = SignerDetails.Status;
Signer.SignerDetails.PowersBase = SignerDetails.PowersBase;

Для того, чтобы проверить, сохранились ли эти параметры на сервере ДД, используйте метод GetExtendedSignerDetails2 (обратите внимание на цифру 2 в конце метода):
Organization.GetExtendedSignerDetails2(Organization.Certificate.Thumbprint,»AccCert552Buyer»)

Когда параметры подписанта 551/552 сохранились на сервере ДД, при подписании документов можно использовать:
Signer = UTDBuyerContent.AddSigner();
Signer.BoxId = Organization.Id;
Signer.CertificateThumbprint = Organization.Certificate.Thumbprint;

таким образом, первоначально закрепленные за сертификатом параметры подтянутся в запрос с сервера ДД.
Параметры подписанта закрепляются за связкой boxId и Thumbprint. Т.е. если у вас меняется сертификат, то параметры подписанта нужно перезаполнять.

не могу найти отличия от моего кода, второй фрагмент я привел с купюрами, очевидно чтоб перед этими строками следует
Signer = UTDBuyerContent.AddSigner();

История правок статьи меня успокоила, проблема не в моих глазах 🙂

Не сохраняются, в том и проблема! Отправлял как вы рекомендуете в пункте 1.

  1. Пример вашего кода:
    SignerDetails = Organization.GetExtendedSignerDetails(Organization.Certificate.Thumbprint, False, False);
    Signer.SignerDetails.Surname = SignerDetails.Surname;
    Signer.SignerDetails.FirstName = SignerDetails.FirstName;
    Signer.SignerDetails.Patronymic = SignerDetails.Patronymic;
    Signer.SignerDetails.JobTitle = SignerDetails.JobTitle;
    Signer.SignerDetails.Inn = SignerDetails.Inn;
    Signer.SignerDetails.SignerType = SignerDetails.SignerType;
    Signer.SignerDetails.OrganizationName = SignerDetails.OrganizationName;
    Signer.SignerDetails.Powers = SignerDetails.Powers;
    Signer.SignerDetails.Status = SignerDetails.Status;
    Signer.SignerDetails.PowersBase = SignerDetails.PowersBase;

Предлагаемый пример:
Signer = UTDBuyerContent.AddSigner();
Signer.SignerDetails.Surname = SignerDetails.Surname;
Signer.SignerDetails.FirstName = SignerDetails.FirstName;
Signer.SignerDetails.Patronymic = SignerDetails.Patronymic;
Signer.SignerDetails.JobTitle = SignerDetails.JobTitle;
Signer.SignerDetails.Inn = SignerDetails.Inn;
Signer.SignerDetails.SignerType = SignerDetails.SignerType;
Signer.SignerDetails.OrganizationName = SignerDetails.OrganizationName;
Signer.SignerDetails.Powers = SignerDetails.Powers;
Signer.SignerDetails.Status = SignerDetails.Status;
Signer.SignerDetails.PowersBase = SignerDetails.PowersBase;

Различие в отсутствии метода на получение параметров подписанта:
SignerDetails = Organization.GetExtendedSignerDetails(Organization.Certificate.Thumbprint, False, False);

Т.к. на сервере параметры подписанта 551/552 ещё не сохранились, следовательно, и получать с сервера нечего. 🙂
Поэтому, уберите строку на получение параметров подписанта с сервера (GetExtendedSignerDetails) из вашего кода и повторите, пожалуйста, отправку документа.

В предлагаемом примере не определена переменная SignerDetails, программа выдала ошибку.

Источник

Some errors in last version

Powerful and flexible application for small business management. See 1C:Small Business description

Rating: 1
Joined: Apr 13, 2016
Company: AnaSOFT Solutions

There are errors in last version:

1. When I try to edit access group profile

: Object field not found (CommonCommandRun1CBuhphone)
ServiceTechnologyIntegrationWithSSLClient.IntegrationWith1CBuhphoneClientNotificationProcessing(EventName, Items.CommonCommandRun1CBuhphone);

Base: demo, user: Administrator, open pages: start page, catalog Access group profile

2. I can not save settings of start page for user with rights «Sales» (standard profile)

Procedure ConfigureUserDesktop() of module ‘Common use’
You use StartPageSettings = SystemSettingsStorage.Load(«General/StartPageSettings»).
I guess you should use «Common/StartPageSettings» (it is my guess)

Thank you for the information. We will include the fixes in the next version.

Rating: 1
Joined: Apr 13, 2016
Company: AnaSOFT Solutions

There is next error:

1. Switch on «Limit access on record level», «Counterparty access group».
2. Create user «Sales manager», who has rights «Sales» only.
3. Run 1C using user «Sales manager». Try to create a new counterparty. You will get the error:

Источник

v8: УПП. Обмен. Не может заархивировать выгрузку на сервере (Повтор)

Доброго времени суток!
Вопрос уже поднимался.
Нашел единственную рекомендацию: не использовать имена на кириллице.
Действительно сначала настроил на кириллице. Изменил все имена.
Ошибка повторяется.
Windows Server 2003 x64 R2 SP
8.2.15.289
УПП 1.3.22.1

Пожалуйста, поделитесь опытом.

а как ошибка-то выглядит?

З.Ы. релизы-то древние какие.

Ошибка при сжатии данных файла обмена: C:Documents and SettingsUSR1CV82Local
SettingsTempv8_17_63d.xml
Error calling context method (Записать): Error creating file

Техническая информация:
<ОбщийМодуль.ПроцедурыОбменаДанными.Модуль(1862)>: Error calling context method
(Записать): Error creating file

(6) его я и имел в виду.

Интересно, что при этом выгрузка без сжатия в архив работает без проблем

Источник

.NET и 1С V82.COMConnector ошибка при вызове .ПолучитьОбъект

Добрый день,
возникла следующая проблема.

Имеется модуль с простыми функциями типа отметить документ на удаление по номеру или провести документ по номеру.

Функция ПометитьРасходнаяНакладная(Номер, ПометкаУдаление, ПометкаПроведение) Экспорт
Попытка
документ = Документы.РасходнаяНакладная.НайтиПоНомеру(Номер).ПолучитьОбъект();
ПометитьДокумент(документ, ПометкаУдаление, ПометкаПроведение);
Возврат «ok»;
Исключение
Инфо = ИнформацияОбОшибке();
Возврат «Описание=’» + Инфо.Описание + «‘»;
КонецПопытки
КонецФункции

Функция ПометитьДокумент(Документ, ПометкаУдаление, ПометкаПроведение)
Документ.УстановитьПометкуУдаления(ПометкаУдаление);
Если ПометкаПроведение
Тогда
Документ.Записать(РежимЗаписиДокумента.Проведение);
Иначе
Документ.Проведен = Ложь;
Документ.Записать();
КонецЕсли
КонецФункции

Проблема с методом .ПолучитьОбъект() — при вызове функции ПометитьРасходнаяНакладная через COM из .NET приложения вылетает исключение, которое не перехватывается в теле функции ПометитьРасходнаяНакладная и более того некорректно сериализуется. То есть на стороне .NET приходит объект Exception с указателями-null’ами, не несущий никакой информации.

Что интересно:
— если эти функции вызываются непосредственно из 1С, то все прекрасно работает.
— если изменить тип документа с РасходнаяНакладная на некоторый другой, то все выполняется корректно. Есть еще как минимум один тип, для которого это также не работает. Заметить отличия этих типов документов от других, с которыми все ок, не удалось
— гарантируется, что сам вызов через COM осуществляется, если убрать проблемный вызов .ПолучитьОбъект(), то вызов отрабатывает корректно
-COM соединение выполняется под тем же аккаунтом, под которым функция корректно работает при выполнении через 1С:Предприятие
-другие методы типа .ПолучитьФорму() этой же ссылки работают корректно

Итого: непонятная ошибка, которая не ловится trycatch и возникает при вызове метода .ПолучитьОбъект на ссылках документа типа РасходнаяНакладная при соединении через COM.

.NET код:
var connection = GetConnection();
var msg = connection.ПроведениеДокументов.ПометитьРасходнаяНакладная(docNumber, true, false);

Могу выложить код GetConnection() если необхдимо

Источник

Maximum server memory consumption per call is exceeded

Understanding basics of 1C:Enterprise platform. To start working with 1C:Enterprise platform visit Getting started page

Rating: 27
Joined: Apr 5, 2012
Company: 1TÇ Şirketi — Merv Bilgi İşlem Otomasyonu Yazılım Ltd. Şti.

In server we have executed some actions. In this proccess we’ve got some error:

Quote
Error calling context method (Write): Error running processor — ‘OnWrite’: Maximum server memory consumption per call is exceeded

Rating: 4
Joined: Nov 19, 2012
Company: BizzSimple.com

Murat Yazlıyev,
Here it is.

Safe memory consumption per call
The memory amount in bytes that can be safely consumed during a server call.
Its value can vary from -1 to 9223372036854775807:

  • -1 means that any server call can be considered dangerous if the maximum
    memory amount of the working server is reached during the server call;
  • 0 means that the amount value is automatically defined as 5% of the
    maximum memory capacity of the working process on this server.

Maximum memory in working processes
The maximum amount of memory (in bytes) available for all working processes on this working server.
Its value can vary from -1 to 9223372036854775807:

  • -1 means that the maximum memory capacity available for all working
    processes on this working server is not limited.
  • 0 means that the value is automatically defined as 80% of the server RAM.

Rating: 27
Joined: Apr 5, 2012
Company: 1TÇ Şirketi — Merv Bilgi İşlem Otomasyonu Yazılım Ltd. Şti.

Aleksey thanks at first.

So, I think even if server is on Linux OS we can set for both properties as «-1» because when RAM is reached high level system can use local memary as RAM.

Источник

Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’

Часто бывает, что при настроенной синхронизации после обновления платформы появляется ошибка «Произошла исключительная ситуация (V83.COMConnector.1): Версия компоненты ‘comcntr’ отличается от версии корневого модуля ‘core83’». Так происходит потому, что автоматически не зарегистрировалась компонента comcntr.dll из-за проблем с правами пользователя на компьютере.

Решить данную проблему можно двумя способами.

Способ №1.

Переустановить платформу под правами Администратора или под пользователем, у которого есть такие права.

Способ №2.

Если не получилось как в способе №1, то можно вручную зарегистрировать самому эту компоненту.

Перед этим нам необходимо изменить Параметры контроль учетной записи.

Для Windows 7 нам необходимо зайти в Пуск затем в Панель управления.

Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Панель управления и перейти по открывшейся ссылке.

В правом верхнем углу Панели управления выбрать Просмотр-Мелкие значки и затем в списке перейти в Учетные записи пользователей.

Учетные записи пользователей

Там выбрать Изменить параметры контроля учетных записей.

Параметры контроля учетных записей

Затем поставить ползунок в самом нижнем положении.


Виртуальный 1С помощник

Ползунок параметров контроля учетных записей

И перезапустить компьютер.

После перезагрузки необходимо:

Для Windows 7 надо перейти в Пуск, затем в строке поиска ввести cmd.exe,нам покажет что найдена Командная строка и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».

Для Windows 10 нам необходимо в левом нижнем углу панели задач в строке поиска набрать Командная панель или cmd.exe и, щелкнув по ней правой клавишей мыши, выбрать «Запуск от имени администратора».

Запуск командной строки

У нас откроется Командная строка, где нам необходимо ввести команду:

1.Для платформы x86

Regsvr32 «C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files (х86)1cv8номер версии вашей платформыbincomcntr.dll»).

Команда для платформы x86

2.Для платформы х64

Regsvr32 «C:Program Files1cv8номер версии вашей платформыbincomcntr.dll» (regsvr32пробел»C:Program Files1cv8номер версии вашей платформыbincomcntr.dll»).

Команда для платформы x64

Затем нажать клавишу Enter.

Если все сделали правильно, то увидите вот такое окно.

Успешное выполнение команды

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

Ошибка при вызове метода контекста (Выполнить) — Поле не найдено

Ошибка возникает в момент исполнения отчета на СКД (системе компоновки данных)

  • говорит об отсутствии этого поля в исходных данных
  • наличии выбранного поля в выбранных полях, в отборах, в условном оформлении
  • проявляется и в 8.2, и в 8.3

Скриншот

Поле не найдено СКДПолный текст ошибки

Ошибка при вызове метода контекста (Выполнить)
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройка, ДанныеРасшифровки);
по причине:
Ошибка компоновки макета
по причине:

Поле не найдено "Проведен"

 Исправление ошибки

Открыть схему компоновки данных и проверить все вкладки.

Ошибочное поле в диалоге выбора отображается с красным крестом (как удаленное)

Поле не найдено 1Выбрать другое поле (возможно переименовано, либо добавить в исходную таблицу новое с таким именем).

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

Люди в массе своей терпеть не могут рекламу. Они никогда не читают рекламных объявлений как таковых. Но они читают подряд все, что их заинтересует, и иногда этим оказывается рекламное объявление.

Понравилась статья? Поделить с друзьями:
  • Error callback angular
  • Error call to undefined function tests feature factory
  • Error call to nonexistent function ahk
  • Error call to non static member function without an object argument
  • Error call to abs is ambiguous