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

1. Slypower 3 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 06.05.16 23:08 Сейчас в теме
(157) pasha_2001, публикацию смотрели?
Там есть картинки к публикации. Посмотрите на них - должно быть понятно.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3241. residentishe 12.08.16 12:46 Сейчас в теме
(3232) Спасибо.. не подумал, что пользователь будет перетыркивать ключ.
Проблема в том, что 1С запускается как RemoteAPP...
3233. wladimir_u 5 12.08.16 11:39 Сейчас в теме
(3230) residentishe,
Может кто еще задавался вопросом работы в терминале? Есть около 14 ключей, который хотелось бы пробросить через RDP.

14 ключей - это конечно круто... ) если, как у нас, ключ один, он торчит в с сервере, и в терминальном режиме, если запускать с правами админа, то все работает нормально.
3237. stalcker 12.08.16 12:17 Сейчас в теме
(3233) wladimir_u,
я на момент установки в терминале, на пользователя даю админовские права, а дальше вся работа идет от пользвателя
3231. egor_gsm 12.08.16 11:37 Сейчас в теме
Народ, киньте в меня куском модуля по получению с портала на 7.7, туплю страшно((((
3234. leoner61 1 12.08.16 12:00 Сейчас в теме
добрый день,заранее извиняюсь ,за вопросы.1-если счета выставляем за июль ,то в <dateIssuance>2016-08-12</dateIssuance>(дата выставления), должна быть дата загрузки на портал ,или любая июльская,потому как возник вопрос,что с той стороны подписывать не будут? Получается,что надо все аннулировать?или уже все равно.2-если ндс 10%,нужен ли код Товара?
3246. bobrhleb 12.08.16 13:00 Сейчас в теме
(3234) leoner61, <dateIssuance> проставляется на портале, в загружаемом xml этого не должно быть.
Кстати,можно как-нибудь вытянуть <dateIssuance> при получении входящих?
3249. millik 12.08.16 13:06 Сейчас в теме
(3246) bobrhleb, да можно EDoc.Document.GetXmlNodeValue("issuance/general/dateIssuance").


Повторю вопрос.
Пытаюсь забрать входящие с портала. Пишу
InvList = EVatService.GetList(fromDate);
ЧислоЭСЧФ = InvList.Count(); 

А мне вываливает ошибку "Значение не является значением объектного типа (Count)".
Может они опять там что-то поменяли? Сталкивался кто?
bobrhleb; +1 Ответить
3254. ASDCXZ 12.08.16 13:13 Сейчас в теме
(3249) millik, С утра пробую получить - результата нет. При запросе GetList сегодня ругается на параметр (вчера всё было в норме).
3365. Dnki 4 16.08.16 08:22 Сейчас в теме
(3249) millik, Да ничего не меняли и ничего тут не сделаешь.
Надо просто проверять результат.
	Счета = EVatService.GetList(Формат(ДатаНач, "ДФ=yyyy-MM-ddTHH:mm:ssZ"));
	Если Счета = Неопределено Тогда
		Предупреждение("Не читается список", 1);
		Возврат Неопределено;
	КонецЕсли;
3251. Slypower 3 12.08.16 13:08 Сейчас в теме
(3246) bobrhleb, аналогично как и остальные же
bobrhleb; +1 Ответить
3255. VicCharp 12.08.16 13:17 Сейчас в теме
(3246) bobrhleb, можно не сохраняя документ GetSignProperty(t, "SIGNDATE", 0), где t - номер счета
GetSignProperty(t, "2.5.4.4", 0) и GetSignProperty(t, "2.5.4.41", 0) Фамилия и Имя подписавшего
3258. bobrhleb 12.08.16 13:28 Сейчас в теме
(3255) VicCharp, Откуда дровишки? Можно ссылку на все это волшебство?
3260. VicCharp 12.08.16 13:33 Сейчас в теме
(3258) bobrhleb, из доков официальных ))
Метод GetSignProperty
Метод позволяет получить атрибут подписи либо сертификата подписавшего в документе.
Входные параметры:
• IDX — индекс подписи, первая подпись соответствует индексу 0.
• OID — идентификатор требуемого атрибута подписи. Если в параметре передано значение «SIGNDATE», будет возвращена дата подписания документа, иначе в параметре необходимо передать OID атрибута сертификата подписавшего.
Список атрибутов из поля владелец (subject) сертификата:
o 2.5.4.3 — общее имя (CommonName);
o 2.5.4.10 — наименование организации (organizationName);
o 2.5.4.11 — подразделение организации (organizationalUnitName);
o 2.5.4.7 — населенный пункт (localityName);
o 2.5.4.8 — область(stateOrProvinceName);
o 2.5.4.9 — улица (streetAddress);
o 2.5.4.4 — фамилия ответственного лица (surname);
o 2.5.4.41 — имя отвественного лица (name).
Возможно получение и других атрибутов из сертификата подписавшего.
• Flags — набор флагов. Зарезервировано. Необходимо передавать 0.
Результат:
В случае успешного выполнения возвращается требуемый атрибут в виде строки. Подробности ошибки можно получить, используя свойство LastError объекта Connector.

ну и полез в менеджер сертификатов посмотрел свойства сертификата
3262. bobrhleb 12.08.16 13:39 Сейчас в теме
(3260) VicCharp, спасибо, буду внимательнее читать официальные доки)
3300. 1giga 12.08.16 20:38 Сейчас в теме
(3260) VicCharp, спросил у службы поддержки как получить УНП подписавшего - нифига не ответили. хотя в инструкции они написали, что можно и другие атрибуты подписи получить.
3320. VicCharp 15.08.16 09:11 Сейчас в теме
(3300) 1giga, в сертификате УНН прописан под 1.3.6.1.4.1.12656.106.104 , попробовать запросить... Но это не OID поле, так что не знаю получится ли
3363. 1giga 16.08.16 04:45 Сейчас в теме
(3320) VicCharp, прокатило, - работает! и во входящих подписанных хмл-ках тоже читает.
3364. 1giga 16.08.16 04:46 Сейчас в теме
3259. leoner61 1 12.08.16 13:32 Сейчас в теме
(3246) <dateIssuance>2016-08-12</dateIssuance>
<dateTransaction>2016-07-18</dateTransaction>
<documentType>ORIGINAL</documentType> из 1с выгружаем
3261. bobrhleb 12.08.16 13:38 Сейчас в теме
(3259) leoner61, Не знаю, я <dateIssuance> не выгружаю и вот уже более 12к счетов прошло. А как вам такая ситуация: сегодня вы поставили 12 число в xml в <dateIssuance>, а портал потух. Что будете делать с этой xml завтра, переформировывать?
3235. Slypower 3 12.08.16 12:01 Сейчас в теме
Да, статусы и отправка из 1С меня радует. Но вот прием входящих с портала сегодня ни на тестовом ни на рабочем не проходят
3236. millik 12.08.16 12:07 Сейчас в теме
Пытаюсь забрать входящие с портала. Пишу ЧислоЭСЧФ = InvList.Count(); А мне вываливает ошибку "Значение не является значением объектного типа (Count)". Может они опять там что-то поменяли? Сталкивался кто?
3238. ASDCXZ 12.08.16 12:42 Сейчас в теме
Сервис, вроде, работает, но при запросе GetList для проверки новых поступивших ЭСЧФ ругается на плохой тип переменной. Что не так с >2016-07-01T00:01:00Z<? Или может что-то поменялось?
3239. BigSerpent 12.08.16 12:44 Сейчас в теме
Не пойму, что происходит. Отправляю на основной сервер https://ws.vat.gov.by:443/InvoicesWS/services/InvoicesPort подписанную счет-фактуру. Сервис возвращает "Выставлен" и тикет. Захожу на портал - среди выставленных его нет.
3242. bobrhleb 12.08.16 12:47 Сейчас в теме
(3239) BigSerpent, может на тестовый заходите? У меня меня так получалось)
3244. millik 12.08.16 12:53 Сейчас в теме
(3239) BigSerpent, Могу посоветовать после отправки на портал, сразу проверять статус. И только тогда решать отправилась она на портал или нет.
С этим кактусов вообще нужно много разных проверок с разных сторон, чтобы убедиться, что все сработало так как надо.
3245. residentishe 12.08.16 12:59 Сейчас в теме
(3244) проверять статус сразу конечно хорошо. Но как на автомате сделать корректно создание ЭСЧФ с типом "Исправленный"?
По сути человеку нужно на портале аннулировать.. потом в учетной системе проставить статус "Аннулировано" (или забирать статус автоматом). Только после этого делать ЭСЧФ с типом "исправленный" и указать ссылку на исправленный документ.

Пока я пошел по пути наименьшего сопротивления и сделал возможность загружать статусы с выборкой "за период", по клиенту\списку клиентов. Руками все же запаряться они все делать... Оборот ЭСЧФ примерно 16000 в месяц.
3250. bobrhleb 12.08.16 13:07 Сейчас в теме
(3245) residentishe, Так когда делаешь исправленный со ссылкой на исходный(исправленный), то исходный(исправленный) автоматом аннулируется. Вам потом просто нужно получить статусы последнего исправленного и предыдущего исправленного(исходного).
residentishe; +1 Ответить
3256. residentishe 12.08.16 13:24 Сейчас в теме
(3250) Спасибо огромное!!! Не знал этой информации.
3248. ASDCXZ 12.08.16 13:04 Сейчас в теме
(3239) BigSerpent, Тикет без еррор это не показатель. Надо проверять статус сразу после выставления. А сейчас проверить статус этой ЭСЧФ по номеру - в Message должно вернуть почему не приняло.
3257. leoner61 1 12.08.16 13:25 Сейчас в теме
3240. bobrhleb 12.08.16 12:44 Сейчас в теме
2016-07-01T00:00:00Z у меня такой формат
3243. bobrhleb 12.08.16 12:52 Сейчас в теме
Только хотел высказать комплимент что портал шустро заработал, но нет. Иногда счет-фактуры не с первого раза хавает.
3247. Slypower 3 12.08.16 13:04 Сейчас в теме
Портал не корректно возвращает статусы. Вообще, то пустые, то УНП не нравится. Нет возможности получить входящие. Короче, портал опять в болоте. Уже бесить начинает. Что они там делают вообще? Полтора месяца уже рабочего времени, плюс было 3 месяца тестового. В отпусках они или в пох..зме там?
stalcker; +1 Ответить
3253. bobrhleb 12.08.16 13:10 Сейчас в теме
(3247) Slypower, тьфу-тьфу, у меня пока выгрузка+получение статусов проходят корректно (за исключением того, что выгрузка иногда не с первого раза)
3252. ASDCXZ 12.08.16 13:09 Сейчас в теме
Похоже, что только статусы и работают. Пробую получить входящий ЭСЧФ по номеру для подписания - не отдаёт. У кого-нибудь получается подписать через сервис?
3263. EvgPinsk 12.08.16 13:45 Сейчас в теме
При формировании xml файла из 1c используя метод appendChild, сам файл получается в одну строку. Это не удобно при онлайн валидации файла.
Какая команда в 1с при формировании xml может вставлять разделитель строк?
3264. rumik007 12.08.16 14:42 Сейчас в теме
(3263) EvgPinsk, Если ты имешь ввиду перевод строки, то Символы.ПС.
3265. EvgPinsk 12.08.16 14:46 Сейчас в теме
(3264) rumik007, Да, хотелось бы видеть xml файл не в одну строчку. Та обработка, которая у меня, создаёт этот файл через OLE объект MSXML2.DOMDocument и команду appendChild.
Ваш ответ "Символы.ПС." не понял
3266. Slypower 3 12.08.16 14:59 Сейчас в теме
(3265) EvgPinsk, у все так, кто через dom создает, такая фишка. А вам какая разница? файл ушел и бог с ним. Портал примет
3268. eeakie 12.08.16 15:10 Сейчас в теме
(3265) EvgPinsk, notepad++ вам в помощь.
3272. EvgPinsk 12.08.16 15:39 Сейчас в теме
(3268) eeakie, (3267) lazovit, (3266) Slypower
Проблема в том, что мой xml файл не проходит валидацию, у меня самописный конфиг и пришлось править код процедуры. И соответсвенно нужно локализовать то место, изза которого не проходит валидация.
notepad++ также открывает файл в одну строку, но это и не важно. Важно что онлайн сервисы валидации видят xml одной строкой.
Вопрсо прежний. как добавлять символ переноса при создании xml?
3273. Slypower 3 12.08.16 15:46 Сейчас в теме
(3272) EvgPinsk, возможно, дело в том, что у вас кодировка не UTF-8. Перекодируйте.
Функция ПреобразоватьСтрокуВУТФ8(Стр)
	Длина=СтрДлина(Стр);
	Итог="";
	Для Н=1 По Длина Цикл
		Знак=Сред(Стр,Н,1);
		Код=КодСимв(Знак);
		Если Код<128 Тогда
			Итог=Итог+Знак;
		Иначе
			Если (Код>=КодСимв("А"))И(Код<=КодСимв("п")) Тогда
				Итог=Итог+Симв(208)+Симв(144+Код-КодСимв("А"));
			ИначеЕсли (Код>=КодСимв("р"))И(Код<=КодСимв("я")) Тогда
				Итог=Итог+Симв(209)+Симв(128+Код-КодСимв("р"));
			ИначеЕсли (Знак="ё") Тогда
				Итог=Итог+Симв(209)+Симв(145);
			ИначеЕсли (Знак="Ё") Тогда
				Итог=Итог+Симв(208)+Симв(129);
			КонецЕсли;
		КонецЕсли; 
	КонецЦикла;
	Возврат Итог;
КонецФункции   

Процедура ПерекодировкаФайлаWin_UTF8(стрИмяФайла,ИмяФайлаUTF8)
	ТекстWin=СоздатьОбъект("Текст"); 
	ТекстUTF8=СоздатьОбъект("Текст"); 
	ТекстWin.Открыть(стрИмяФайла);
	Для к=1  По ТекстWin.КоличествоСтрок() Цикл  
		СтрWin=ТекстWin.ПолучитьСтроку(к);    
		СтрUTF8=ПреобразоватьСтрокуВУТФ8(СтрWin);
		ТекстUTF8.ДобавитьСтроку(СтрUTF8);
	КонецЦикла; 
	ТекстUTF8.Записать(ИмяФайлаUTF8);
КонецПроцедуры    // ПерекодировкаФайлаWin_UTF8
Показать
3278. EvgPinsk 12.08.16 16:22 Сейчас в теме
(3273) Slypower, Ваша процедура выгрузки в xml нормально формирует файл, с разделителями строк? Можете сюда её кинуть?
3283. Slypower 3 12.08.16 16:28 Сейчас в теме
(3278) EvgPinsk, моя нормально) сделана не через dom, а на основании обработки от bonia, которая где-то на страницах есть.
Процедура СозданиеXMLФайла(ФлФормироватьФайлы=1,флОтправлять=0)
	
	ПроверитьДокумент(НетОшибок);
	Если НетОшибок=2 Тогда
		Возврат;
	КонецЕсли;
	стрИмяФайла=КаталогXML+"\doc_win1251.xml";
	
	//Раздел 1. Общий раздел
	xml_СоздатьФайл(стрИмяФайла);            
	xml_ЗаписатьНачалоЭлемента("<issuance>"," xmlns="""+"http://www.w3schools.com"""+" xmlns:xsi="""+"http://www.w3.org/2001/XMLSchema-instance"""+" xsi:schemaLocation="""+"http://www.w3schools.com"""+" sender="""+СокрЛП(УНП)+"""");
	
	xml_ЗаписатьНачалоЭлемента("<general>");
	xml_ЗаписатьАтрибут("number",СокрЛП(ТаблЗнач.InvVatNumber));
	xml_ЗаписатьАтрибут("dateTransaction",ФорматДаты(ТаблЗнач.ДатаВыставления)); 
	xml_ЗаписатьАтрибут("documentType",СокрЛП(ТаблЗнач.ТипЭСЧФ));
	Если СокрЛП(ТаблЗнач.ТипЭСЧФ)<>"ORIGINAL" Тогда
		Если сокрЛП(ТаблЗнач.ТипЭСЧФ)="FIXET" Тогда
		xml_ЗаписатьАтрибут("invoice",СокрЛП(ТаблЗнач.НомерИсправЭСЧФ)); 
		xml_ЗаписатьАтрибут("dateCancelled",ФорматДаты(ТаблЗнач.ДатаИсправЭСЧФ)); 
		ИначеЕсли сокрЛП(ТаблЗнач.ТипЭСЧФ)="ADDITIONAL" Тогда
		xml_ЗаписатьАтрибут("invoice",СокрЛП(ТаблЗнач.НомерИсправЭСЧФ)); 
		xml_ЗаписатьАтрибут("sendToRecipient","");
		КонецЕсли;
	КонецЕсли;
	xml_ЗаписатьКонецЭлемента("<general>");
	
	Если сокрЛП(ТаблЗнач.ТипЭСЧФ)<>"ADDITIONAL" Тогда
		xml_ЗаписатьНачалоЭлемента("<provider>");
		xml_ЗаписатьАтрибут("providerStatus",СокрЛП(ТаблЗнач.СтатусПоставщик));
		xml_ЗаписатьАтрибут("dependentPerson","false");
		xml_ЗаписатьАтрибут("residentsOfOffshore","false");
		xml_ЗаписатьАтрибут("specialDealGoods","false");
		xml_ЗаписатьАтрибут("bigCompany","false"); 
		xml_ЗаписатьАтрибут("countryCode",СокрЛП(ТаблЗнач.КодСтраныПоставщик)); 
		xml_ЗаписатьАтрибут("unp",СокрЛП(ТаблЗнач.УНППоставщик)); 
		xml_ЗаписатьАтрибут("name",СокрЛП(ТаблЗнач.Поставщик)); 
		xml_ЗаписатьАтрибут("address",СокрЛП(ТаблЗнач.АдресПоставщик)); 
		Если СокрЛП(СокрЛП(ТаблЗнач.НомерЭСЧФКомитента))<>"" Тогда 
			xml_ЗаписатьНачалоЭлемента("<principal>");
			xml_ЗаписатьАтрибут("number",СокрЛП(ТаблЗнач.НомерЭСЧФКомитента)); 
			xml_ЗаписатьАтрибут("date",ФорматДаты(ТаблЗнач.ДатаВыпискиЭСЧФКомитента)); 
			xml_ЗаписатьКонецЭлемента("<principal>");
		КонецЕсли;
		Если СокрЛП(СокрЛП(ТаблЗнач.НомерЭСЧФПродавца))<>"" Тогда 
			xml_ЗаписатьНачалоЭлемента("<vendor>");
			xml_ЗаписатьАтрибут("number",СокрЛП(ТаблЗнач.НомерЭСЧФПродавца)); 
			xml_ЗаписатьАтрибут("date",ФорматДаты(ТаблЗнач.ДатаВыпискиЭСЧФПродавца)); 
			xml_ЗаписатьКонецЭлемента("<vendor>");
		КонецЕсли;
		Если СокрЛП(СокрЛП(ТаблЗнач.НомерДекларацииПоставщика))<>"" Тогда 
			xml_ЗаписатьАтрибут("declarations",СокрЛП(ТаблЗнач.НомерДекларацииПоставщика)); 
			xml_ЗаписатьАтрибут("dateRelease",ФорматДаты(ТаблЗнач.ДатаВыпускаТовара)); 
			xml_ЗаписатьАтрибут("dateАctualExport",ФорматДаты(ТаблЗнач.ДатаРазрешения)); 
		КонецЕсли;
		Если СокрЛП(СокрЛП(ТаблЗнач.НомерЗаявленияПоставщика))<>"" Тогда 
			xml_ЗаписатьНачалоЭлемента("<taxes>");
			xml_ЗаписатьАтрибут("number",СокрЛП(ТаблЗнач.НомерЗаявленияПоставщика)); 
			xml_ЗаписатьАтрибут("date",ФорматДаты(ТаблЗнач.ДатаЗаявленияПоставщика)); 
			xml_ЗаписатьКонецЭлемента("<taxes>"); 
		КонецЕсли;
		xml_ЗаписатьКонецЭлемента("<provider>");
		
		//***************************Получатель*******************************
		xml_ЗаписатьНачалоЭлемента("<recipient>");                           
		xml_ЗаписатьАтрибут("recipientStatus",СокрЛП(ТаблЗнач.СтатусПолучатель));
		xml_ЗаписатьАтрибут("dependentPerson","false");
		xml_ЗаписатьАтрибут("residentsOfOffshore","false");
		xml_ЗаписатьАтрибут("specialDealGoods","false");
		xml_ЗаписатьАтрибут("bigCompany","false"); 
		Если СокрЛП(ТаблЗнач.Получатель)<>"Физические лица" тогда
			xml_ЗаписатьАтрибут("countryCode",СокрЛП(ТаблЗнач.КодСтраныПолучатель));
			xml_ЗаписатьАтрибут("unp",СокрЛП(ТаблЗнач.УНППолучатель)); 
			xml_ЗаписатьАтрибут("name",СокрЛП(ТаблЗнач.Получатель)); 
			xml_ЗаписатьАтрибут("address",СокрЛП(ТаблЗнач.АдресПолучатель)); 
			Если СокрЛП(СокрЛП(ТаблЗнач.НомерДекларацииПолучателя))<>"" Тогда 
				xml_ЗаписатьАтрибут("declaration",СокрЛП(ТаблЗнач.НомерДекларацииПолучателя)); 
			КонецЕсли;
			Если СокрЛП(СокрЛП(ТаблЗнач.НомерЗаявленияПолучателя))<>"" Тогда 
				xml_ЗаписатьНачалоЭлемента("<taxes>");
				xml_ЗаписатьАтрибут("number",СокрЛП(ТаблЗнач.НомерЗаявленияПолучателя)); 
				xml_ЗаписатьАтрибут("date",ФорматДаты(ТаблЗнач.ДатаЗаявленияПолучателя)); 
				xml_ЗаписатьКонецЭлемента("<taxes>");
				xml_ЗаписатьАтрибут("dateImport",ФорматДаты(ТаблЗнач.ДатаВвозаТовара)); 
			КонецЕсли;
		КонецЕсли;
		xml_ЗаписатьКонецЭлемента("<recipient>");
		
		//***************************Раздел 4. Реквизиты грузоотправителя и грузополучателя **************
		xml_ЗаписатьНачалоЭлемента("<senderReceiver>");                           
		xml_ЗаписатьНачалоЭлемента("<consignors>");       
		Если  СокрЛП(ТаблЗнач.Грузоотправитель)<>"" Тогда     
			xml_ЗаписатьНачалоЭлемента("<consignor>");  
			xml_ЗаписатьАтрибут("countryCode",СокрЛП(ТаблЗнач.КодСтраныГрузоотправитель)); 
			xml_ЗаписатьАтрибут("unp",СокрЛП(ТаблЗнач.УНПГрузоотправитель)); 
			xml_ЗаписатьАтрибут("name",СокрЛП(ТаблЗнач.Грузоотправитель)); 
			xml_ЗаписатьАтрибут("address",СокрЛП(ТаблЗнач.АдресГрузоотправитель)); 
			xml_ЗаписатьКонецЭлемента("<consignor>");
		КонецЕсли;
		xml_ЗаписатьКонецЭлемента("<consignors>");
		
		xml_ЗаписатьНачалоЭлемента("<consignees>");  
		Если  СокрЛП(ТаблЗнач.УНПГрузополучатель)<>"" Тогда     
			xml_ЗаписатьНачалоЭлемента("<consignee>");  
			xml_ЗаписатьАтрибут("countryCode",СокрЛП(ТаблЗнач.КодСтраныГрузополучатель)); 
			xml_ЗаписатьАтрибут("unp",СокрЛП(ТаблЗнач.УНПГрузополучатель)); 
			xml_ЗаписатьАтрибут("name",СокрЛП(ТаблЗнач.Грузополучатель)); 
			xml_ЗаписатьАтрибут("address",СокрЛП(ТаблЗнач.АдресГрузополучатель)); 
			xml_ЗаписатьКонецЭлемента("<consignee>");
		КонецЕсли;
		xml_ЗаписатьКонецЭлемента("<consignees>");
		xml_ЗаписатьКонецЭлемента("<senderReceiver>");
		
		//***************************Раздел 5. Условия поставки - deliveryCondition  **************
		xml_ЗаписатьНачалоЭлемента("<deliveryCondition>");                           
		Если СокрЛП(ТаблЗнач.НомерДоговораПоставки)<> "" Тогда
		xml_ЗаписатьНачалоЭлемента("<contract>");  
		
			xml_ЗаписатьАтрибут("number",СокрЛП(ТаблЗнач.НомерДоговораПоставки));
			xml_ЗаписатьАтрибут("date",ФорматДаты(ТаблЗнач.ДатаДоговораПоставки)); 
		
		//Если СокрЛП(ТаблЗнач.КодСтраныПоставщик) = "112" Тогда
		Если СокрЛП(ТаблЗнач.ВидДокументаДоговора)<>"" Тогда
			xml_ЗаписатьНачалоЭлемента("<documents>");                           
			xml_ЗаписатьНачалоЭлемента("<document>");  
			
			xml_ЗаписатьНачалоЭлемента("<docType>");  
			xml_ЗаписатьАтрибут("code",СокрЛП(ТаблЗнач.ВидДокументаДоговора)); 
			xml_ЗаписатьКонецЭлемента("<docType>");  
			
			xml_ЗаписатьАтрибут("date",ФорматДаты(ТаблЗнач.ДатаБланка)); 
			xml_ЗаписатьАтрибут("blankCode",СокрЛП(ТаблЗнач.КодБланка)); 
			xml_ЗаписатьАтрибут("seria",СокрЛП(ТаблЗнач.СерияБланка)); 
			xml_ЗаписатьАтрибут("number",СокрЛП(ТаблЗнач.НомерБланка)); 
			xml_ЗаписатьКонецЭлемента("<document>");  
			xml_ЗаписатьКонецЭлемента("<documents>"); 
		КонецЕсли;
		
		xml_ЗаписатьКонецЭлемента("<contract>");
		КонецЕсли;
		xml_ЗаписатьКонецЭлемента("<deliveryCondition>");
	КонецЕсли;
	
	xml_ЗаписатьНачалоЭлемента("<roster>"," totalCostVat="""+СокрЛП(Формат(ТаблЗнач.СуммаСДНС,"Ч19.2")+""""+" totalExcise="""+СокрЛП(Формат(ТаблЗнач.СуммаАкциза,"Ч19.2"))+""""+" totalVat="""+СокрЛП(Формат(ТаблЗнач.СуммаНДС,"Ч19.2"))+""""+" totalCost="""+СокрЛП(Формат(ТаблЗнач.СуммаБезНДС,"Ч19.2")))+""""); 
	
	ТаблЗначТовар.ВыбратьСтроки(); 
	Пока ТаблЗначТовар.ПолучитьСтроку()=1 Цикл  
		xml_ЗаписатьНачалоЭлемента("<rosterItem>");                           
		xml_ЗаписатьАтрибут("number",ТаблЗначТовар.НомерТовара); 
		xml_ЗаписатьАтрибут("name",СокрЛП(ТаблЗначТовар.Товар)); 
		Если СокрЛП(ТаблЗначТовар.ТНВЭД)<>""Тогда
			xml_ЗаписатьАтрибут("code",СокрЛП(ТаблЗначТовар.ТНВЭД)); 
		КонецЕсли;
		Если СокрЛП(ТаблЗначТовар.Единица)<>""Тогда
			xml_ЗаписатьАтрибут("units",ТаблЗначТовар.Единица); 
		КонецЕсли;
		xml_ЗаписатьАтрибут("count",ТаблЗначТовар.Количество); 
		xml_ЗаписатьАтрибут("price",ТаблЗначТовар.Цена); 
		xml_ЗаписатьАтрибут("cost",ТаблЗначТовар.Сумма); 
		xml_ЗаписатьАтрибут("summaExcise",ТаблЗначТовар.СуммаАкциза); 
		
		xml_ЗаписатьНачалоЭлемента("<vat>");                           
		xml_ЗаписатьАтрибут("rate",ТаблЗначТовар.СтавкаНДС); 
		xml_ЗаписатьАтрибут("rateType",ТипСтавкиНДС(ТаблЗначТовар.СтавкаНДС)); 
		xml_ЗаписатьАтрибут("summaVat",ТаблЗначТовар.НДС); 
		xml_ЗаписатьКонецЭлемента("<vat>");
		xml_ЗаписатьАтрибут("costVat",ТаблЗначТовар.Всего); 
		
		Если (ТаблЗначТовар.ДопСведенияНДС<>"") и (ТаблЗначТовар.ДопСведенияНДС<>0)  Тогда
			xml_ЗаписатьНачалоЭлемента("<descriptions>"); 
			xml_ЗаписатьАтрибут("description",ТаблЗначТовар.ДопСведенияНДС); 
			xml_ЗаписатьКонецЭлемента("<descriptions>");
		КонецЕсли;
		
		xml_ЗаписатьКонецЭлемента("<rosterItem>");
		НомерТовара=НомерТовара+1;
	КонецЦикла; 
	
	xml_ЗаписатьКонецЭлемента("<roster>");
	xml_ЗаписатьКонецЭлемента("<issuance>");
	xml_Закрыть(); 
	
	//*********************ДАННЫЙ ФАЙЛ НАДО ПЕРЕКОДИРОВАТЬ в URTF-8 
	Если ФлФормироватьФайлы=1 Тогда 
		ИмяФайлаUTF8=КаталогXML+"\"+СокрЛП(ТаблЗнач.InvVatNumber)+".xml"; 
		ПерекодировкаФайлаWin_UTF8(стрИмяФайла,ИмяФайлаUTF8);  
	Иначе  //Проводить проверку по схеме с одним и тем же именем чтобы не зря нумеровать
		ИмяФайлаUTF8=КаталогXML+"\"+СокрЛП(ТаблЗнач.InvVatNumber)+".xml"; 
		ПерекодировкаФайлаWin_UTF8(стрИмяФайла,ИмяФайлаUTF8);
	//	Сообщить("Сохранился "+ИмяФайлаUTF8);
	КонецЕсли;
	ПроверкаЭСЧФПоСхеме();
КонецПроцедуры
Показать
3270. rumik007 12.08.16 15:35 Сейчас в теме
(3265) EvgPinsk, поспешил с Символы.ПС (это перевод строки), нужно при формировании xml, тогда посмотри здесь, может поможет
3281. ASDCXZ 12.08.16 16:26 Сейчас в теме
(3265) EvgPinsk, А что Вы будете с .xml в "красивом" виде делать? Зачем? Есть просмотрщики. Или, к примеру, в 1С у меня показывает шапку с реквизитами, строки загружаю в ТаблицуЗначений. Даже по сетке работает без задержек.
3288. EvgPinsk 12.08.16 16:41 Сейчас в теме
(3281) ASDCXZ, Уже ведь объяснял. Если xml в "красивом" виде, т.е. с разделителями строк, то онлайн валидаторы сообщают ошибку в конкретной строке № такойто
Сейчас же у меня в xml одна строка, длиной в 2000символов. сложно в ней искать ошибки
3289. ASDCXZ 12.08.16 16:51 Сейчас в теме
(3288) EvgPinsk, Для онлайн-валидаторов Ваши переносы значения не имеют. Они сами показывают xml в правильном виде. И указывают строку. (к примеру "http://www.xmlvalidation.com/"). Сам им пользовался. Формирую через dom.
3291. Slypower 3 12.08.16 16:53 Сейчас в теме
(3289) ASDCXZ, я вот не понимаю, для чего вам эти онлайн валидаторы? Можно все делать в 1С сразу, без лишних телодвижений
3293. ASDCXZ 12.08.16 17:16 Сейчас в теме
(3291) Slypower, Путь наименьшего сопротивления: проверил, исправил ошибки,настроил, забыл и занимаюсь другими задачами. Пока настраивал выгрузку понадобилось проверить 2-3 раза - затраты времени на проверку в 1С были бы больше (по крайней мере для меня). Выгрузку делал в 1С 7.7 через MSXML2.DOMDocument. А так - пути действий могут быть разные - важен результат.
3296. Slypower 3 12.08.16 17:31 Сейчас в теме
(3293) ASDCXZ, есть обработка, которая работает как ваши онлайн валидации (хотя я их не пробовал никогда). Аналогично, один раз настроил и все))
Прикрепленные файлы:
ЭСЧФ_EInvVatService _ПроверкаФайлаПоСхеме.ert
3297. ASDCXZ 12.08.16 17:33 Сейчас в теме
(3296) Slypower, Спасибо! Буду смотреть.
3292. ЕшеешАкгееш 12.08.16 16:56 Сейчас в теме
(3288) EvgPinsk, Так а в чем проблема браузером открыть файл ?
Тогда ж все красиво с иерархией и даже +- работают
И проверять удобно и наглядно
3299. Strady 12.08.16 17:50 Сейчас в теме
(3288) EvgPinsk, как и говорили пробуйте в том же IE открыть. Или другие вьверы типа akXmlEdit. У меня в блокноте тоже некоторые xml строкой
3267. lazovit 12.08.16 15:03 Сейчас в теме
(3263) EvgPinsk, Если открывать в IE xml файл то будут переноситься строки.
3269. eeakie 12.08.16 15:23 Сейчас в теме
Товарищи, когда уже перестанет вылазить "плохой тип переменной" в GetList? После 50 попыток плюнул. Работает у кого-нибудь?
3271. rumik007 12.08.16 15:37 Сейчас в теме
(3269) eeakie, Присоединяюсь, у меня вообще при приеме вылазит GetList: Ответ сервера: При запросе поступивших счетов-фактур из репозитория произошла внутренняя ошибка. Обратитесь к администратору.
Slypower; +1 Ответить
3276. kiba 63 12.08.16 16:21 Сейчас в теме
(3271) rumik007, было такое сегодня до обеда. Потом само собой заработало. Вот прямо сейчас проверил - работает. Правда я на тестовом сервере)
3274. Xershi 1494 12.08.16 16:07 Сейчас в теме
100834637-2016-0000000003 Ошибка при проверке XML <Причина: Element '{http://www.w3schools.com}value' is unexpected according to content model of parent element '{http://www.w3schools.com}docType'.
Expecting: {http://www.w3schools.com}code.; Текст: ; Код: -1072898028>


Подскажите какой формат номера отправлять на портал?
У меня документ ЭСЧФ в 1с сделан с номером "100834637-2016-0000000003". А должен быть другой?
3275. Slypower 3 12.08.16 16:15 Сейчас в теме
(3274) Xershi, дело не в номере эсчф, в docType.
Значение является неожиданным по содержанию модели родительского элемента docType
. Посмотрите, как у вас устроено этот параметр. Он не важен при некоторых условиях. Опишите, кому вы выставляете.
3277. Xershi 1494 12.08.16 16:21 Сейчас в теме
(3275) Slypower, валится на
res = InvVatXml.Document.ValidateXML(ИмфФайлаСхемы, 0);

Реквизиты получателя:

Статус получателя CUSTOMER

Код страны регистрации 112

УНП (идентификационный код) 190510790

Получатель Государственное предприятие "Минский метрополитен"

Юридический адрес РБ Респ, 220030, Минск, пр-т Независимости, дом № 6


Или вы о чем?
3279. Slypower 3 12.08.16 16:25 Сейчас в теме
(3277) Xershi, все правильно. Ваш файл не проходит валидацию файла по схемам. Вы выставляете услугу или еще что? Файл можете показать ваш? docType-это тип документа, по которому вы предоставляете услугу. Так вот, либо он не открыт, либо не закрыт, либо отсутствует, либо лишний
3282. Xershi 1494 12.08.16 16:27 Сейчас в теме
(3279) Slypower, скорее всего понял о чем речь. Я там один реквизит пропустил. Думал и так сойдет. В понедельник добавлю все реквизиты. Думаю я правильно понял в чем дело)
Условия поставки:
Тип документа

Серия, тип, номер БСО ЖН, 861, 0634520

Дата 2016-08-04


Тип у меня пустой, его пока в моем ЭСЧФ не чем заполнять))
3285. Slypower 3 12.08.16 16:29 Сейчас в теме
(3282) Xershi, да, вы верно поняли, дело в создании xml файла. Условия поставки: Тип документа и дата нужны постоянно, кроме физ лицам. А вообще может и предыдущий пост верен. Тут файл смотреть нужно
3280. Xershi 1494 12.08.16 16:25 Сейчас в теме
Схему получаю из макета MNSATI_original_XSD_Локализация.
Проблема не в схеме, а в сформированном хмл?
3284. VicCharp 12.08.16 16:29 Сейчас в теме
(3280) Xershi, не указан тип документа. Он должен быть ORIGINAL, ADDITIONAL или другой
3286. VicCharp 12.08.16 16:32 Сейчас в теме
(3284)(3284) VicCharp, не то, сорри, в спешке не заметил полное название поля
3287. ASDCXZ 12.08.16 16:39 Сейчас в теме
Только что позагружало чуток, а сейчас опять почти потухло - подписывает ЭСЧФ с 5-10 попытки
3290. ASDCXZ 12.08.16 16:52 Сейчас в теме
Свежие новости с портала:
Уважаемые пользователи! Завершаются работы функции веб-сервиса Портала по выгрузке электронных счетов-фактур. Работа функции веб-сервиса Портала по выгрузке электронных счетов-фактур для бухгалтерских учетных систем восстановиться 12.08.2016 в 20:00. Приносим извинения за неудобства.
3294. bobrhleb 12.08.16 17:19 Сейчас в теме
~ДатаВыставления:
	Попытка
	ОбработкаПрерыванияПользователя();
	EDocIn = EVatService.GetEDoc(СокрЛП(ПараметрНомер));
         	Исключение
	Перейти ~ДатаВыставления;
	КонецПопытки;
      
  ПараметрДатаВыставления = EDocIn.Document.GetXmlNodeValue("issuance/general/dateIssuance"); 
		  
Показать

Значение не является значением объектного типа (Document)
Подскажите, что не так?
3295. ASDCXZ 12.08.16 17:29 Сейчас в теме
(3294) bobrhleb, Текст правильный, скорее всего сервис не отдал Вам ЭСЧФ, т.е. EDocIn - пустой
3298. Strady 12.08.16 17:46 Сейчас в теме
(3294) bobrhleb, аналогично. Полученные перестали загружаться. Ждём-с
Если в отладчике проверите, то перед строкой ошибки "EDocIn = Неопределено"
3301. ksu_r 12.08.16 21:07 Сейчас в теме
В попытках получить список входящих прошел вечер, стало колом на GetList и висит.Не знаю даже, что лучше - когда ругается на ошибки или когда висит... Полное неведение!
3302. stalcker 12.08.16 23:24 Сейчас в теме
ребят, спасибо за все сообщения, ответы и вопросы. все, что смог сделал, все работает, но жаль что не стабильно. меня отпустили в отпуск, всем хорошей работы портала, ибо настроение во время и после рабочего дня, зависит на данный момент от vat.gov.by
3306. wladimir_u 5 13.08.16 13:21 Сейчас в теме
(3302) stalcker,
меня отпустили в отпуск, всем хорошей работы портала

Везет некоторым ... )) Хоть у кого-то белая полоса случается )
Хорошо отдохнуть! Глядишь к возвращению и портал до ума доведут.
3303. ksu_r 13.08.16 09:25 Сейчас в теме
Входящие получить так и не могу, не знаю, почему заявляется о работоспособности.
Не могу ни средствами 1С, ни хотя бы скриптами Авеста. А на портале уже более 2000 эсчф нам выставили. И вот что делать?
3304. it-prof 13.08.16 10:58 Сейчас в теме
В новостях на портале.
Уважаемые пользователи!

Регламентные работы на веб-сервисе Портала завершены в 18.00 12.08.2016, функция выгрузки электронных счетов-фактур в бухгалтерские учетные системы доступна для работы.

По результатам анализа работы программных решений бухгалтерских учетных систем и качества их доработок, изменен принцип работы веб-сервиса в части выгрузки электронных счетов-фактур с Портала. В настоящее время на веб-сервисе Портала осуществляется контроль факта выгрузки бухгалтерской учетной системой электронных счетов-фактур с Портала. На веб-сервисе Портала установлен регламентный период возможности повторной выгрузки бухгалтерской учетной системой ранее выгруженных документов не ранее 24 часов с момента последней выгрузки.

Данное изменение в работе веб-сервиса Портала касается только выгрузки электронных счетов-фактур, которые уже были ранее выгружены бухгалтерской учетной системой пользователя, и не распространяется на выгрузку новых входящих электронных счетов-фактур, а также не распространяется на запрос статусов электронных счетов-фактур на
Портале.

Проверил. Один раз скачалось все, на второй раз валится на GetEDoc(). Пипец.
3307. BotMan4 15 13.08.16 18:21 Сейчас в теме
(3304) it-prof, Жесть. Я представляю как все планировалось:
А не запилить ли нам ЭСЧФ? Вон в кладовке валяется пенек второй, да и домосед XXL от ByFly потянет 100 пудова, на торренте скорость ниже сделаем да и норм.

Скоро сделают электронную очередь когда и кому можно будет подключиться забрать, отправить, проверить!
НИЩЕБРОДЫ.
0xf0a00; shiko; merlin1975; +3 Ответить
3308. it-prof 13.08.16 21:46 Сейчас в теме
(3307) botman4, я думаю там всё хитрее.
Входящие раз в сутки, потом статус исходящих, потом сами исходящие. А потом опа: все за бабки. Тариф лайт - раз в сутки бесплатно, тариф лайт плюс - раз в 6 часов и тариф суперVIP - делай что хочешь.
3305. Strady 13.08.16 11:26 Сейчас в теме
Мдааа...ждём, когда статус отправленной ЭСФ можно будет проверять раз в сутки))
3309. ksu_r 14.08.16 07:46 Сейчас в теме
Констатирую факт, утро, воскресенье, вроде и нагрузки на портале быть не должно, но нет - не работает в части входящих и все тут!
3310. barbedwire 14.08.16 14:46 Сейчас в теме
Внесу добавку в констатацию фактов.

В пятницу, допустим, были регл. работы. Сегодня девица сообщила, что работы завершены в полном объеме и все работает.
Пробую загружать ЭСФ - получаю сообщение "Документ принят в обработку.". Одновременно в исходном документе сообщение: "Не удалось проверить ЭЦП квитанции: Дескриптор открытого сообщения неверен."
Конечно же, документа на портале нет. Пытаюсь сохранить тикет в файл - вообще получаю, что метод SaveToFile() не обнаружен. Это видимо для того, чтобы было труднее понять генеральную идею.

Помимо этого пробовал загрузить этот документ руками из файла. Получаю пачку ошибок про неверные данные - ну там, сумма НДС не совпадает с какой-нибудь еще суммой НДС - не важно. Потом этот документ в статусе Получен. Ошибки проверяю на портале - уже все хорошо. Примечательно, что валидация по рекомендованной схеме у меня перед выгрузкой проходит, но даже если предположить, что не валидации дело, то почему с портала приходит отбивка, что документ принят, когда его там нет.

Отправить, что ли письмо этим дегенератам с описанием проблемы или не поможет? Кто-нибудь пробовал?
3311. merlin1975 2 14.08.16 14:59 Сейчас в теме
"Отправить, что ли письмо этим дегенератам с описанием проблемы или не поможет?"
Думаю стоит попробовать - а вдруг?
3314. wladimir_u 5 14.08.16 21:35 Сейчас в теме
(3311) merlin1975,
Отправить, что ли письмо этим дегенератам с описанием проблемы или не поможет?"
Думаю стоит попробовать - а вдруг?

Можно отправить им ссылку на эту ветку форума... пусть читают и по горячим следам исправляют допущенные косяки, которые для них выявляют десятки бесплатных тестировщиков их портала.
3312. barbedwire 14.08.16 15:05 Сейчас в теме
Альтернативный подход только подождать, пока проблемы сами уберутся.
Напишу.
merlin1975; +1 Ответить
3313. stavrosoleg 10 14.08.16 19:31 Сейчас в теме
Я в шоке. А если я вруг отчет за год захочу на портале крутить? Раз в год можно?
Ещё интересно как мне запросить на портале только новые входящие, или при повторном запросе портал только их и выдаст? Или не выдаст ничего?
3315. barbedwire 14.08.16 22:36 Сейчас в теме
Думаю, что читают, кому нужно. А толку?
Это ведь не отчитаться по всей стране, что все работает.
3316. merlin1975 2 14.08.16 23:53 Сейчас в теме
(3315) barbedwire,
Читают, но неофициально, а все входящие фиксируются! Так, что... надо долбить! или признают проект несостоявшимся (что вряд-ли, это ведь надо признать официально свои ошибки) или поменяют состав программеров. "Или что-то случилось. Или одно из двух."
3319. wladimir_u 5 15.08.16 08:58 Сейчас в теме
(3316) merlin1975,
...или признают проект несостоявшимся (что вряд-ли, это ведь надо признать официально свои ошибки)

Этот проект вовсе не белорусское ноу-хау. Беларусь в этом вопросе можно сказать аутсайдер и лишь пытается сделать то, что в соседних странах уже давно работает.
Электронные счета-фактуры уже используются в России, Казахстане, Азербайджане, странах ЕС
3317. user596210_it 15.08.16 08:53 Сейчас в теме
Опять GetList() выдает:
Ошибка получения списка ЭСЧФ: Ответ сервера: При запросе поступивших счетов-фактур из репозитория произошла внутренняя ошибка. Обратитесь к администратору.

На получение списка тоже ограничение раз в сутки ? или по утру портал прилег ?

Начинаю всерьез рассматривать использование REST API портала (через что web морда получает данные) единственное с авторизацией проблемы но думаю решаемо :)
3321. residentishe 15.08.16 09:18 Сейчас в теме
(3317) user596210_it, Судя по всему прилег портал... статусы с утра пустые выдает... 1,5 тыщи эсчф висят без статуса..
3323. lazovit 15.08.16 09:59 Сейчас в теме
Попробовал прочитать свои входящие, сначала начал довольно шустро, потом прилег и сча висит, такое ощущение, что они может действительно некий бан придумали для особо активных?
3324. dragonga 9 15.08.16 11:55 Сейчас в теме
если я правильно понял, то:
1. Подписанные СФ получить нельзя
2. Установить принятие к вычиту (управление вычитами) тоже нельзя
Поправьте меня, пожалуйста если я не прав.
3326. ASDCXZ 15.08.16 12:08 Сейчас в теме
(3324) dragonga, Подписанный ЭСЧФ можно получить по номеру, но это, ИМХО, имеет смысл когда таких ЭСЧФ мало.
3329. millik 15.08.16 12:52 Сейчас в теме
(3324) dragonga,
1) Не совсем так, к ней можно обратиться по номеру и получить её. Но подписанные эсчф уже не попадают в список, который возвращает метод ГетЛист.
2) Управление вычетами только ручками на портале. В вебсервисе такого функционала нет.
3325. barbedwire 15.08.16 11:58 Сейчас в теме
Поправляю. К вычЕту (управление вычЕтами).
3327. dragonga 9 15.08.16 12:27 Сейчас в теме
А управление вычЕтами обязательная программа или достаточно подписания входящих СФ?
3330. millik 15.08.16 12:55 Сейчас в теме
(3327) dragonga, по умолчанию дата принятия вычета = дата подписания ЭСЧФ(или дата выставления, точно не помню). Если вас это устраивает, то можно ничего не делать. Но если вам нужно поменять эту дату, то тогда руками на портале менять у каждой ЭСЧФ
3328. Alex_Anteri 15.08.16 12:43 Сейчас в теме
Ребята помогите, мучаюсь вторую неделю. Никак не получается получить статусы ЭСЧФ.
Вот скрин
Прикрепленные файлы:
Оставьте свое сообщение

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