Closed chipdip-partner-1C closed 1 month ago
Добрый день
Наряду с
Signer = КонтентТитула.Signers.AddSigner();
Signer.Certificate.CertificateThumbprint = ОтпечатокСертификата;
Signer.SignerPowersConfirmationMethod = "2";
попробуйте заполнить
Signer.PowerOfAttorney
Добрый день. Не получается заполнить. В этом объекте 2 объекта и они заполняются когда SignerPowersConfirmationMethod равен 3. Иначе когда пробуешь заполнить Signer.PowerOfAttorney.Electronic.Storage.UseDefault в поле встает -1.
А каким типом и значением вы заполняете Signer.PowerOfAttorney.Electronic.Storage.UseDefault
?
Если пишете
Signer.PowerOfAttorney.Electronic.Storage.UseDefault = Истина;
или
Signer.PowerOfAttorney.Electronic.Storage.UseDefault = True;
то такое в принципе возможно, потому что истина в COM - это int -1
и у вас происходит неявное преобразование в строку
True
-> -1
-> "-1"
указывайте
Signer.PowerOfAttorney.Electronic.Storage.UseDefault = "true";
Добрый день. Действительно прописано было: Signer.PowerOfAttorney.Electronic.Storage.UseDefault=True сделал Signer.PowerOfAttorney.Electronic.Storage.UseDefault="true", Выдает ошибку: HTTP error: Invalid data UserContractData:¶/UniversalTransferDocumentBuyerTitle/Signers/Signer: Element PowerOfAttorney/Electronic cannot be filled when @SignerPowersConfirmationMethod=2
Ругается на Signer.SignerPowersConfirmationMethod = "2", исправляем на Signer.SignerPowersConfirmationMethod = "3"
3 - в соответствии с доверенностью в электронной форме в машиночитаемом виде, если представление доверенности осуществляется из информационной системы. При этом необходимая информация для запроса доверенности из информационной системы, указана в электронном документе.
Подписание проходит замечательно, но должность все равно не заполняется.
У меня получилось указать вручную Position = Signer.Position; Position.PositionSource = "Manual"; Position.SimpleContentValue = "начальник отдела";
Да, судя по XSD, для 970 есть различные способы указания должности и нужно выбрать какой из них вам нужен:
<xs:element minOccurs="0" name="Position">
<xs:annotation>
<xs:documentation>Должность</xs:documentation>
<xs:documentation>Один из элементов является обязательным</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="string255z">
<xs:attribute name="PositionSource" use="required">
<xs:annotation>
<xs:documentation>Автоматическое заполнение должности из настроек сотрудника указанных в сервисе</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Employee">
<xs:annotation>
<xs:documentation>
<xs:annotation xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:documentation>Первым шагом пытается сформировать должность из данных по сотруднику в сервисе</xs:documentation>
<xs:documentation>Если данные в сервисе не найдены, то значение будет взято из значения в элементе Position</xs:documentation>
<xs:documentation>Если данные в сервисе не найдены и в элементе Position пустое значение, то атрибут в конечном файле не сформируется</xs:documentation>
</xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Certificate">
<xs:annotation>
<xs:documentation>
<xs:annotation xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:documentation>Первым шагом пытается сформировать должность из данных по сотруднику из сертификата</xs:documentation>
<xs:documentation>Если данные в сертификате не найдены, то значение будет взято из значения в элементе Position</xs:documentation>
<xs:documentation>Если данные в сертификате не найдены и в элементе Position пустое значение, то атрибут в конечном файле не сформируется</xs:documentation>
</xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="StorageByTitleTypeId">
<xs:annotation>
<xs:documentation>
<xs:annotation xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:documentation>Используется для типов @970 формата. Для остальных - игнорируется</xs:documentation>
<xs:documentation>Для использования данного варианта формирования должности необходимо заполнить элемент Certificate</xs:documentation>
<xs:documentation>Первым шагом пытается сформировать должность из данных, сохраненных с помощью метода ExtendedSignerDetails для указанного сертификата и documentTitleType</xs:documentation>
<xs:documentation>Если данные в сервисе не найдены, то значение будет взято из значения в элементе Position</xs:documentation>
<xs:documentation>Если данные в сервисе не найдены и в элементе Position пустое значение, то атрибут в конечном файле не сформируется</xs:documentation>
</xs:annotation>
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Manual">
<xs:annotation>
<xs:documentation>Используется для ручного заполнения должности</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
Добрый день. Документы подписываются подписью физ лица с МЧД. Все подписывается прекрасно, кроме строки 20, должность не заполняется. Что нужно заполнить в PatchTask чтобы в строке 20 появилась должность.
По 820 приказу задавал вопрос тут #1015 .