Взаимодействие платформы 1С 8.2 с системой ЭТРАН ОАО РЖД

17.09.10

Функциональные - Документооборот и делопроизводство (СЭД)

Описывается опыт разработки конфигурации и построение взаимодействия с системой ЭТРАН ОАО РЖД

Что такое ЭТРАН

Начнем с того что же такое ЭТРАН (электронная транспортная накладная). Это система безбумажного документооборота между ОАО РЖД и ее контрагентами (грузоотправители, грузополучатели, экспедиторы...). РЖД довольно активно продвигает систему и в настоящий момент многие организации активно ее используют.

Для клиента ЭТРАН это рабочее место в окне браузера, подключенное по впн каналу к серверу РЖД. В системе можно формировать и корректировать заявки на перевозку, накладные и совершать другие операции. При наличии цифровой подписи можно работать действительно без использования бумажных документов, либо свести их к минимуму.

Взаимодействие в режиме АСУ-АСУ

Если у клиента есть своя АСУ, то при наличии еще и ЭТРАН, данные придется вбивать дважды - сначала а свою систему, потом в ЭТРАН, либо наоборот. Для облегчения взаимодействия система ЭТРАН предоставляет программный доступ к своим данным в режиме АСУ-АСУ. Остановимся на этом поподробнее.

Так как ЭТРАН построена на базе веб технологий, то доступ предоставляется посредством SOAP запросов к web сервису. В документации описано 2 способа подключения к web сервису:

  • прямые SOAP запросы;
  • работа через обертку - COM объект предоставляющий интерфейс для выполнения запросов.

Видимо разработчики системы неспроста предоставили 2 способа, потому что с первым у меня ничего не получилось. Не буду здесь описывать мои мучения, но скажу, что представления о SOAP у borland  и microsoft разные ;). 

Что мы имеем

АСУ построенная на базе платформы 7.7 (в своем далеком прошлом комплексная конфигурация)

десяток филиалов работающих в этой системе

механизм передачи и консолидации данных в управлении

необходимость переход от оформления бумажных накладных к работе с ЭТРАН

Что хочется видеть

Распределенную систему

Желательно доступ филиалов через web к общим данным

Обмен данными с системой ЭТРАН

Переходим на новые технологии

После ознакомления с возможностями платформы 1С 8.2, стало понятно, что это как раз то что нам нужно. Было принято решение о заморозке разработки в семерке и постепенном переносе функционала на 8.2. Попробовать как работает 8.2 решил на куске взаимодействия с системой ЭТРАН. 

Итак, для взаимодействия в режиме АСУ-АСУ ЭТРАН предоставляет COM объект, принимающий запросы и возвращающий результат в синхронном режиме. Так как рабочее место подключено к ЭТРАН через VPN, то доступ к ней (для пущей безопасности) желательно осуществлять с этого рабочего места. Я не сильно знаком с технологиями COM, но то что существует DCOM знаю, и, даже, занимался разработкой библиотеки которая такой доступ предоставляет, поэтому сразу стало понятно как достучаться до рабочего места ЭТРАН через локальную сеть.

Как получилось

Общая схема работы механизма доступа к системе ЭТРАН:

  1. От рабочего места ЭТРАН до сервера поднимается VPN канал. 
  2. На рабочем месте устанавливается COM объект компонента для доступа к ЭТРАН, настраиваются параметры доступа к ней через DCOM. 
  3. На сервере 1С создается экземпляр DCOM объекта "EtranASUGO", с указанием, что объект будет "жить" на рабочем месте ЭТРАН.
  4. Посылаем запросы и получаем ответы от объекта EtranASUGO.

Кратко о программной реализации.

Программно все это реализовано в виде конфигурации на платформе 1С 8.2. Созданы объекты метаданных, для отображения предоставляемых системой ЭТРАН данных:

  • документы "Заявка", "Накладная", "Акт общей формы", "Ведомость подачи-уборки", "Накопительная ведомость";
  • справочники "Вагоны", "Контрагенты", "Станции", прочая НСИ;
  • перечисления;

Реализован набор процедур для загрузки данных из системы ЭТРАН. Система позволяет запрашивать данные документов измененных за определенный период. Таким образом можно получать и поддерживать в актуальном состоянии все документы к которым у вас есть доступ. Вместе с документами по ссылкам загружаются и обновляются справочники (НСИ в терминах системы ЭТРАН)

Загрузка данных идет в фоне через механизм регламентных заданий.

COM объект создается в серверной процедуре в модуле с флажком "Повторное использование возвращаемых значений" - "На время сеанса". Таким образом отпадает необходимость создания объекта при каждом обращении к системе ЭТРАН.

 

См. также

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

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:ДО!

55300 руб.

19.02.2016    110058    135    5    

106

Внешние источники данных Программист Бизнес-аналитик Пользователь Платформа 1С v8.3 Управляемые формы Анализ и прогнозирование 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    23601    28    49    

42

Бизнес-аналитик Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

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

94700 руб.

19.02.2016    83578    113    0    

112

Зарплата Внешние источники данных Бюджетный учет Перенос данных 1C Системный администратор Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактическим удержаниям, НДФЛ, вычетам, страховым взносам из базы Парус 8 учреждений (далее Парус) в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (далее 1С) и начать с ней работать с любого месяца года.

120000 руб.

19.08.2020    26908    26    1    

28

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

110400 руб.

11.06.2015    58581    36    20    

45

Внешние источники данных Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Готовая интеграция для управляемых форм. Встраивается в вашу 1С как расширение. Реализует автоматический обмен данными между 1С (1С:Фитнес клуб и аналогов) и СКУД RusGuard, автоматизирует бизнес-процессы по созданию и учету сотрудников в СКУД. Значительно упрощает работу специалистов отдела кадров и отдела безопасности: избавляет от двойного ввода информации в 1С и СКУД.

94999 руб.

11.07.2024    1422    1    0    

3

Розничная торговля Внешние источники данных Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Бухгалтерский учет 1С:Бухгалтерия 3.0 Фармацевтика, аптеки Россия Бухгалтерский учет Платные (руб)

Внешняя обработка загрузки данных из файла-выгрузки, сформированного в программе F3 TAIL версии 3.4 (и выше) или еФарма версии 2.1, в базу конфигурации 1С: Бухгалтерия предприятия 8, ред. 3.0 (базовая, ПРОФ, КОРП, ФРЕШ).

13200 руб.

19.12.2016    48968    101    106    

72
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
205. MicroDs 24.09.24 06:33 Сейчас в теме
(203) Из запроса получили ответ "textBinary"

<!-- ******************************************** -->
<!-- ЗАПРОС ПОЛУЧЕНИЯ ИНФОРМАЦИИ О ДОКУМЕНТЕ ДЛЯ ПРОВЕДЕНИЯ ЭЦП: запрос -->
<!-- ******************************************** -->
<getTextForECP version="1.0">
	<!-- идентификатор документа -->
	<!-- * тип данных: целое число --> 
	<docID value=""/>
	<!-- При использовании тега текстовое представление будет получено в base64 -->
	<useBinary/>
</getTextForECP>

далее  Подпись_text = ПодписатьТекст(Doc_СтрокаBase64, Certificate, Истина); получаем ЭЦП

Функция ПодписатьТекст(ТекстДляПодписи, Certificate, bDetached)
	
	CADESCOM_ENCODE_BASE64 = 1; // Входные данные пришли в Base64
        CADESCOM_CADES_TYPE = 1; // Тип усовершенствованной подписи	
	
	CPSigner = Новый COMОбъект("CAdESCOM.CPSigner");
	CPSigner.Certificate = Certificate;
	CPSigner.TSAAddress = "http://qs.cryptopro.ru/tsp/tsp.srf"; 
	//CPSigner.TSAAddress = "http://10.248.8.240/tspca1_niias/tsp.srf"; 
 	//CPSigner.TSAAddress = "http://tsp.pki.transtk.ru/tspca1/tsp.srf"; 
	
	CadesSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
	CadesSignedData.ContentEncoding = CADESCOM_ENCODE_BASE64;
	CadesSignedData.Content = ТекстДляПодписи; //ТекстДляПодписи
	
	sSignedMessage = CadesSignedData.SignCades(CPSigner,CADESCOM_CADES_TYPE,bDetached,0);

	Возврат sSignedMessage; // Подпись в формате Base64
	
КонецФункции

и фтамп времени к эцп  Подпись_text_stamp = ShtampТекст(Подпись_text);


Функция ShtampТекст(ТекстДляПодписи)
	
	Cadescom_hash_algorithm_cp_gost_3411_2012_256 = 101;
	
	oStamp = Новый COMОбъект("TSPCOM.TSPStamp");
	oRequest = Новый COMОбъект("TSPCOM.TSPRequest");
	oHash = Новый COMОбъект("CAdESCOM.HashedData");
	
	oHash.Algorithm = Cadescom_hash_algorithm_cp_gost_3411_2012_256;
  	oHash.Hash(ТекстДляПодписи);
	
	oOID = Новый COMОбъект("CAPICOM.OID");
	oOID.Value = "1.2.643.7.1.1.2.2";
	oRequest.HashAlgorithm2 = oOID;
	
	oRequest.Hash = oHash;	

	oRequest.TSAAddress  = "http://qs.cryptopro.ru/tsp/tsp.srf";
	//oRequest.TSAAddress  = "http://pki.skbkontur.ru/tsp2012/tsp.srf";
	//oRequest.TSAAddress  = "http://10.248.8.240/tspca1_niias/tsp.srf";
       //oRequest.TSAAddress  = "http://tsp.pki.transtk.ru/tspca1/tsp.srf";


	оStamp = oRequest.Send();
	
	oUtils = Новый COMОбъект("CAPICOM.Utilities");
	sStamp = oUtils.Base64Encode(оStamp.Export());

	Возврат sStamp; // Stampa в формате Base64

КонецФункции
Показать


и формируем запрос в этран "<setECP version=""1.0"">


ДО июня 2024 все работало хорошо, но после (ЦФТО информирует Вас о том, что в рамках перехода АС ЭТРАН НП на импортонезависимую платформу на базе СУБД Postgres Pro Enteprise будет изменена кодировка подписания документов электронной подписью (далее – ЭП) на UTF-8. Возможность работы с документом, как с бинарными данными реализовна в интерфейсе АСУ ГО АС ЭТРАН в запросах <getTextForECP> и <setECP> (параметр useBinary), в руководстве программиста АСУ ГО обновлено описание веб-сервиса проведения ЭП по документам (п. 5.1.5 «Запрос операции над документом»).
В связи с вышеизложенным, прошу Вас, рассмотреть вопрос о внесении изменений в программное обеспечение АСУ предприятия в части реализации подписания документов ЭП с использованием base64 (параметр useBinary в запросе данных для подписи <getTextForECP> и запросе подписания <setECP>).
Дата перехода на работу с документом, как с бинарными данными будет сообщена дополнительно.) перестало работать подписание...

Возвращается Ошибка:
<error version="1.0">
<errorCode value="4"/>
<errorMessage value="Ошибка проверки подписи в УЦ:COM_TimeStampInfo. Ошибка получения информации о штампе времени. Доп. инфо: Import. Ошибка в tspcom.TSPStamp.1: В ASN1 встречен неожиданный конец данных. Ошибка LE № 0x80004005: Неопознанная ошибка "/>
<errorStatusCode value="400"/>
</error>
user830227; +1 Ответить
202. farengeit00 23.09.24 09:34 Сейчас в теме
(188) Добрый день. Вы разобрались с программной подписью в этране?
196. пользователь 04.09.21 10:28
Сообщение было скрыто модератором.
...
200. user1514619 03.08.23 13:56 Сейчас в теме
Добрый день! Помогите пожалуйста. Есть запрос
<ActUslugStatus>
<fromDate>03.02.2023 08:00:00</fromDate>
<toDate>03.02.2023 10:00:00</toDate>
<OperId>Идентификатор элемента списка </OperId>
</ActUslugStatus> Как узнать "Идентификатор элемента списка" или что передавать в параметр OperId?
201. user1514619 03.08.23 14:00 Сейчас в теме
Добрый день! Помогите пожалуйста. Есть запрос
<ActUslugStatus>
<fromDate>03.02.2023 08:00:00</fromDate>
<toDate>03.02.2023 10:00:00</toDate>
<OperId>Идентификатор элемента списка </OperId>
</ActUslugStatus>

Как узнать "Идентификатор элемента списка" или что передавать в параметр OperId?
204. MicroDs 24.09.24 06:16 Сейчас в теме
(203) Получаем из запроса в виде base64

<!-- ******************************************** -->
<!-- ЗАПРОС ПОЛУЧЕНИЯ ИНФОРМАЦИИ О ДОКУМЕНТЕ ДЛЯ ПРОВЕДЕНИЯ ЭЦП: запрос -->
<!-- ******************************************** -->
<getTextForECP version="1.0">
<!-- идентификатор документа -->
<!-- * тип данных: целое число -->
<docID value=""/>
<!-- При использовании тега текстовое представление будет получено в base64 -->
<useBinary/>
</getTextForECP>
206. farengeit00 24.09.24 07:55 Сейчас в теме
(204) <!-- ЗАПРОС ПРОВЕДЕНИЯ ЭЦП НАД ДОКУМЕНТОМ: запрос -->
<!-- ******************************************** -->
<setECP version="1.0">
<!-- Идентификатор документа -->
<!-- * тип данных: целое число -->
<docID value=""/>
<!-- Информация о документе для подписания ЭЦП -->
<!-- без использования UseBinary в запросе -->
<!-- * тип данных: строка -->
<text value=""/>
<!-- с использованием UseBinary в запросе -->
<!-- * тип данных: строка -->
<textBinary value=""/>
<!-- ЭЦП документа-->
<!-- * тип данных: строка -->
<ecp value=""/>
<!-- Штамп времени документа(для version = 1 или 2) ->
<!-- * тип данных: строка -->
<tsp value=""/>
<!-- Версия алгоритма формирования ЭЦП(1 – Усиленная неквалифицированная ЭП версия от КриптоПро, 2 – Усиленная неквалифицированная ЭП версия от ТрансТелеком 5- Усиленная квалифицированная ЭП)-->
<!-- * тип данных: строка -->
<version value=""/>
<!-- Используется для подписания документов с текстовым представлением в base64 -->
<useBinary/>
</setECP>

<textBinary value=""/> и <ecp value=""/> одно и то же значение взятое из вашего запроса?
207. MicroDs 24.09.24 12:08 Сейчас в теме
(206) <textBinary value=""/> получаем из запроса <getTextForECP version="1.0">

ТекстДляПодписи = textBinary

и получаем ЭЦП документа из функция ПодписатьТекст(ТекстДляПодписи, Certificate, bDetached)

<ecp value=""/>

Функция ПодписатьТекст(ТекстДляПодписи, Certificate, bDetached)

CADESCOM_ENCODE_BASE64 = 1; // Входные данные пришли в Base64
CADESCOM_CADES_TYPE = 1; // Тип усовершенствованной подписи

CPSigner = Новый COMОбъект("CAdESCOM.CPSigner");
CPSigner.Certificate = Certificate;
CPSigner.TSAAddress = "http://qs.cryptopro.ru/tsp/tsp.srf";
//CPSigner.TSAAddress = "http://10.248.8.240/tspca1_niias/tsp.srf";
//CPSigner.TSAAddress = "http://tsp.pki.transtk.ru/tspca1/tsp.srf";

CadesSignedData = Новый COMОбъект("CAdESCOM.CadesSignedData");
CadesSignedData.ContentEncoding = CADESCOM_ENCODE_BASE64;
CadesSignedData.Content = ТекстДляПодписи; //ТекстДляПодписи

sSignedMessage = CadesSignedData.SignCades(CPSigner,CADESCOM_CADES_TYPE,bDetached,0);

Возврат sSignedMessage; // Подпись в формате Base64

КонецФункции
user830227; +1 Ответить
208. farengeit00 24.09.24 13:12 Сейчас в теме
(207)
Все сделал как вы сказали, но "Ошибка проверки подписи в УЦ:TSP не в BASE64"
209. MicroDs 24.09.24 14:44 Сейчас в теме
(208) А как штамп времени формируете <tsp value=""/> ????

<tsp value=""/> = Подпись_text_stamp = ShtampТекст(Подпись_text);

ТекстДляПодписи = <ecp value=""/> sSignedMessage; // Подпись в формате Base64

Функция ShtampТекст(ТекстДляПодписи)
	
	Cadescom_hash_algorithm_cp_gost_3411_2012_256 = 101;
	
	oStamp = Новый COMОбъект("TSPCOM.TSPStamp");
	oRequest = Новый COMОбъект("TSPCOM.TSPRequest");
	oHash = Новый COMОбъект("CAdESCOM.HashedData");
	
	oHash.Algorithm = Cadescom_hash_algorithm_cp_gost_3411_2012_256;
  	oHash.Hash(ТекстДляПодписи);
	
	oOID = Новый COMОбъект("CAPICOM.OID");
	oOID.Value = "1.2.643.7.1.1.2.2";
	oRequest.HashAlgorithm2 = oOID;
	
	oRequest.Hash = oHash;	

	oRequest.TSAAddress  = "http://qs.cryptopro.ru/tsp/tsp.srf";
	//oRequest.TSAAddress  = "http://pki.skbkontur.ru/tsp2012/tsp.srf";
	//oRequest.TSAAddress  = "http://10.248.8.240/tspca1_niias/tsp.srf";
       //oRequest.TSAAddress  = "http://tsp.pki.transtk.ru/tspca1/tsp.srf";


	оStamp = oRequest.Send();
	
	oUtils = Новый COMОбъект("CAPICOM.Utilities");
	sStamp = oUtils.Base64Encode(оStamp.Export());

	Возврат sStamp; // Stampa в формате Base64

КонецФункции
Показать
user830227; +1 Ответить
210. farengeit00 24.09.24 15:49 Сейчас в теме
(207) подскажите, пожалуйста
212. MicroDs 25.09.24 10:17 Сейчас в теме
(210) Все разобрался, подпись и штамп времени заработал в ЭТРАНе.

<textBinary value=""/> получаем из запроса <getTextForECP version="1.0"> ==textBinary

//преобразовывем в двоичные данные
ДвоичныеДанныеСтроки = Base64Значение(textBinary);

получаем <ecp value=""/> == Подпись_text
Подпись_text = ПодписатьТекст_1С(ДвоичныеДанныеСтроки, ОтпечатокЭЦП);

Функция ПодписатьТекст_1С(ТекстДляПодписи, Отпечаток)
	
    МенеджерКриптографии = Новый МенеджерКриптографии("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider","",80);
	
	Хранилище  = МенеджерКриптографии.ПолучитьХранилищеСертификатов(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
	Сертификат = Хранилище.НайтиПоОтпечатку(ПолучитьДвоичныеДанныеИзHexСтроки(Отпечаток));	
	
    ДД_Подпись = МенеджерКриптографии.Подписать(ТекстДляПодписи, Сертификат, ТипПодписиКриптографии.CAdESBES);
    sSignedMessage = Base64Строка(ДД_Подпись);

	Возврат sSignedMessage; // Подпись в формате Base64
	
КонецФункции
Показать


получаем <tsp value=""/> == Подпись_text_stamp
Подпись_text_stamp = ShtampТекст(Подпись_text);

	
Функция ShtampТекст(ЭЦП_Подписи)
        ИмяФайлаШтампа = ПолучитьИмяВременногоФайла("tsr");

	oStamp = Новый COMОбъект("TSPCOM.TSPStamp");
	oRequest = Новый COMОбъект("TSPCOM.TSPRequest");
	
	oOID = Новый COMОбъект("CAPICOM.OID");
	oOID.Value = "1.2.643.7.1.1.2.2";
	oRequest.HashAlgorithm2 = oOID;
	
        oRequest.TSAAddress  = "http://tsp.pkitrans.ru/tspca1_niias/tsp.srf";
	
	UTF8Encoding = Новый COMОбъект("System.Text.UTF8Encoding");
	oRequest.AddData(UTF8Encoding.GetBytes_4(ЭЦП_Подписи));

	оStamp = oRequest.Send();

	COMSafeArray = оStamp.Export2();

	оStream = Новый COMОбъект("ADODB.Stream");
	оStream.Mode = 3;
	оStream.Type = 1;
	оStream.Open();
	оStream.Write(COMSafeArray);
	оStream.SaveToFile(ИмяФайлаШтампа, 2);
	оStream.Close();

	ДвоичныеДанныеШтампа = Новый ДвоичныеДанные(ИмяФайлаШтампа);
	sStamp = Base64Строка(ДвоичныеДанныеШтампа);
		
	Возврат sStamp; // Stampa в формате Base64
КонецФункции	
Показать
user830227; +1 Ответить
211. farengeit00 25.09.24 08:55 Сейчас в теме
(207) А штамп времени как получить?
<!-- Штамп времени документа(для version = 1 или 2) ->
<!-- * тип данных: строка -->
<tsp value=""/>
213. MicroDs 25.09.24 10:57 Сейчас в теме
(211) Версия алгоритма формирования ЭП(1 – Усиленная неквалифицированная ЭП версия от КриптоПро, 2 – Усиленная неквалифицированная ЭП версия от ТрансТелеком

выше приведено для 1 – Усиленная неквалифицированная ЭП версия от КриптоПро
214. farengeit00 25.09.24 11:47 Сейчас в теме
(213) Спасибо, Добрый человек! Все Взлетело! Единственное добавил:
oRequest.UseNonce = Истина;
oRequest.PolicyID = "";
oRequest.CertReq = Истина;
user830227; +1 Ответить
215. пользователь 25.09.24 20:25
Сообщение было скрыто модератором.
...
216. Yaklushin 08.11.24 13:29 Сейчас в теме
Здравствуйте,
Поделитесь пожалуйста опытом.
Данные конкретной накладной я получить могу, а как получить список накладных за период не могу понять.
217. milanse 40 08.11.24 23:36 Сейчас в теме
(216) списка накладных за период нет, есть список изменений накладных за период invoicestatus в документации описано как что.
218. Yaklushin 09.11.24 18:57 Сейчас в теме
(217) Спасибо, натыкался на этот запрос, но как то с ним не совладал, сейчас получилось.
Еще такой вопрос - с этрана можно получать пдф гу27 и СМГС 2015(безномерной). xsd схема EtranPrintForm.xsd
У меня по ней получился такой запрос

<getPrintForm version="1.0">
<Doc_ID value="1553041018"/>
<doctype value="0"/>
</getPrintForm>

Но в ответ приходит
<error version="1.0">
<errorCode value="4"/>
<errorMessage value="java.sql.SQLException: ORA-06550: line 1, column 80:"/>
<errorStatusCode value="400"/>
</error>

Не могу понять что не так.
219. user830227 09.11.24 22:50 Сейчас в теме
(218)
схема EtranPrintForm.xsd

В схеме ни разу не упоминается "value". Зачем оно в запросе?

Спойлер
220. Yaklushin 10.11.24 08:51 Сейчас в теме
221. dvim 66 11.11.24 16:53 Сейчас в теме
Коллеги , РЖД выкинуло очередной фортель ..... кто что делает с "аттестацией к3" ?.
222. zba 48 12.11.24 10:37 Сейчас в теме
(221)Мы позвонили им на горячую линию РЖД сказали что просто собирают данные пока, написали письмо что у нас отсутствует аттестат. Запросили у фирмы которая этим занимается, как сделать аттестат К3 на сервер с 1С вот ответ:
Сроки работ в основном зависят от сроков поставки физических носителей. По городу доставка занимает около 2-ух недель и закладываю неделю до Вас.
После получения нами средств защиты - мы их откроем их и запланируем установку и работы по аттестации. Поставим и направим Вам дистрибутивы.
Эти мероприятия занимают у нас около 10 дней, но в предложении указал - 15.
Итоговая длительность с учетом поставки - 25 дней.

Стоимость аттестации: 70 000 рублей (в этом месяце)
Разработка всей документации - 140 000 рублей
Настройка средств защиты - 15 000 рублей
Итого: 225 000 руб.
Средства защиты - еще 28 847 руб. Дистрибутив VipNet может добавить 1000 руб, если окажется, что флешка это не дистрибутив, а ключи и если не будет документов на имеющуюся лицензию - 9000 руб она стоит.
223. MicroDs 21.11.24 08:04 Сейчас в теме
Добрый день. А подскажите пожалуйста, может кто знает как через АСУ-АСУ программно, каким запросом, в накладных можно отменить последнюю операцию (например: Накладная в состоянии "Погрузка на вагон", а нужно вернуть в состояние "Заготовка")!!???
224. user830227 21.11.24 14:32 Сейчас в теме
(223) В руководстве программиста есть пункт 5.3.6. ЗАПРОС ОТКАЗА ГРУЗООТПРАВИТЕЛЯ ОТ ВИЗЫ (invoiceCancelViza)
По логике должно быть оно. Но у меня не взлетело. Особо не разбирался.
225. MicroDs 22.11.24 06:54 Сейчас в теме
(224) Данный Запрос (invoiceCancelViza) отрабатывается если Накладная на ходится в состоянии "завизировано"!!!

<error version="1.0">
<errorCode value="4"/>
<errorMessage value="Отказ возможен только в состоянии завизировано!"/>
<errorStatusCode value="400"/>
</error>
226. user830227 22.11.24 10:36 Сейчас в теме
Оставьте свое сообщение