Всем привет. Не секрет, в Беларуси с 1 июля 2016 должна подаваться ЭСЧФ. Кто-нибудь уже работает с ней? Ведь там, вроде, уже 60 компаний Беларуси работает в тестовом режиме.
Сделал я по инструкциям, что на их сайте, но столько вопросов к их информации осталось.
Очень много полезного нам дали разработчики. Внимательно читайте их документацию в eInvVat, которую скачиваете, а так же примерами для 1С служат bat файлы из папки eInvVat\simpleapp\vbs\src\. Не поленитесь и посетить их сайт vat.gov.by. На основании этих знаний все пишут обработки. Если что не понятно, то можно прибегнуть к данной теме.
Важные и полезные ссылки на сайты и на сообщения темы.
Ссылки на сайт портала
Новости от разработчиков - здесь Руководства и инструкции по настройки ПК, Windows, IE - здесь Описание XML-схем и веб-сервисов - здесь Видео вебинара по ЭСЧФ, который проходил в июле - здесь
Обработки с данной темы
Обработка от BONIA Я (Bonia) - (229) и пример кода (231) и (1098) Обработка по проверке файла по схемам. Автора я не смог найти (отзовись, в историю впишем). Переделана Slypower - (308) Обработка по входящим от Slypower. До введения однократного скачивания в сутки - (2537) Обработка по входящим для 1с 7.7 и для 1с8. Рабочая от slypower - (5412). С доработками от Евгений Веренич (EvgPinsk) - (7206) Делает XML из выбранного документа от Asd Zxc (ASDCXZ) - (2823) Отправка ЭСЧФ от slypower. Очень сырая и для ТиС. Требует переделки од себя индивидуальна. Годна для черпания идей - (2950) Печать ЭСЧФ от Сергей Кириллов (Sergey_Kirillov) - (4358) Проверка УНП с сайта налоговой http://www.portal.nalog.gov.by/grp/ - от Aleksey Krasowskiy (Krasowskiy)(5026) и от Сергей Кириллов (Sergey_Kirillov)(5031) Получерие входящей ЭСЧФ по номеру от Aleksey Krasowskiy (Krasowskiy) - (5169) Обновление СОС от slypower - (5291) Будьте внимательны. В старых сообщениях в обработках стоят неправильные адреса для подключения. В первую очередь проверьте их!!!
Полезные сообщения темы
Реклама своей работы от Gladkov_Anton - (445) Реклама своей работы от Александр Самуйлов (A.E.) - (1273) Реклама своей работы от Yauhen Makei (mrDSide) - (5591), (5592) Автоматический подключение к ключу-(354) Декодирование файлов .sgn и .ticket - (448) Отправки ЭСЧФ с помощью сервиса из терминальной сесии для простого пользователя не обладающего правами Администратора. Испробовано на Сервере 2003/32 - (784) Программа, которая ключ на сервер пробрасывает - (842) , (5408),(6568) Инструкция по настройке серверных компов от Ира С (iraSys) - (844) Дополнительная настройка для серверных операционных систем - (5208) Сервис для проверки валидности xml - (871) Классификатор ТНВЭД в экселе - (790) и (885) Автоматический импорт СОС на локальную машину - (2853), (2854) и (2856), (3882) Полезная информациея тем, кто использует в работе терминальные сервера - (3044) Артур Коржан (1v7) собрал "полезные вкусняшки в куче" - (3688) Корректировка кодов справочника стран от Артур Коржан (1v7) - (5844) Образцы заполнения ЭСЧФ - (3700) На портале развернута база данных cassandra. Описание - (3908), (5459) Возможные ситуации, которые могут возникнуть с работой порталом и их решение - (4524) SlimBrowser вместо IE для работы на Вин XP - (4684) Универсальная загрузка из CSV от vvv vvv (keyn5565`): (6951). Код к ней (если кто не может скачать): (7076)
Коды процедур для 1С
Процедура работы с входящими на 1С 8.3 - (4275) Парсер csv с портала для 1С 8 - от Сергей Кириллов (Sergey_Kirillov) (4352) от Xer shi (Xershi) (4363) Скачка входящих и создание дока в 1С7.7 - (4448) Обновление статусов 1С7.7 - (4573) Читать хмл 1с7.7 от Хьюмена -(4808) Скачка входящих для 1с8 от vvv vvv (keyn5565`) - (5126) Проверка версии компоненты для 1С8 от Xer shi (Xershi) - (5186) Скачкивать входящие подписанные эсчф с портала - (5345) Создание задачи для автоматического обновления СОС, 1с8 от vvv vvv (keyn5565`) - (5350) Обновление СОС из 1С7.7 от Igor Pleskun (Igor Igorevich) - (5361) Обновление СОС из 1С8 от vvv vvv (keyn5565`) - (5423) Проверка справочника контрагентов для проверки ликвидирования контрагента для 1с8 от vvv vvv (keyn5565`) - (5419), от Xer shi (Xershi)(5437) Проверки по правилам заполненения для 1С8 от Xer shi (Xershi) - (5508), (5509) Проверка подписей эсчф на портале - от Xer shi (Xershi)(5530), от Yauhen Makei (mrDSide)(5599) Заполнение справочника ОКЭД от vvv vvv (keyn5565`) - (5565)
Вопрос-Ответ
Многие ошибки, да почти все, связаны с не стабильной работой портала, особенно во времена всеобщей выгрузки ЭСЧФ на портал. Но некоторые тут вынесем.
Какие сроки выставления ЭСЧФ?
Ответ: Министерство по налогам и сборам информирует, что в соответствии с пунктом 5 статьи 1061 Налогового кодекса Республики Беларусь с 1 января 2017 года выставление (направление) электронного счета-фактуры осуществляется по общему сроку не позднее 10-го числа месяца, следующего за месяцем дня отгрузки товаров (выполнения работ, оказания услуг), передачи имущественных прав, если иное не установлено пунктом 5 статьи указанной статьи.
В отношении товаров (работ, услуг), имущественных прав, отгруженных (выполненных, оказанных), переданных в декабре 2016 г., выставление электронного счета-фактуры также может производиться по сроку не позднее 10.01.2017.
Подскажите, плиззз, на машинах Win2008R2 при входе на портал
Включите SSL 3.0, TLS 1.0, TLS 1.1 и TLS 1.2
С Семерки все в норме, хотя делалось все по мануалам идентично одними и теми же ровными руками
Ответ: (639)
Сообщение об ошибке, которое выплевывает 1Ска при попытке законнектиться к порталу (команда "EVatService.Connect..."):
"THE CLIENT AND SERVER CANNOT COMMUNICATE BECAUSE THEY DO NOT POSSESS THE COMMON ALGORITHM"
или по-русски "КЛИЕНТ И СЕРВЕР НЕ МОГУТ ОБЩАТЬСЯ, ПОТОМУ ЧТО ОНИ НЕ ОБЛАДАЮТ ОБЩИМ АЛГОРИТМОМ."
Ответ: (2310)
Ошибка при проверке XML: Класс не зарегистрирован, ClassID: {88D96A07-F192-11D4-A65F-0040963251E5}
Ошибка возникает только на сервере 2003 сп2 32битм Java 7 79 updt
Ответ: (2365)
Отличие Исправленной от дополненной.
Ответ: (5020)
Отправили ЭСЧФ на портал, но ее там нет.
Ответ: Чтобы узнать почему, воспользуйтесь одним из способов:
1) загрузите файл xml этой ЭСЧФ на портала вручную
2) сделайте возврат статуса сразу после отправки на портал. Он вам и вернет ответ на вопрос, почему нет.
Портал вернул статус "IN_PROGRESS" или "В разработке" или "ЭСЧФ с номером 11111111-2017-0000000001 находится в обработке. Запросите статус повторно.".
Ответ: (5237). Данный статус может быть на портале до 3-х часов, но чаще всего лишь минут 30, затем становиться "Выставлен".С 1 января 2017 г наблюдается задержка до суток.
Можно ли анулировать из 1С?
Ответ: Нельзя, только на портале. Можно выставить исправленный, который анулирует исходный, но просто анулировать нельзя.
При подключении к тестовому порталу:
Ошибка авторизации на портале электронных счетов-фактур НДС Сертификат издателя не найден. [Для проверки <vat.gov.by> не найден сертификат <Удостоверяющий центр для разработчиков> (KeyID=6E28B036743B6B021B4D353E1AC51C5A204271FA)
Ответ: (5868)
Что значит UTC в строке: Ответ сервера: В последний раз ЭСЧФ под номером УНП-ГОД-НОМЕРЭСЧФ вы получали 2016-09-06 11:35:18 (UTC), в следующий раз ее можно будет получить после 2016-09-07 11:35:18 (UTC) и почему это время не совпадает с нашим?.
Ответ: UTC — это всемирное координированное время, стандарт времени, принятый на Земле. От UTC отсчитываются часовые пояса. UTC заменил устаревшее время по Гринвичу (GMT). Подробнее тут.
при попытке загрузить ЭСЧФ из xml файла пишет.
Версия анализатора = 2.0
Версия базового анализатора = 4.0
Для загрузки файлов необходима версия XML Parser 3.0
где копать?
Ответ: В ХР зарегистрирован Microsoft XML Parser 4.0, но есть там и 3.0.
Действия :
Отменяем регистрацию версии XML 4.0 :
Пуск - выполнить - копируем или набираем regsvr32 /u msxml4.dll - Ок
Затем регистрируем версию 3.0:
Пуск - выполнить - копируем regsvr32 msxml3.dll -ОК
После этого надо перезапустить 1С программу, если она была открыта.
Если ничего не помогает, качаем ниже и устанавливаем пакет MSXML3
Также ошибка MSXML может возникать и в более поздних версиях Windows 7 и 8. Для 64-битной версии устанавливаем версию соответствующую разрядности ОС x64 - msxml4-kb2721691-enu.
По итогу все равно ничего не работало, пока не закинула эти файлы msvcp71.dll, msvcr71.dll, parser3isapi.dll в папку с 1с.
Еще одно решение:
Через установку и удаление программ я удалил Parser 4 и 6-й. Зашел в 1с - все работает и загружает.
Может кто еще задавался вопросом работы в терминале? Есть около 14 ключей, который хотелось бы пробросить через RDP.
14 ключей - это конечно круто... ) если, как у нас, ключ один, он торчит в с сервере, и в терминальном режиме, если запускать с правами админа, то все работает нормально.
добрый день,заранее извиняюсь ,за вопросы.1-если счета выставляем за июль ,то в <dateIssuance>2016-08-12</dateIssuance>(дата выставления), должна быть дата загрузки на портал ,или любая июльская,потому как возник вопрос,что с той стороны подписывать не будут? Получается,что надо все аннулировать?или уже все равно.2-если ндс 10%,нужен ли код Товара?
(3234) leoner61, <dateIssuance> проставляется на портале, в загружаемом xml этого не должно быть.
Кстати,можно как-нибудь вытянуть <dateIssuance> при получении входящих?
(3246) bobrhleb, можно не сохраняя документ GetSignProperty(t, "SIGNDATE", 0), где t - номер счета
GetSignProperty(t, "2.5.4.4", 0) и GetSignProperty(t, "2.5.4.41", 0) Фамилия и Имя подписавшего
(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.
ну и полез в менеджер сертификатов посмотрел свойства сертификата
(3260) VicCharp, спросил у службы поддержки как получить УНП подписавшего - нифига не ответили. хотя в инструкции они написали, что можно и другие атрибуты подписи получить.
(3259) leoner61, Не знаю, я <dateIssuance> не выгружаю и вот уже более 12к счетов прошло. А как вам такая ситуация: сегодня вы поставили 12 число в xml в <dateIssuance>, а портал потух. Что будете делать с этой xml завтра, переформировывать?
Пытаюсь забрать входящие с портала. Пишу ЧислоЭСЧФ = InvList.Count(); А мне вываливает ошибку "Значение не является значением объектного типа (Count)". Может они опять там что-то поменяли? Сталкивался кто?
Сервис, вроде, работает, но при запросе GetList для проверки новых поступивших ЭСЧФ ругается на плохой тип переменной. Что не так с >2016-07-01T00:01:00Z<? Или может что-то поменялось?
(3239) BigSerpent, Могу посоветовать после отправки на портал, сразу проверять статус. И только тогда решать отправилась она на портал или нет.
С этим кактусов вообще нужно много разных проверок с разных сторон, чтобы убедиться, что все сработало так как надо.
(3244) проверять статус сразу конечно хорошо. Но как на автомате сделать корректно создание ЭСЧФ с типом "Исправленный"?
По сути человеку нужно на портале аннулировать.. потом в учетной системе проставить статус "Аннулировано" (или забирать статус автоматом). Только после этого делать ЭСЧФ с типом "исправленный" и указать ссылку на исправленный документ.
Пока я пошел по пути наименьшего сопротивления и сделал возможность загружать статусы с выборкой "за период", по клиенту\списку клиентов. Руками все же запаряться они все делать... Оборот ЭСЧФ примерно 16000 в месяц.
(3245) residentishe, Так когда делаешь исправленный со ссылкой на исходный(исправленный), то исходный(исправленный) автоматом аннулируется. Вам потом просто нужно получить статусы последнего исправленного и предыдущего исправленного(исходного).
(3239) BigSerpent, Тикет без еррор это не показатель. Надо проверять статус сразу после выставления. А сейчас проверить статус этой ЭСЧФ по номеру - в Message должно вернуть почему не приняло.
Портал не корректно возвращает статусы. Вообще, то пустые, то УНП не нравится. Нет возможности получить входящие. Короче, портал опять в болоте. Уже бесить начинает. Что они там делают вообще? Полтора месяца уже рабочего времени, плюс было 3 месяца тестового. В отпусках они или в пох..зме там?
Похоже, что только статусы и работают. Пробую получить входящий ЭСЧФ по номеру для подписания - не отдаёт. У кого-нибудь получается подписать через сервис?
При формировании xml файла из 1c используя метод appendChild, сам файл получается в одну строку. Это не удобно при онлайн валидации файла.
Какая команда в 1с при формировании xml может вставлять разделитель строк?
(3264) rumik007, Да, хотелось бы видеть xml файл не в одну строчку. Та обработка, которая у меня, создаёт этот файл через OLE объект MSXML2.DOMDocument и команду appendChild.
Ваш ответ "Символы.ПС." не понял
(3268) eeakie, (3267) lazovit, (3266) Slypower
Проблема в том, что мой xml файл не проходит валидацию, у меня самописный конфиг и пришлось править код процедуры. И соответсвенно нужно локализовать то место, изза которого не проходит валидация.
notepad++ также открывает файл в одну строку, но это и не важно. Важно что онлайн сервисы валидации видят xml одной строкой.
Вопрсо прежний. как добавлять символ переноса при создании xml?
(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, моя нормально) сделана не через 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);
КонецЕсли;
ПроверкаЭСЧФПоСхеме();
КонецПроцедуры
(3265) EvgPinsk, А что Вы будете с .xml в "красивом" виде делать? Зачем? Есть просмотрщики. Или, к примеру, в 1С у меня показывает шапку с реквизитами, строки загружаю в ТаблицуЗначений. Даже по сетке работает без задержек.
(3281) ASDCXZ, Уже ведь объяснял. Если xml в "красивом" виде, т.е. с разделителями строк, то онлайн валидаторы сообщают ошибку в конкретной строке № такойто
Сейчас же у меня в xml одна строка, длиной в 2000символов. сложно в ней искать ошибки
(3288) EvgPinsk, Для онлайн-валидаторов Ваши переносы значения не имеют. Они сами показывают xml в правильном виде. И указывают строку. (к примеру "http://www.xmlvalidation.com/"). Сам им пользовался. Формирую через dom.
(3291) Slypower, Путь наименьшего сопротивления: проверил, исправил ошибки,настроил, забыл и занимаюсь другими задачами. Пока настраивал выгрузку понадобилось проверить 2-3 раза - затраты времени на проверку в 1С были бы больше (по крайней мере для меня). Выгрузку делал в 1С 7.7 через MSXML2.DOMDocument. А так - пути действий могут быть разные - важен результат.
(3269) eeakie, Присоединяюсь, у меня вообще при приеме вылазит GetList: Ответ сервера: При запросе поступивших счетов-фактур из репозитория произошла внутренняя ошибка. Обратитесь к администратору.
(3277) Xershi, все правильно. Ваш файл не проходит валидацию файла по схемам. Вы выставляете услугу или еще что? Файл можете показать ваш? docType-это тип документа, по которому вы предоставляете услугу. Так вот, либо он не открыт, либо не закрыт, либо отсутствует, либо лишний
(3279) Slypower, скорее всего понял о чем речь. Я там один реквизит пропустил. Думал и так сойдет. В понедельник добавлю все реквизиты. Думаю я правильно понял в чем дело)
Условия поставки:
Тип документа
Серия, тип, номер БСО ЖН, 861, 0634520
Дата 2016-08-04
Тип у меня пустой, его пока в моем ЭСЧФ не чем заполнять))
(3282) Xershi, да, вы верно поняли, дело в создании xml файла. Условия поставки: Тип документа и дата нужны постоянно, кроме физ лицам. А вообще может и предыдущий пост верен. Тут файл смотреть нужно
Уважаемые пользователи! Завершаются работы функции веб-сервиса Портала по выгрузке электронных счетов-фактур. Работа функции веб-сервиса Портала по выгрузке электронных счетов-фактур для бухгалтерских учетных систем восстановиться 12.08.2016 в 20:00. Приносим извинения за неудобства.
В попытках получить список входящих прошел вечер, стало колом на GetList и висит.Не знаю даже, что лучше - когда ругается на ошибки или когда висит... Полное неведение!
ребят, спасибо за все сообщения, ответы и вопросы. все, что смог сделал, все работает, но жаль что не стабильно. меня отпустили в отпуск, всем хорошей работы портала, ибо настроение во время и после рабочего дня, зависит на данный момент от vat.gov.by
Входящие получить так и не могу, не знаю, почему заявляется о работоспособности.
Не могу ни средствами 1С, ни хотя бы скриптами Авеста. А на портале уже более 2000 эсчф нам выставили. И вот что делать?
Регламентные работы на веб-сервисе Портала завершены в 18.00 12.08.2016, функция выгрузки электронных счетов-фактур в бухгалтерские учетные системы доступна для работы.
По результатам анализа работы программных решений бухгалтерских учетных систем и качества их доработок, изменен принцип работы веб-сервиса в части выгрузки электронных счетов-фактур с Портала. В настоящее время на веб-сервисе Портала осуществляется контроль факта выгрузки бухгалтерской учетной системой электронных счетов-фактур с Портала. На веб-сервисе Портала установлен регламентный период возможности повторной выгрузки бухгалтерской учетной системой ранее выгруженных документов не ранее 24 часов с момента последней выгрузки.
Данное изменение в работе веб-сервиса Портала касается только выгрузки электронных счетов-фактур, которые уже были ранее выгружены бухгалтерской учетной системой пользователя, и не распространяется на выгрузку новых входящих электронных счетов-фактур, а также не распространяется на запрос статусов электронных счетов-фактур на
Портале.
Проверил. Один раз скачалось все, на второй раз валится на GetEDoc(). Пипец.
(3304) it-prof, Жесть. Я представляю как все планировалось:
А не запилить ли нам ЭСЧФ? Вон в кладовке валяется пенек второй, да и домосед XXL от ByFly потянет 100 пудова, на торренте скорость ниже сделаем да и норм.
Скоро сделают электронную очередь когда и кому можно будет подключиться забрать, отправить, проверить!
НИЩЕБРОДЫ.
(3307) botman4, я думаю там всё хитрее.
Входящие раз в сутки, потом статус исходящих, потом сами исходящие. А потом опа: все за бабки. Тариф лайт - раз в сутки бесплатно, тариф лайт плюс - раз в 6 часов и тариф суперVIP - делай что хочешь.
В пятницу, допустим, были регл. работы. Сегодня девица сообщила, что работы завершены в полном объеме и все работает.
Пробую загружать ЭСФ - получаю сообщение "Документ принят в обработку.". Одновременно в исходном документе сообщение: "Не удалось проверить ЭЦП квитанции: Дескриптор открытого сообщения неверен."
Конечно же, документа на портале нет. Пытаюсь сохранить тикет в файл - вообще получаю, что метод SaveToFile() не обнаружен. Это видимо для того, чтобы было труднее понять генеральную идею.
Помимо этого пробовал загрузить этот документ руками из файла. Получаю пачку ошибок про неверные данные - ну там, сумма НДС не совпадает с какой-нибудь еще суммой НДС - не важно. Потом этот документ в статусе Получен. Ошибки проверяю на портале - уже все хорошо. Примечательно, что валидация по рекомендованной схеме у меня перед выгрузкой проходит, но даже если предположить, что не валидации дело, то почему с портала приходит отбивка, что документ принят, когда его там нет.
Отправить, что ли письмо этим дегенератам с описанием проблемы или не поможет? Кто-нибудь пробовал?
Отправить, что ли письмо этим дегенератам с описанием проблемы или не поможет?"
Думаю стоит попробовать - а вдруг?
Можно отправить им ссылку на эту ветку форума... пусть читают и по горячим следам исправляют допущенные косяки, которые для них выявляют десятки бесплатных тестировщиков их портала.
Я в шоке. А если я вруг отчет за год захочу на портале крутить? Раз в год можно?
Ещё интересно как мне запросить на портале только новые входящие, или при повторном запросе портал только их и выдаст? Или не выдаст ничего?
(3315) barbedwire,
Читают, но неофициально, а все входящие фиксируются! Так, что... надо долбить! или признают проект несостоявшимся (что вряд-ли, это ведь надо признать официально свои ошибки) или поменяют состав программеров. "Или что-то случилось. Или одно из двух."
...или признают проект несостоявшимся (что вряд-ли, это ведь надо признать официально свои ошибки)
Этот проект вовсе не белорусское ноу-хау. Беларусь в этом вопросе можно сказать аутсайдер и лишь пытается сделать то, что в соседних странах уже давно работает.
Электронные счета-фактуры уже используются в России, Казахстане, Азербайджане, странах ЕС
Ошибка получения списка ЭСЧФ: Ответ сервера: При запросе поступивших счетов-фактур из репозитория произошла внутренняя ошибка. Обратитесь к администратору.
На получение списка тоже ограничение раз в сутки ? или по утру портал прилег ?
Начинаю всерьез рассматривать использование REST API портала (через что web морда получает данные) единственное с авторизацией проблемы но думаю решаемо :)
Попробовал прочитать свои входящие, сначала начал довольно шустро, потом прилег и сча висит, такое ощущение, что они может действительно некий бан придумали для особо активных?
если я правильно понял, то:
1. Подписанные СФ получить нельзя
2. Установить принятие к вычиту (управление вычитами) тоже нельзя
Поправьте меня, пожалуйста если я не прав.
(3324) dragonga,
1) Не совсем так, к ней можно обратиться по номеру и получить её. Но подписанные эсчф уже не попадают в список, который возвращает метод ГетЛист.
2) Управление вычетами только ручками на портале. В вебсервисе такого функционала нет.
(3327) dragonga, по умолчанию дата принятия вычета = дата подписания ЭСЧФ(или дата выставления, точно не помню). Если вас это устраивает, то можно ничего не делать. Но если вам нужно поменять эту дату, то тогда руками на портале менять у каждой ЭСЧФ