ЭСЧФ Беларусь

1. Slypower 2 19.04.16 12:44 Сейчас в теме
Всем привет. Не секрет, в Беларуси с 1 июля 2016 должна подаваться ЭСЧФ. Кто-нибудь уже работает с ней? Ведь там, вроде, уже 60 компаний Беларуси работает в тестовом режиме.
Сделал я по инструкциям, что на их сайте, но столько вопросов к их информации осталось.

Очень много полезного нам дали разработчики. Внимательно читайте их документацию в eInvVat, которую скачиваете, а так же примерами для 1С служат bat файлы из папки eInvVat\simpleapp\vbs\src\. Не поленитесь и посетить их сайт vat.gov.by. На основании этих знаний все пишут обработки. Если что не понятно, то можно прибегнуть к данной теме.
Важные и полезные ссылки на сайты и на сообщения темы.

Ссылки на сайт портала

Обработки с данной темы

Полезные сообщения темы

Коды процедур для 1С

Вопрос-Ответ

Дополняется со временем
KatrinNight; Pavl0; kar911; Золушка 007; iZhenius; xav; svilsa; Mustard; Gluk_1C; jeniks; 1v7; BotMan4; OSA3; MaskO_rimi; Ni4ka; Igor Igorevich; osharov_d; shiko; merlin1975; cssnavi; Krasowskiy; YegorK; KhomDV; +23 Ответить
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
174. Gladkov_Anton 331 06.05.16 23:08 Сейчас в теме
(157) pasha_2001, публикацию смотрели?
Там есть картинки к публикации. Посмотрите на них - должно быть понятно.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
405. shiko 25.05.16 14:29 Сейчас в теме
Кто подскажет как получить весь список ЭСЧФ с портала которые "НАМ" выставили и которые "МЫ" выставили?
407. Slypower 2 25.05.16 14:39 Сейчас в теме
(405) shiko,
Функция ФорматДаты(ВыбДата) Экспорт
    Год=ДатаГод((ВыбДата));
    Месяц=Формат(ДатаМесяц(ВыбДата),"Ч(0)2.0");
    День=Формат(ДатаЧисло(ВыбДата),"Ч(0)2.0");
	Час=Формат(0,"Ч(0)2.0");
	Минут=Формат(0,"Ч(0)2.0");
	Секунд=Формат(0,"Ч(0)2.0");
    СтрДата=СокрЛП(Год)+"-"+СокрЛП(Месяц)+"-"+СокрЛП(День)+"T"+СокрЛП(час)+":"+СокрЛП(Минут)+":"+СокрЛП(Секунд)+"Z";
    Возврат СтрДата;
КонецФункции  

Процедура Сформировать()
	Перем InvVatNumber;
	
	ПодключитьКомпонентыДоступаКПорталуЭСФЧ();
	EVatAU = 0;
	//Проверяем авторизацию
	if   EVatAU = 0 Then
		ПриАвторизации();
	endif;	
	//  подключение к порталу ЭСФЧ
	if EVatService.Connect("https://vat.gov.by:4443/InvoicesWS/services/InvoicesPort") = 0 then
		Сообщить( "Подключение успешно");
	else
		Сообщить( "Ошибка подключения: " + EVatService.LastError);
		возврат;
	endif; 
	oFSO = CreateObject("Scripting.FileSystemObject");
	

	НужнаяДата=ФорматДаты('00.00.0000'); Сообщить(НужнаяДата);
	ListDocuments = 1;
	InvList = EVatService.GetList(НужнаяДата);
	if InvList =  0 then
		Сообщить( "Ошибка получения списка ЭСЧФ: " + EVatService.LastError);
		возврат;
	endif; 
	ЧислоЭСЧФ=InvList.Count;
	if ЧислоЭСЧФ = 0 then
	   Сообщить( "Нет поступивших документов на сервере");
	   ListDocuments = 1;
	   возврат;
	endif;
        номер=1;
	for i = 0 to ЧислоЭСЧФ-1 do 
	   номер=номер+1;	
	   InvVatNumber = InvList.GetItemAttribute(i, "document/number");	
           Сообщить(номер+InvVatNumber);
		
	EndDo;
	
	ListDocuments = 0;
КонецПроцедуры
Показать

сообщит вам все документы, который вам выставили за весь период
MOHCTP; Parazyte; shiko; +3 Ответить
423. it-prof 25.05.16 20:28 Сейчас в теме
(407) Slypower, затыкается на GetList (Поле агрегатного объекта не обнаружено (GetList))
429. shiko 26.05.16 08:51 Сейчас в теме
(423) it-prof, попробуйте обновить компоненту. EInvVatService.
Прикрепленные файлы:
EInvVatService_setup.exe
433. shiko 26.05.16 10:10 Сейчас в теме
(423) it-prof, Вчера все работало, сегодня обновил компоненту и вывалился в ошибку
435. shiko 26.05.16 10:20 Сейчас в теме
(423) it-prof, Такая ошибка вываливается если не передаешь номер ЭСЧФ
436. Slypower 2 26.05.16 10:28 Сейчас в теме
(435) shiko, в (407) никакой номер задаваться не должен. Возможно дату неправильно вводит. А именно обратите внимание на функцию ФорматДаты(). Там еще и время передается
437. shiko 26.05.16 10:30 Сейчас в теме
(436) Slypower, Перепутал обработки......
438. shiko 26.05.16 10:35 Сейчас в теме
(436) Slypower,

Компоненты доступа к порталу ЭСФЧ загружены
Авторизация успешно
Подключение успешно
2016-05-06T00:00:00Z
Нет поступивших документов на сервере
Вроде с датой все правильно.... Знаю точно что есть одна СФ выставленная нам и нами уже подписанная,но обработка ее не видит. Или обработка покажет только выставленные нам и не подписанные с нашей стороны?
439. Slypower 2 26.05.16 10:41 Сейчас в теме
(438) shiko, да, видит только неподписаные. Это сделано для того, чтобы их подписывать программным способом.
Кстати. Дата и время в 1С7.7 -это неразбериха))
Чтобы увидеть ЭСЧФ, выставленную мне 18 мая, дату я ввел 17 мая. А так не видит.
440. shiko 26.05.16 11:03 Сейчас в теме
(439) Slypower,
Чтобы увидеть ЭСЧФ, выставленную мне 18 мая, дату я ввел 17 мая. А так не видит.

Может в обработке просто поставить "Дата-1" что бы пользователя не смущать.
441. shiko 26.05.16 11:06 Сейчас в теме
(439) Slypower, Тоесть обработка показывает все выставленные нам и не подписанные с нашей стороны СФ от даты по текущий день?
406. pasha_2001 25.05.16 14:33 Сейчас в теме
Что могут означать статусы с портала ЭСЧФ с номером 10000 и Пользователдь с УНП1? или это скорее глюк веб-сервисов?
408. Slypower 2 25.05.16 14:43 Сейчас в теме
(406) pasha_2001, вообще статусы ЭСЧФ:
""  'ЭСЧФсоздан, подписан отправляющей стороной				
"COMPLETED"  'ЭСЧФ создан, подписан обеими сторонами
"COMPLETED_SIGNED" 'На согласовании
				' Данный статус присваивается для дополнительных и исправленных ЭСЧФ в следующих случаях:
				' -   Когда на исходный (исправленный) счет-фактуру, который подписан обеими сторонами,
				' выставляется дополнительный ЭСЧФ с отрицательной суммой;
				' -   Когда на исходный (исправленный) счет-фактуру, который подписан обеими сторонами,
				' выставляется исправленный ЭСЧФ.
"ON_AGREEMENT" 'Аннулирован
"CANCELLED" 'На согласовании на аннулирование
"ON_AGREEMENT_CANCEL" 'ЭСЧФ создан, не подписан
"IN_PROGRESS"'ЭСЧФ создан, не подписан, содержит ошибки
 "IN_PROGRESS_ERROR" 'Неизвестный статус
Показать
409. Slypower 2 25.05.16 15:10 Сейчас в теме
Обращайте внимание, при переделке с бат файла, может не правильно работать в 1С. Там иногда где "<>" нужно "="
410. Clara 25.05.16 15:49 Сейчас в теме
Ошибка при проверке XML <Причина: Согласно модели содержимого родительского элемента "{http://www.w3schools.com}general", элемент "{http://www.w3schools.com}dateIssuance" является непредвиденным.
Требуется: {http://www.w3schools.com}dateTransaction.; Текст: ; Код: -1072898028> Документ не соответствует требуемой схеме xsd.

<?xml version="1.0" encoding="UTF-8"?>
<issuance xmlns="http://www.w3schools.com" sender="400052327">
<general>
<number>400052327-2016-0000000014</number>
<dateTransaction>2016-05-25</dateTransaction>
<documentType>ORIGINAL</documentType>
</general>
Что не так?
411. shiko 25.05.16 15:57 Сейчас в теме
(410) Clara, В теории все правильно,..... файлик выложите, посмотрим в живую в него.
421. stavrosoleg 10 25.05.16 20:05 Сейчас в теме
(410) У вас или схемы старые или вы скидываете кусок не того файла, там же явно ругается на dateIssuance, а у вас в листинге его нет
412. Clara 25.05.16 16:00 Сейчас в теме
файл
Прикрепленные файлы:
454545.xml
413. Slypower 2 25.05.16 16:14 Сейчас в теме
(412) Clara, верхний элемент должен быть такой:
xml_ЗаписатьНачалоЭлемента("<issuance>"," xmlns="""+"http://www.w3schools.com"""+" xmlns:xsi="""+"http://www.w3.org/2001/XMLSchema-instance"""+" xsi:schemaLocation="""+"http://www.w3schools.com"""+" sender="""+лев(фНомерЭСЧФ,9)+"""");

при продаже в внутри РБ, убедитесь, нужно ли нижние строки:
-<descriptions>
<description>DEDUCTION_IN_FULL</description>
</descriptions>

Вообще, нет, если обычная реализация
415. shiko 25.05.16 17:11 Сейчас в теме
(413) Slypower, У меня на портал улетают в таком виде

<?xml version="1.0" encoding="UTF-8" ?>
- <issuance xmlns="http://www.w3schools.com" sender="100819821">
- <general>
414. oks25 25.05.16 16:38 Сейчас в теме
Подскажите, кто работает в 1с 7.7 Бухгалтерия. Кто прольет свет на формирование xml bp 7-ки. Спасибо!
419. shiko 25.05.16 17:27 Сейчас в теме
(414) oks25, Какой свет нужно пролить?
Как формировать?
424. oks25 25.05.16 20:31 Сейчас в теме
(419) shiko, да, меня интересует с процесс формирования, нужно ли в 1с создавать Счет-фактуру? До этого Не сталкивалась с форматом xml? с чего начинать?
420. stavrosoleg 10 25.05.16 19:53 Сейчас в теме
(414) oks25, выше обработки готовые лежат, с алгоритмом формирования
422. oks25 25.05.16 20:19 Сейчас в теме
(420) stavrosoleg, Спасибо, подскажите нужно ли создавать в 1с на основании расхТТн Счет-фактуру?
425. stavrosoleg 10 25.05.16 23:39 Сейчас в теме
(422) Нужно создавать. Вот ТУТ подробно все описано в "Проект Инструкции по заполнению электронного счета-фактуры"
416. Slypower 2 25.05.16 17:14 Сейчас в теме
Реализовал кто подписку выставленных счет-фактур? Я реализовал нахождение и скачку файла с названием .sgn. А вот как программу заставить считать этот файл и подписать для отправки?
Может тогда и возникает вопрос: Кто научился расшифровывать .sgn и .ticket -файлы?
417. shiko 25.05.16 17:18 Сейчас в теме
(416) Slypower, может .sgn подписывается тем же макаром как и xml?. Не пробовали?
442. dim_1c 26.05.16 11:43 Сейчас в теме
(416) Slypower, упрощенно, без проверок...
EDoc = EVatService.GetEDoc(НомерЭСЧФ);
res = EDoc.Sign(0);
res = EVatService.SendEDoc(EDoc);
InvVatTicket = EVatService.Ticket;
res = InvVatTicket.SaveToFile(fn);
443. Slypower 2 26.05.16 11:46 Сейчас в теме
(442) dim_1c, Только закончил реализацию со всеми проверками. Т.е. я беру выставленные нам доки и подписываю их с отправкой на портал.
Пока работает для одного дока. Выставьте мне, пожалуйста, пару ЭСЧФ, хочу доделать для массовой подписки. Только вот еще нужно будет подумать, как это сравнивать с доками в базе 1С
450. Nykos 26.05.16 13:18 Сейчас в теме
(443) Slypower, а у вас выставленные нам выгружаются в документ 1с? Или просто фоном подписываются и отправляются обратно?
451. Slypower 2 26.05.16 13:32 Сейчас в теме
(450) Nykos, пока просто фоном. Думаю не загружать в 1с. Тем более, что книгу покупок мы не ведем, а выставляют нам только услуги
444. dim_1c 26.05.16 11:47 Сейчас в теме
(416) Slypower, про расшифровку спрашивали для 1С или просто посмотреть?
446. Slypower 2 26.05.16 11:51 Сейчас в теме
(444) dim_1c, Все работает для нескольких файлов. Короче, работает все))) Расшифровка - не спрашивал. Сам понял одно:
в файле sgn идет идет индивидуальный код выставленного или загруженного ЭСЧФ. Методом LoadFromFile() мы находим на портале этот ЭСЧФ и загружаем его. Получается, мы его можем скачать на комп (хотя это нужно еще смотреть) и сравнивать то, что нам выставили и подписать или нет
448. dim_1c 26.05.16 12:00 Сейчас в теме
(446) Slypower, "Кто научился расшифровывать .sgn и .ticket -файлы?" Там кодировка base64 или zip;base64. Можно декодировать тут. По второй кодировке (+zip) сохраняете в файл, добавляете .zip, и внутри архива нужный файл. А в 1С просто GetXmlNodeValue и GetXmlNodeAttribute.
426. Nykos 26.05.16 08:01 Сейчас в теме
Каким образом применять UUID из справочников, выложенных на портале?
427. Bonia 26.05.16 08:19 Сейчас в теме
Кто знает адрес техподдержки кочу им сбросить пару косяков?
428. Nykos 26.05.16 08:34 Сейчас в теме
430. shiko 26.05.16 08:54 Сейчас в теме
Может кто выставит СФ на УНП 100819821. Хочу проверить получение ЭСЧФ.
431. Slypower 2 26.05.16 09:34 Сейчас в теме
Обратите внимание, при выставлении ЭСЧФ из 1С нумерация товара на портале начинается с 2. Чтобы начиналась с 1, нужно при выгрузке делать нумерацию с 0.
432. Nykos 26.05.16 09:42 Сейчас в теме
(431) Slypower, А еще заметил такую особенность, что при выгрузке, например, трех ЭСЧФ с номерами 1,2 и 3 соответсвенно, на портале они расположены в порядке 2,1,3.

P.S. У меня нумерация товаров начинается с единицы...
434. Slypower 2 26.05.16 10:12 Сейчас в теме
Информируем Вас о том, что обновилась новая версия ПО для массовой подписи ЭСЧФ. Данное ПО доступно по ссылке.


— 23.05.2016

Но на сайте нет еще данной обновы. Возможно все из-за этого сыпится
Хотя у меня все работает
445. Gladkov_Anton 331 26.05.16 11:49 Сейчас в теме
В коммерческой версии реализованы и протестированы функции:
1. Отправка ЭСЧФ на портал (без промежуточного сохранения в файл)
2. Получение списка новых ЭСЧФ с портала
3. Загрузка с портала ЭСЧФ (без промежуточного сохранения в файл)
4. Получение текущего статуса ЭСЧФ
5. Автоматическое подключение сертификата ЭЦП с однократным вводом пароля или БЕЗ ввода пароля.
Подробнее тут http://shoutout.wix.com/so/0LJheoQL#/main
447. Slypower 2 26.05.16 11:54 Сейчас в теме
(445) Gladkov_Anton, Для какой версии 1С? Получается, мне осталось все объединить и тоже могу продавать).
461. Gladkov_Anton 331 26.05.16 14:48 Сейчас в теме
449. shiko 26.05.16 12:25 Сейчас в теме
Выставте парочку СФ на УНП 100819821
466. Slypower 2 26.05.16 16:06 Сейчас в теме
(449) shiko, Выставлял вам пару ЭСЧФ. Вы будете их подписывать?
469. shiko 26.05.16 16:20 Сейчас в теме
По(466) Slypower, Подпишу. Главное что я их получил в 1С. Если Вам критично могу прямо сейчас, если не критично пусть пока поболтаются в таком виде, Хочу подписать из 1С
452. shiko 26.05.16 13:43 Сейчас в теме
Спасибо за СФ. Все получил но есть вопрос. Мне в 1С выскакивеет вот такое сообщение
Компоненты доступа к порталу ЭСФЧ загружены
Авторизация успешно
Подключение успешно
2016-05-01T00:00:00Z
190258845
190258846
Вроде как УНП отправителя, только вот последняя цифра на конце отличается на еденицу. Это глюк ?
453. Slypower 2 26.05.16 13:49 Сейчас в теме
(452) shiko, УНП наш ни один из. Что вы выводите в сообщить()?
454. shiko 26.05.16 14:02 Сейчас в теме
(453) Slypower,

for i = 0 to ЧислоЭСЧФ-1 do
номер=номер+1;
InvVatNumber = InvList.GetItemAttribute(i, "document/number");
Сообщить(номер+InvVatNumber);

EndDo;
455. Nykos 26.05.16 14:08 Сейчас в теме
(454) shiko, может
Сообщить("номер"+InvVatNumber);
? Или номер у тебя переменная?
457. shiko 26.05.16 14:19 Сейчас в теме
(455) Nykos, Спасибо что тыкнули носом.....)))
"номер=номер+1" а потом плюс УНП вот и получается косяк )))
459. Nykos 26.05.16 14:24 Сейчас в теме
(457) shiko, а блин, я кроме последней строки код и не глянул xD
456. dim_1c 26.05.16 14:18 Сейчас в теме
(454) shiko,
Сообщить(Строка(i+1) + ". " + InvVatNumber);
458. bobrhleb 26.05.16 14:23 Сейчас в теме
Привет всем!
Появляется ошибка:
"Ошибка подключения. Нет доверия сертификату. [keyid= ]"
В чем может быть проблема?
460. eshtrey 26.05.16 14:32 Сейчас в теме
(458) bobrhleb, добавь в доверенные в персональном менеджере
462. bobrhleb 26.05.16 14:50 Сейчас в теме
(460) eshtrey, Спасибо, так и есть.
463. dim_1c 26.05.16 15:13 Сейчас в теме
У вас EInvVatService.StatusInfo.Since возвращает текущую дату? (вместо даты начала действия статуса документа)
464. shiko 26.05.16 15:42 Сейчас в теме
Кто подскажет что возвращает EVatService.GetEDoc(InvVatNumber)?
Непосредственно саму ЭСЧФ?
И есть ли у кого описания для EInvVatService и ее процедурам.
465. Slypower 2 26.05.16 16:02 Сейчас в теме
(464) shiko, Описание идет в папке DOC архива eInvVAt. Скажу честно, сложное описание. А так GetEDoc(InvVatNumber) - получает ЭСЧФ на портале с номером InvVatNumber для дальнейшего его изучения
467. shiko 26.05.16 16:16 Сейчас в теме
(465) Slypower, Спасибо. Я даже и не заглянул в эту папку....Сижу vba-шки читаю.
У меня где то валялась програмулька которая vba переводила в 1С7.7.
Если кому нужно скажите, постараюсь дома покопаться и, если найду скину сюда.
468. Migleon 26.05.16 16:20 Сейчас в теме
Кто подскажет, почему в теге general добавляется еще и параметр xmlns. Да еще и тег issuance лупит одной строкой. Как сделать, чтобы параметры, теги начинались с новой строки?
<issuance xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com" sender="200309711"><general xmlns=""/></issuance>

	Сообщить("Создали XML_DOM");
	
	//Создадим документ опишим его заголовок
	Header = XML_DOM.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""" ); 
	
	//загловок нашего XML
	XML_DOM.appendChild(Header);
	
	issuance=XML_DOM.createElement("issuance");
	issuance_atr1=XML_DOM.createAttribute("xmlns");
	issuance_atr1.nodeValue="http://www.w3schools.com";
	issuance_atr2=XML_DOM.createAttribute("xmlns:xsi");
	issuance_atr2.nodeValue="http://www.w3.org/2001/XMLSchema-instance";
	issuance_atr3=XML_DOM.createAttribute("xsi:schemaLocation");
	issuance_atr3.nodeValue="http://www.w3schools.com";
	issuance_atr4=XML_DOM.createAttribute("sender");
	issuance_atr4.nodeValue=Константа.УННОрганизации;
	issuance.setAttributeNode(issuance_atr1);
	issuance.setAttributeNode(issuance_atr2);
	issuance.setAttributeNode(issuance_atr3);
	issuance.setAttributeNode(issuance_atr4);
	
	general=XML_DOM.createElement("general");
	issuance.appendChild(general);
	
	XML_DOM.appendChild(issuance);
Показать
475. Slypower 2 26.05.16 17:21 Сейчас в теме
(468) Migleon, все из-за строки:
 issuance_atr1=XML_DOM.createAttribute("xmlns");

Это подымалось уже в теме, мной даже. И решение есть там, лень искать и заново писать. Смысл тот, что нужно делать с проверкой: если самый верхний элемент, то ставить, иначе нет.
(469) не критично, просто интересно, как будет выглядеть. P.S. Если будут вопросы с подписанием из 1С, спрашивай)
(474) у меня, например, все одинаково там. Только вот уже отличие: наш адрес и наше место отправление - разные места. УНП вводится- потому что только по УНП портал ищет организации, а остальная инфа для "на будущее, чтобы была, когда понадобится". И еще, юр лицо одно, а магазинов много. Место доставки каждого магазина разное, но договор с ЮР-лицом, евроторг (евроопт), например
479. shiko 27.05.16 09:27 Сейчас в теме
(475) Slypower,

Есть вопрос по проверки подписи в полученном документе.
Из vba-шки Send2EDocument.vbs взял функцию function VerifyAllSigns(InvVatXml)
InvVatNumber = InvVatXml.Document.GetXmlNodeValue("issuance/general/number"); мне не возвращает номер документа , ну и соответственно кол-во подписей (signCount = InvVatXml.GetSignCount();) у меня "НОЛЬ".....
Ухожу на условие
Если signCount = 0 Тогда
Сообщить( "Ошибка: документ №" + InvVatNumber + " не содержит ЭЦП");
VerifyAllSigns = 1;
Возврат(VerifyAllSigns);
КонецЕсли;
Как вы решили эту проблему.????????
Вчера до трех ночи колупал........(((((((
480. Slypower 2 27.05.16 09:45 Сейчас в теме
(479) shiko, данная функция вызывается в процедуре VerifySignSendFile(DocFile). Они годна для подписанных документов, т.е. с вида: .sng.xml. Проверьте, правильно ли у вас задано имя дока: InvVatXml.
InvVatXml = EVatService.CreateEDoc; 
res = InvVatXml.LoadFromFile(DocFile);
if res <> 0 then //В случае успешного выполнения возвращается 0, иначе возвращается код ошибки. 
	Сообщить("Ошибка чтения файла: " + EVatService.LastError);
	Возврат;
endif;

DocFile-передать только номер ЭСЧФ без расширения
483. shiko 27.05.16 09:59 Сейчас в теме
(480) Slypower, Тоесть я должен сначала сохранить фаил на комп?
485. Slypower 2 27.05.16 10:06 Сейчас в теме
(483) shiko, не обязательно, если этот номер равен той, что отправляем, то его присваивать. Либо в 1С реквизит с номером в доке, тогда оттуда будет брать DocFile.
Если вы делаете через цикл, то просто при пересмотре каждого документа использовать:
DocFile = InvList.GetItemAttribute(i, "document/number");

А что вы хотите сделать вообще?
488. shiko 27.05.16 10:16 Сейчас в теме
(485) Slypower,

Для i = 0 По ЧислоЭСЧФ-1 Цикл
InvVatNumber = InvList.GetItemAttribute(i, "document/number");
Сообщить("invoice-" + InvVatNumber + ".sgn.xml");
//Сообщить(Строка(i+1) + ". " + InvVatNumber);

InvVatXml = EVatService.GetEDoc(InvVatNumber);

// вызов Проверка ЭЦП
res = VerifyAllSigns(InvVatXml);
Ну и так далее
490. Slypower 2 27.05.16 10:21 Сейчас в теме
(488) shiko, а что вам мешает проверять не подпись, а статус:
	InvVatStatus = EVatService.GetStatus(InvVatNumber)
	res = InvVatStatus.Verify();
	if  InvVatStatus <>  0 then
	   сообщить( "Статус: " + InvVatStatus.Status);
	   сообщить( "Статус: " + InvVatStatus.Message );
	else
		Сообщить( "Ошибка статуса: " +InvVatStatus.LastError);
		возврат;
	endif;  
;
Показать
493. shiko 27.05.16 10:32 Сейчас в теме
(490) Slypower, В теории можно и так. Если мне его выставили значит он подписан, и какая разница сколько там подписей, и какая там подпись.
А как у Вас сей момент реализован с проверкой, подписанием и отправкой выставленных ЭСЧФ?
Вы себе сохраняете .sgn.xml на комп, или подключились получили фаил с сервера, подписали и отправили, не сохраняя у себя?
494. Slypower 2 27.05.16 10:46 Сейчас в теме
(493) shiko, пока все по отдельности с сохранением временных файлов. Но не вижу труда в объединении. Циклом перебрать входящие и подписать их в этом же цикле
Метод GetList - Получение списка поступивших в АС портала в адрес получателя ЭСЧФ.
Метод GetEDoс - Получение подписанного электронного документа из службы регистрации электронных документов.
496. shiko 27.05.16 11:16 Сейчас в теме
(494) Slypower, Ткните меня носом что я не так делаю. Пишет что подписан не отправлен. Захожу на портал Ваши СФ лежат в папке не подписанные.......
Прикрепленные файлы:
СФ выставленные нам подписать и отправить.ert
498. Dnki 4 27.05.16 11:29 Сейчас в теме
(496) shiko, Помочь пока не могу. Но с интересом посмотрел работу.
Может скажете, для чего InvVatStatus.Verify()?

InvVatStatus = EVatService.GetStatus(InvVatNumber);
res = InvVatStatus.Verify();
if InvVatStatus <> 0 then
500. shiko 27.05.16 11:37 Сейчас в теме
(498) Dnki, Я пытался проверить подпись входящего дока, но не получилось в (490) Slypower, мне подсказал проверить статус, если документ выставлен мне значит он подписан со стороны продавца. InvVatStatus.Verify() возвращает мне
Статус: COMPLETED
Статус: Выставлен
501. Slypower 2 27.05.16 11:43 Сейчас в теме
(496) shiko, сейчас посмотрю.
Вот что интересное придумал))) Я получаю счет для нового ЭСЧФ из txt файла, поэтому он там всегда есть. Пот что придумал для просмотра всех ЭСЧФ.
ПолучитьСчетЭСЧФ(СчетЭСЧФИзФайла);
	номердок=0;
	номердок=Формат(номердок,"Ч(0)9.0");
	для ш=0 По СчетЭСЧФИзФайла Цикл
	номердок=номердок+1;	
 	InvVatStatus = EVatService.GetStatus("УНП-2016-"+номердок);
	res = InvVatStatus.Verify();
	if  InvVatStatus <>  0 then
	   сообщить( "Статус: "+ InvVatStatus.Message );
	   Прервать;
	else
		Сообщить( "Ошибка статуса: " +InvVatStatus.LastError);
		возврат;
	endif;  
	КонецЦикла;
Показать

получит все ваши выставленные ЭСЧФ с 0000000001 по последнюю)) По желанию можно не сообщать отсуствующие))
p.s. сайт лежит у всех или только у меня?
UncleBob; +1 Ответить
503. shiko 27.05.16 11:52 Сейчас в теме
(501) Slypower, Сайт открывается
504. Dnki 4 27.05.16 11:53 Сейчас в теме
(501) Slypower, И здесь тоже
res = InvVatStatus.Verify();
Ведь результат нигде не используется. Лично я писать под копирку не умею.
А описание метода мне не очень понятно. Не вижу разницы с GetStatus
506. Slypower 2 27.05.16 12:01 Сейчас в теме
(504) Dnki, Verify — проверка ЭЦП;
Status — статус документа
используются в классе EDocList. Класс EDocList предназначен для работы со списком ЭСЧФ, поступивших в адрес получателя.
Получение текущего статуса обработки электронной счет-фактуры автоматизированным сервисом.
Входные параметры:
• Number — уникальный номер искомой счет-фактуры.
Вот и разница, в вашем случае для определенного, в нашем для списка
507. shiko 27.05.16 12:03 Сейчас в теме
(504) Dnki, EVatService.GetStatus(InvVatNumber) = OLE.IStatusInfo где InvVatNumber это номер ЭСЧФ
OLE.IStatusInfo это набот статусов, и для того чтобы получить конкретный статус (InvVatStatus.Status. или InvVatStatus.Message) делаем
InvVatStatus.Verify() из которого получаем статусы.
516. shiko 27.05.16 13:31 Сейчас в теме
Slypower Не смотрели мое художество в (496). Что там не так. Мои мысли уже иссякли........(((((((((
517. Slypower 2 27.05.16 14:20 Сейчас в теме
(516) shiko, в чем проблема?
Компоненты доступа к порталу ЭСФЧ загружены
Авторизация успешно
Подключение успешно
0-00-00T00:00:00Z
invoice-100819821-2016-0000000031.sgn.xml
Статус: COMPLETED
Статус: Выставлен
Файл 100819821-2016-0000000031 подписан!
Файл 100819821-2016-0000000031 отправлен!
Показать

P.S. Ничего не менял
520. shiko 27.05.16 14:45 Сейчас в теме
(517) Slypower,
А у меня
Компоненты доступа к порталу ЭСФЧ загружены
Авторизация успешно
Подключение успешно
2016-05-01T00:00:00Z
invoice-190258843-2016-0000000005.sgn.xml
Статус: COMPLETED
Статус: Выставлен
Файл 190258843-2016-0000000005 подписан!
Файл 190258843-2016-0000000005 не отправлен
invoice-190258843-2016-0000000006.sgn.xml
Статус: COMPLETED
Статус: Выставлен
Файл 190258843-2016-0000000006 подписан!
Файл 190258843-2016-0000000006 не отправлен
Зашел на портал вижу СФ выставленную Вам со статусом Выставлен. Подписан получателем
521. Slypower 2 27.05.16 14:50 Сейчас в теме
(520) shiko, скачайте саму фактуру, которую вам выставили и посмотрите. Портал глючит и может отправлять не валидатную ЭСЧФ. Может вы забываете закрывать отчет и заново открывать после изменения
да еще. У нас ЭСЧФ с такими номером штуки 4, только одни из них выставлена вам, остальные с ошибками. Скорее он находит первую с ошибкой и не может ее пописать, или же мы не можем на нее принять, т.к. время создания ее раньше всех, но она висит с ошибкой
524. shiko 27.05.16 15:15 Сейчас в теме
(521) Slypower, Вроде в файле все нормально. Обработка сохранена......
У меня кроме Ваших двух во входящих еще 15 СФ выставленных, видит только ваши......

Мистика.......
Прикрепленные файлы:
invoice-190258843-2016-0000000006.xml
525. shiko 27.05.16 15:18 Сейчас в теме
(521) Slypower, Можете мне выставить с недублирующимся номером?
527. shiko 27.05.16 15:24 Сейчас в теме
(521) Slypower, Руками с сайта подписалась без проблем
588. oksanka11041992@mail.ru 31.05.16 11:19 Сейчас в теме
Передаю дату в формате 2016-05-31T11:17:08+03:00, всё равно ругается на GetList. В чем еще может быть причина?
InvList = EVatService.GetList(НужнаяДата);
{C:\USERS\OKSANA.DP\DESKTOP\РАБОЧАЯБАЗАЭСЧФ\EXTFORMS\ВНЕШНИЕОТЧЕТЫИОБРАБОТКИ\­ВЫГРУЗКАЭСЧФПОНДС.ERT(520)}: Поле агрегатного объекта не обнаружено (GetList)
592. bobrhleb 31.05.16 11:30 Сейчас в теме
(588) oksanka11041992@mail.ru, возможно дело в этом?

EVatService=Новый COMОбъект("EInvVatService.Connector");
это для 1сv8
596. oksanka11041992@mail.ru 31.05.16 11:47 Сейчас в теме
(592) bobrhleb, делаю для 1С7.7, создаю объект
EVatService = СоздатьОбъект("EInvVatService.Connector");
компонента для доступа к порталу стоит, исходящие выгружаются, когда пытаюсь загрузить входящие с помощью этой компоненты, коннектится, т.е. дело не в компоненте, но как только пытаюсь использовать GetList, ругается, что поле агрегатного объекта не обнаружено.
601. Slypower 2 31.05.16 12:30 Сейчас в теме
(588) oksanka11041992@mail.ru,
Метод GetList - Получение списка поступивших в АС портала в адрес получателя ЭСЧФ.
Метод GetEDoс - Получение подписанного электронного документа из службы регистрации электронных документов.
	if EVatService.Connect("https://vat.gov.by:4443/InvoicesWS/services/InvoicesPort") = 0 then
		Сообщить( "Подключение успешно");
	else
		Сообщить( "Ошибка подключения: " + EVatService.LastError);
		возврат;
	endif; 
	InvList = EVatService.GetList(НужнаяДата);
	if InvList =  0 then
		Сообщить( "Ошибка получения списка ЭСЧФ: " + EVatService.LastError);
		возврат;
	endif; 
Показать

Все так делаете?
603. oksanka11041992@mail.ru 31.05.16 12:48 Сейчас в теме
(601) Slypower, всё так и делала, как оказалось, у меня стояла еще апрельская версия EInvVatService, в которой не было метода GetList, после обновления всё заработало
497. Dnki 4 27.05.16 11:22 Сейчас в теме
(493) shiko, Интересно узнать мысли коллег насчет работы со входными СФ.
Я про общую методику. И задача не в машинальном подписании документов.
А их нужно увязать с БД. Мне предполагается такой сценарий:
- забрал список (с какой даты?) GetList
- перебираю циклом:
- получил документ
- извлечь из него 2 вещи: Номер СФ, Номер бланка (человеческий)
- ищу у себя в базе Приходную с таким "Номер бланка"
- если не нашел - сообщение в протокол
- если нашел:
- в служебном поле Приходной вписал Номер СФ.
- отправил на портал подпись
- поставил в документе отметка "Есть входящий СФ"

В результате Приходные (и др. входящие) получили некие отметки. Которые:
- отражаются в журнале
- печатаются в Книге пок.

Никакие фалы сохранять не буду, ни сами документы, ни квитанции. Только мусор.
Кто-то уже так сделал?
499. shiko 27.05.16 11:31 Сейчас в теме
(497) Dnki, В теории подход правильный, но как "- извлечь из него 2 вещи: Номер СФ, Номер бланка (человеческий) "

Вот что мне на комп сохранилось
Как из этого вытащить Номер и серию ТТН???
Прикрепленные файлы:
invoice-190258843-2016-0000000005.edoc.xml
505. Dnki 4 27.05.16 11:57 Сейчас в теме
(499) shiko, я понимаю так: это т.н. "Класс EDocument".
Используя его можно получать более детальные сведения. Может методы:
• GetData — получение документа (сериализация);
• Document — свойство для доступа к вложенному документу;
667. selus 01.06.16 14:01 Сейчас в теме
(497) Dnki,
Не выйдет, частично справедливо для номерных документов, а как сверять услуги сторонних организаций или например не к ночи пошлины, счета на эл-во воду и т.д. они в большинстве неномерные. Сегодня пытался обсудить это в налоговой. Все все понимают но ничего сделать не могут (и посоветовать тоже)... Короче им по барабану. На самом деле нет опорного реквизита для сверки кроме номера накладной...
2074. an2007 06.07.16 15:52 Сейчас в теме
Всем привет, кто подскажет какой сейчас формат даты на получение списка выставленных ЭСЧФ?
Было вроде-бы так:
ДатаНачала = "2016-07-01T 00:00:00"
Ошибка:
InvList = EVatService.GetList(ДатаНачала);
{D:\CONFIG\EXTFORMSADD\EINVVATSERVICE.ERT(488)}: Плохой тип переменной
2075. Slypower 2 06.07.16 16:13 Сейчас в теме
(2074) an2007, возможно пробел после Т лишний
2076. an2007 06.07.16 16:40 Сейчас в теме
(2075) Slypower, тоже не проходит, вот код:
ДатаНачала = "" + ДатаХМЛ(ДатаНач1) + "T00:00:00";
InvList = EVatService.GetList(ДатаНачала);
В отладчике:
ДатаНачала = "2016-07-01T00:00:00"

P.S. Буква "T" я так понимаю на латинице.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот