Всем привет. Не секрет, в Беларуси с 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с - все работает и загружает.
(5070) Скорее всего это так, хотя и нелогично: ЭСЧФ со статусами сторон Комитент-Комиссионер уже подразумевает, что НДС будет перевыставляться конечному покупателю.
(5073) Ну во входящем ЭСЧФ нету же признака, что это товар на комиссию. А им по идее потом по данным входящих контролировать правильность взятых вычетов в декларации. Можно конечно и по исходящим перевыставленным побегать, но вопрос, что сделать с остатком который приходится еще не на отгруженный товар. Поэтому ИМХО, в управлении вычетов во входящих логика есть, дали бы еще программно этим по управлять.
(5066)
Надо поуправлять вычетами ЭСЧФ комитента.
Как только сделать управление вычетами, портал начинает нормально принимать эти ЭСЧФ, так как стоит проверка на сумму НДС.
Исходящие ЭСЧФ отправляются, но потом в статус возвращается ошибка. Это на основном сервере.
А на тестовом все норм проходит, возвращается статус выставлен...
(5069) если писать утром, то можно получить в течении часа ответ, а на повторный в течении 10 минут.
Но это если они знают что ответить. Иначе может затянуться, а потом и вовсе потерять ваше письмо.
Так что если нет ответа более 3 дней пишите по 2 кругу.
&НаКлиенте
Процедура ОбновитьИсходящиеПодписанныеВыделенные(Команда)
ТекстОшибки = "";
Отказ = Ложь;
ПолучитьСоединенияНаСервере(Отказ);
Если Отказ Тогда
ЭлектронныеДокументыСлужебныйВызовСервера_Локализация.ОбработатьИсключениеПоЭДНаСервере(Нстр("ru = 'Обновление статусов ЭСЧФ' "),
"Не установлено соединение с порталом электронных счетов-фактур НДС", "Не установлено соединение с порталом электронных счетов-фактур НДС");
Возврат;
КонецЕсли;
МассивДокументов = Новый Массив;
Для Каждого Стр Из Элементы["ИсходящиеПодписанные"].ВыделенныеСтроки Цикл
ВыделенныйДокумент = Элементы["ИсходящиеПодписанные"].ДанныеСтроки(Стр).Документ;
ДобавитьПодчиненныеЭСЧФНаСервере(ВыделенныйДокумент, МассивДокументов);
КонецЦикла;
ЗапроситьСтатусыЭСЧФНаСервере(МассивДокументов);
Элементы.ИсходящиеПодписанные.Обновить();
КонецПроцедуры
&НаСервере
Процедура ДобавитьПодчиненныеЭСЧФНаСервере(ЭСЧФ, МассивДокументов)
Если ЗначениеЗаполнено(ЭСЧФ) Тогда
Если ЭСЧФ.ТипЭСЧФ = Перечисления.КодыТиповСчетовФактур_Локализация.Исходный ИЛИ ЭСЧФ.ТипЭСЧФ = Перечисления.КодыТиповСчетовФактур_Локализация.ДополнительныйБезСсылки Тогда
МассивДокументов.Добавить(ЭСЧФ);
ДобавитьВерхнийУровеньЭСЧФ(ЭСЧФ, МассивДокументов);
Иначе
ДобавитьПодчиненныеЭСЧФНаСервере(ЭСЧФ.ИсходныйЭСЧФ, МассивДокументов);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ДобавитьВерхнийУровеньЭСЧФ(ЭСЧФ, МассивДокументов)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ЭлектронныйСчетФактура.Ссылка КАК ЭСЧФ
|ИЗ
| Документ.ЭлектронныйСчетФактура КАК ЭлектронныйСчетФактура
|ГДЕ
| ЭлектронныйСчетФактура.ИсходныйЭСЧФ = &ИсходныйЭСЧФ";
Запрос.УстановитьПараметр("ИсходныйЭСЧФ", ЭСЧФ);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
МассивДокументов.Добавить(Выборка.ЭСЧФ);
ДобавитьВерхнийУровеньЭСЧФ(Выборка.ЭСЧФ, МассивДокументов);
КонецЦикла;
КонецПроцедуры
Показать
Я выделяю дополнительный к исходному. И процедура находит исходный, а затем запросами находит все верхние уровни.
Т.е. есть исходный к нему дополнительный, а затем выставили исправленный. По итогу я получаю статусы всех 3 документов и вопрос закрыт по обновлению статуса пользователем при аннулировании вручную или затем через базу, найдя и обновив один лишь документ из цепочки!
(5081)
Не понял? Исправленный выставил на дополнительный или на исходный?
Интересует ситуация именно исправленный на дополнительный.
Еще с прошлой недели отправил вТП запрос на этой продублировал его(ответа пока нет)
Привожу текст запрса
Подскажите алгоритм работы для приложенного примера
далее
Оригинал - это хмл по схеме MNSATI_original.xsd
Доп - это хмл по схеме MNSATI_additional.xsd
Изм - это хмл по схеме MNSATI_fixed.xsd
Имеем цепочку
Оригинал1-Доп1
Оригинал1-Доп2
Оригинал1-Доп3
Вопрос 1
Что должно произойти -
1 - при изменении оригинала1
(Мое мнение необходимо перевыставить допы)
2 - при изменении доп2
(Мое мнение перевыставлял и Доп3)
3- возможна ли цепочка Оригинал1-доп2-доп4-изм1?
Вопрос2
Добавить Дополнительную к дополнительной это понятно, а вот как произвести изменение дополнительной? По схеме MNSATI_fixed с учетом полей оригинала?
Прим: Во всех указанных случаях в качестве дополнительной имеется в виду дополнительная со ссылкой.
Буду особо благодарен за развернутый ответ. Методология его вроде одобрила, по крайней мере противоречий с НК не нашла.
(5083) недочеты выгрузки через компоненту я не тестировал. Исхожу из логики выставления в правильном русле:
исходный/дополнительный без ссылки(потомки дополнительные)->исправленный(потомки дополнительные)->исправленный(потомки дополнительные)
Наверное опять что-то поменялось
Раньше (еще пару месяцев назад) у меня в цепочке
исходный/дополнительный без ссылки(потомки дополнительные)->исправленный(потомки дополнительные)
не получалось выставить исправленный ругалось что исходный является дополнительным без ссылки (<0), дополнительный тоже (<0) и исправленный тоже (<0). Попытка обьяснить ТП и налоговикам обернулась полным непониманием сторон ( а эта ситуация типична для суммовых разниц).
Нашли компромисное решения. Сейчас суммовые выставляю по схеме
Оригинал1-Доп1
Оригинал1-Доп2
Оригинал1-Доп3
Но воn все также не могу изменить дополнительную если она и измененная <0.(значения не должны быть отрицательными). А как им не быть если курс ушел в минус, а бухи ошиблись в 3-ем знаке курса?
1. Исходный -> Доп1 -> Доп2 ... и т. д. (Это в основном схема возврата товаров) . Товар возвращается и возможен контроль по суммам!
2.Оригинал1-Доп1
Оригинал1-Доп2
Оригинал1-Доп3
(Это схема суммовых разниц!!!!!!) При нашей Э-е-кономике вполне возможно сумма суммовых разниц превысить исходную сумму, а вот этого портал тупо не учитывает и посему отвергает минусы в измененных даже не проверяя (А если и проверит что тогда?!!!),
Фактически считаю право на заявление минуса ниже заявлнного в накладной расхода неотьемливым правом плательщика, в случае сомений придите и проверьте, НО какого хера вы приперлись если исходная у Вас есть курсы тоже, что доп слабо рассчитать!
Нехрен пытаться на нас положить Все! А то округлить до четырех знаков не могут и сумму по курсу рассчитать!
(5100)
А вот с курсами они сами и виноваты (МНС - и все прочие генераторы дебильных идей) - нахрена было менять правила по переоценке рублевых сумм при валютных расчетах.. Интересно - проявился ли какой либо экономический эффект от того что предоплаченные импортным контрагентом суммы в день расчетов (отгрузки к примеру) рассчитывать курсом того дня, когда .собственно, предоплата и была осуществлена. - Теперь конечно - вы пишите что курсы они мол знают - знают то знают а реальный курс в расчетах и усредненным получиться может (если у вас такая ситуация...)
Подскажите в чем может быть ошибка: не могу "достать" номер документа во входящей ЭСЧФ
НомерВхДок = InvVatXml.Document.GetXmlNodeAttribute( "issuance/deliveryCondition/contract/documents/document/number");
Метод Document.GetXmlNodeValue
Получение значения узла XML документа.
Входные параметры:
• Node — путь к узлу, например “issuance/general/number”.
Результат:
В случае успешного выполнения возвращается строка с данными, иначе возвращается пустая строка.
GetXmlNodeAttribute
Метод Document.GetXmlNodeAttribute
Получение значения атрибута узла XML документа.
Входные параметры:
• Node — путь к узлу и его атрибуту, например “issuance/sender”.
Результат:
В случае успешного выполнения возвращается строка с данными, иначе возвращается пустая строка.
Сегодня на тестовом портале захожу через браузер:
«УНП в справочнике ГРП отсутствует.»
Через компоненту подключение на тестовый сервер прошло, но
EDocStatusInfo = EVatService.GetStatus(Выборка.НомерЭСЧФ);
Если EDocStatusInfo = Неопределено Тогда
Поэтому не могу обновить статус!
В прошлый раз это было на рабочем сервере и минут через 10 обновил страницу и авторизация прошла!
Вы сервер перегружаете?
Прошу устранить ошибку!
Показать
Ответ:
Здравствуйте.
На тестовом сервере проходит обновление, он временно недоступен.
может кто встречался с ошибкой: при отправке на портал исходной эсчф возвращает статус "ERROR" с описанием ошибки "smallint out of range" Это только по одному контрагенту
(5109)
Достали - пока программно управление вычетами не реализуют - нихрена переделывать не буду :(
Адекватным людям сразу ясно было с чем столкнутся бухгалтера ...заказчики ПО портала - очень от реальности далеки :) ... Но программистам дали заработать :)
Кто-нибудь пользовался новым реквизитом в табличной части skipDeduction? Это типа управления вычетами - дата принятия НДС к вычету? В новом "Описании.." не нашла
(5111) ХЗ.
Предполагаю, что хотя бы по тем ЭСЧФ которые самим себе выставляем. У меня есть такие ЭСЧФ, которые контрагент выставляет на портал сам себе на дату фактической реализации, а к вычету может принять только в сл. месяце (услуги нерезидентов)
Иногда выскакивает сразу, а бывает перед этим загрузит несколько десятков документов
Если попытаться загрузить документ не через
InvList = EVatService.GetList(СокрЛП(НужнаяДата));
InvVatNumber = InvList.GetItemAttribute(i, "document/number");
InvVatXml = EVatService.GetEDoc(InvVatNumber);
а напрямую по конкретному номеру ЭСЧФ
InvVatNumber=СокрЛП(ID);
InvVatXml = EVatService.GetEDoc(InvVatNumber);
То все отлично
Я - растерян
Надеюсь на ваш совет
(5114)Раньше обсуждалось. Посмотрите ~ со стр. 10. Вкраце: Оберните GetEDoc в попытку со счётчиком. Ошибка HTTP - это ошибка уровня сокета. Это или проблема со связью или сервер перегружен.
(5118)
1.GetEDoc как и практически все что можно, уже обернуто попыткой
2.Как ситуацию исправит счетчик попыток не понимаю, но буду пробовать
3.Интернет выделенная оптика, в процессе выполнения кода на всякий случай пинговал сервер, видимых обрывов, или скачков не было
Попытка
InvVatXml = EVatService.GetEDoc(InvVatNumber);
Исключение
Сообщить( EVatService.LastError,"!");
Продолжить;
КонецПопытки;
(5120) для исходящих мы это делаем чтобы получать статусы. Иногда с первого раза статус не получает, для этого счетчик. У меня 10 циклов. Если раньше получает, то прервать не забудь.
тайм аут, как понимаю, это что то вроде этого -
TimeOut = EVatService.SetServiceProperty( "connection.readTimeout", 6000, 0 ) ;
пробовал менять всячески этот параметр - эффект нулевой
Тогда остается решение... грузить сначала список номеров ЭСЧФ,
а затем по номеру загружать документы ?
Если бухгалтерия узнает, что каждую входящую нужно грузить отдельно -
то расстроятся невероятно
Одни до дрожи боятся самой вероятности перетрудится
ПопыкаGetEDoc=0;
~ПолучВх:
Попытка
InvList = EVatService.GetEDoc(Номер);
Исключение
ПопыкаGetEDoc=ПопыкаGetEDoc+1;
Если ПопыкаGetEDoc=4 Тогда
Предупреждение("Ошибка получения ЭСЧФ: " + EVatService.LastError);
Возврат;
КонецЕсли;
Перейти ~ПолучВх;
КонецПопытки;
Показать
А вообще там система не простая))) раз в сутки получаем, поэтому мы сразу сохраняем в xml файлах
(5122)
У меня все примерно так же
Запрашиваю GetList с даты по сегодня
Затем получаю номера ЭСЧФ, веду поиск по документам ЭСЧФВходящие, если нет совпадений, то сохраняю xml и sgn.xml, запрашиваю статус
на основе xml создаю новый док
Все это в цикле, все работает, но под конец
сервер меня отвергает((
(5126)
А файл- ticket - для чего при получении?
Я так в обходе цикла GetList сначала по номеру входящей проверяю наличие сформированного документа в системе, затем наличие файла - затем GetEdoc( ....
а сколько поступает в месяц у вас входящих ЭСЧФ?
Квитанция приёма электронного документа
Автоматизированный сервис портала ЭСЧФ принимает документ и возвращает в ответ электронный документ — квитанцию о приёме электронного документа в формате XML. Квитанция представляет собой электронный документ (раздел 3.1), содержащий в элементе «document» следующую структуру:
<ticket>
<issuer URI="https://vat.gov.by/einvoice">
<reference>
<digest>
<method algId=" 1.2.112.0.2.0.34.101.31.81"/>
<value>uooqbWYa5VCqcJCbuymBKqm17vY=</value>
</digest>
<ob jectIdentifier path="/issuance/general/number">
<value>100030893-2015-0000000005</value>
</objectIdentifier>
</reference>
<receipt accepted="no">
<message>Сертификат абонента "Иванов" отозван</message>
<date>2016-11-05T13:15:30Z</date>
</receipt>
</ticket>
Элемент issuer указывает на сервис, выдавший квитанцию. URI сервиса должен совпадать со значением элемента CN(CommonName) поля subject или subjectAltName технологического сертификата открытого ключа портала ЭСЧФ.
Элемент reference указывает для какого документа выдана квитанция.
Элемент reference/digest описывает хэш для поданного электронного документа (e-document), на который выдана эта квитанция. Элемент reference/digest/algId содержит OID алгоритма хэширования. Элемент reference/digest/value содержит значение функции хэширования в кодировке Base64. Функция хэширования вычисляется от поданного e-document начиная с <e-document> до завершающего </e-document> включительно.
reference/objectIdentifier содержит уникальный номер счета-фактуры, на который выдана квитанция. Атрибут reference/objectIdentifier/path содержит путь в XML документе, содержащий номер счета-фактуры в исходном документе. Элемент reference/objectIdentifier/value – значение уникального номера счета-фактуры.
Элемент receipt определяет результат приема счета-фактуры, включающий значения атрибута accepted и элемент message, содержащий дополнительное текстовое сообщение.
3.3. Информация о статусе обработки счета-фактуры НДС
Сервис портала ЭСЧФ при запросе текущего статуса обработки счета-фактуры в ответе возвращает электронный документ — статус обработки электронного документа. Статус представляет собой электронный документ (раздел 3.1), содержащий в элементе «document» следующую структуру:
<status_info>
<issuer URI="https://vat.gov.by/einvoice">
<reference>
<ob jectIdentifier path="/issuance/general/number">
<value>100030893-2015-0000000005</value>
</objectIdentifier>
</reference>
<document_state>
<status>COMPLETED</status>
<message>ЭСЧФ создан, подписан отправляющей стороной</message>
<since>2016-11-05T13:15:30Z</since>
</document_state>
</status_info>
Элемент issuer указывает на сервис, выдавший квитанцию. URI сервиса должен совпадать со значением элемента CN(CommonName) поля subject или subjectAltName технологического сертификата открытого ключа портала ЭСЧФ.
Элемент reference указывает для какого документа выдан статус.
reference/objectIdentifier содержит уникальный номер счета-фактуры, на который выдана квитанция. Атрибут reference/objectIdentifier/path содержит путь, указывающий на номер счета-фактуры в исходном документе. Элемент reference/objectIdentifier/value – значение уникального номера.
Элемент document_state определяет текущий статус обработки электронной счет-фактуры НДС:
Элемент document_state/status описывает текущий статус обработки счета-фактуры автоматизированным сервисом путем указания одной из констант COMPLETED, COMPLETED_SIGNED и др.
Элемент document_state/message содержит дополнительное текстовое сообщение о статусе.
Элемент document_state/since содержит дату и время присвоения данного статуса ЭСЧФ.
(5134)
:) Вопрос в другом - в коде вышепредоставленном класс Ticket вообще не создается
//---------------------------------------------------------
//Проверим наличие файла
ФайлXML = Новый Файл(ПутьXML);
ФайлTicket = Новый Файл(ПутьTicket);
Если ФайлXML.Существует() И ФайлTicket.Существует() Тогда
Продолжить
КонецЕсли;
Попытка
InvVatXml = EVatService.GetEDoc(InvVatNumber);
Исключение
ОписаниеОшибки = EVatService.LastError;
Лог.Добавить(Строка(ТекущаяДата())+ " | "+ОписаниеОшибки,,,БиблиотекаКартинок.СообщениеОшибка);
Продолжить;
КонецПопытки;
Если InvVatXml = Неопределено Тогда
ОписаниеОшибки = EVatService.LastError;
Лог.Добавить(Строка(ТекущаяДата())+ " | "+ОписаниеОшибки,,,БиблиотекаКартинок.СообщениеОшибка);
Продолжить
КонецЕсли;
Если НЕ ФайлXML.Существует() Тогда
ПутьXMLNew = КаталогВФ + "recvnew\" + InvVatNumber+".xml";
Попытка
XML = InvVatXml.Document.SaveToFile(ПутьXMLNew);
счНовых = счНовых + 1;
Исключение
ОписаниеОшибки = EVatService.LastError;
Лог.Добавить(Строка(ТекущаяДата())+ " | "+ОписаниеОшибки,,,БиблиотекаКартинок.СообщениеОшибка);
КонецПопытки
КонецЕсли;
Если НЕ ФайлTicket.Существует() Тогда
ПутьTicketNew = КаталогВФ + "recvnew\" + InvVatNumber + "_ticket.xml";
Попытка
ticket = InvVatXml.SaveToFile(ПутьTicketNew);
Исключение
ОписаниеОшибки = EVatService.LastError;
Лог.Добавить(Строка(ТекущаяДата())+ " | "+ОписаниеОшибки,,,БиблиотекаКартинок.СообщениеОшибка);
КонецПопытки
КонецЕсли;
//
у меня вообщето так - если речь идет о ticket
//-----------------------------------------------------------------------
файл ticket - это дубликат электронного документа - я про это
InvVatTicket = EVatService.Ticket;
Если InvVatTicket.Accepted <> 0 Тогда
Сообщить( "Документ не принят: " + InvVatTicket.Message);
ФайлКвитанции = PATH_OUT+НомерЭСЧФ+".ticket.error.xml";
ДокументНеПринят=1;
Иначе
TicketIssuerUri = InvVatTicket.Document.GetXmlNodeAttribute("ticket/issuer/URI") ;
Сообщить("Документ успешно принят сервисом " + TicketIssuerUri);
ФайлКвитанции = PATH_OUT+НомерЭСЧФ+ ".ticket.xml";
КонецЕсли;
................
//-----------------------------------------------------------------------
(5203)
Ошибаешься.
Как раз там файлы не дублирует, а сохраняет 2-а разных
1) саму ЭСЧФ
2) квитанцию ЭСЧФ (необходимую для подписи)
Но прежде чем сохранить проверяет наличие этих файлов, если один из них отсутствует то загружает недостающий.
Читаю руководство и понимаю почему моя проверка схемы не сработала, когда у меня пустое было поле номенклатуры в хмл.
Они после проверки схемы используют правила, которые на 2 этапе и проверяются. Раньше все было сразу.
Т.е. нужно проверить 59 правил перед отправкой и тогда 100% успех!
Если конечно портал не заглючит))
Перечитал руководство:
1.3 Дополнительный без ссылки на ЭСЧФ Счет-фактура этого типа не содержит ссылку на номер исходного или исправленного ЭСЧФ. Дополнительный ЭСЧФ без ссылки на счет-фактуру заполняется по правилам заполнения исходного ЭСЧФ. К дополнительному без ссылки на ЭСЧФ нельзя выставить дополнительный или исправленный ЭСЧФ. Правила выставления, аннулирования соответствуют правилам выставления, аннулирования исходного ЭСЧФ.
Если придется его исправлять, то его только аннулировать и выставить заново?
Где взять схему для него?
На сайте только 3 из 4 статусов.
Ответ:
Здравствуйте.
Можно сделать копию схемы MNSATI_original.xsd, и переименовать ее в MNSATI_add_no_reference.xsd.
По первому вопросу: да, исправить можно только аннулировав и выставив новую.
(5128)
Ага а аннулировать удаленно тоже нельзя! Только вручную! Изменить нельзя аннулировать нельзя изачем это надо ? Доп со ссылкой по нынешним схемам вообще изменить невозможно. Исходя из инструкции если в ноябре бух ошибся с курсом надо изменять исходную которая была в январе и последовательно за ней перевыставлять 11 допов (суммовые разницы).
Подскажите, пожалуйста, как вы отслеживаете входящие ЭСЧФ, которые не закачались в этот раз, в прошлый раз и т.д. (по разным причинам. У нас, например, не все файлики закачиваются.) Чтобы они не остались незакачанными? Где-то номера записываете и потом по этим номерам через сутки еще раз пытаетесь их закачать? Поделитесь опытом, плиз.
(5139) дату загрузки поставь 1 июля и все скачаешь. Если были ошибки, то я сейчас буду писать алгоритм, чтобы все равно грузило.
Ошибка может быть если сертификат истек или еще какой глюк, но в любом случае хмл есть и его можно распарсить.
(5141)
Спасибо за оперативность. Но мы даже с сентября получить GetList не можем(около 1000 входящих в сутки). Не отдает с ошибкой:
Ошибка HTTP
Ответ от сервера не получен. (Socket Error # 0 )
Периодически по такой же ошибке не закачиваются некоторые файлики (GetEDoc вываливается на этой ошибке).
Я так понимаю, что это где-то связь с порталом теряется. При попытке сразу же переполучить этот файл по номеру уже пишет, что пробуйте через сутки. А номера файлов, которые не получилось скачать, я пока никуда не сохраняю. Завтра они уже закачаются, но вылезут еще какие-нить незакачки и InvList.ToDate(если следовать логике разработчиков) опять останется старым. Вот и думаю, может ну его - этот ToDate, ставить последнюю дату запроса, а эти номера просто где-то в 1с сохранять, а через сутки пробовать их заново скачать уже просто по номеру.
(5142) это рекомендация, чтобы вы по второму кругу одно и тоже не грузили, а в вашем случае это не так!
Но после того как вы подпишите, то в этом списке их и не будет!
С такой ошибкой пишите логи и отправляйте в ТП!
(5143)
Т.е. забрать все входящие с 01.07 (мы пока еще не подписываем, т.к. работа по входящим только недавно началась). Пусть бухи проверят, подпишут в 1С (я правда не знаю как они такой объем проверят с июля, а автоматом у нас очень много не распределится). Соответственно выставленных неподписанных станет значительно меньше и GetList начнет справляться с объемом. И использование ToDate, так как рекомендовано, буде достаточно. Т.е. это, в принципе, проблема из-за того, что у нас накопилось много неподписанных. Правильно я понимаю?
ПыСы. Писали в ТП. Только они такие отписки иногда пишут, что начинаешь думать, что там не студенты вуза, а студенты колледжа....
Реализовал по входящим и исходящим. В ИБ организовал забалансовые счета в разрезе УНН. Из портала принимаю выгрузки в формате CSV.
Вроде работает, но пользоваться этим УД нормальному человеку НЕЛЬЗЯЯЯЯАААА.
Поясняю в зависимости от расположения пятки разработчика портала в созвездии Кассиопеи, на запрос портал в состоянии выгрузить единовременно от 500 до 2500-3000 тысяч СФ.
В результате даже если выгружать по 2-3 дня получается (в моем случае) с десяток доков на загрузку входящих и несколько более на исходящие.
Т.к. ситуация по обработке Вх и Исх постоянно меняется надо хотя бы через пару дней обновлять загрузки. А это вручную учитывая вышеизложенное уже через неделю задалбывает хуже некуда.
Все это дерьмо напоминает известную пестню:
Цыгане шумною толпою толкали ж-пой паравоз, лишь через год они узнали, что паравоз - был без колес .....
(5149)
Ох, соглашусь с каждой фразой.... Актуально и про пятку, и про созвездие, и особенно про "задалбывает хуже некуда".
"В ИБ организовал забалансовые счета в разрезе УНН." - интересная идея, хотя сомневаюсь что у нас это приживется
"Из портала принимаю выгрузки в формате CSV. " - это что за зверь и где он водится на портале? Вы эту выгрузку в 1с затягиваете?
"В ИБ организовал забалансовые счета в разрезе УНН." - интересная идея, хотя сомневаюсь что у нас это приживется
Я и описываю в своем посте почему не приживается, а так убив сутки достигал впечатляющих результатов. Чертовски полезная вещь. Раз в месяц, когда позволяет время пользуюсь, но надо чаще.
"Из портала принимаю выгрузки в формате CSV. " - это что за зверь и где он водится на портале? Вы эту выгрузку в 1с затягиваете?
На портале имеется такая хрень как Монитор сделок.
После установки и наложения фильтра он формирует отчет в виде перечня СФ согласно запроса. Если сформированный Вами запрос возможно выгрузить в право нижнем углу появляется значок выгрузки. Указав имя файла и место выгрузки можно сохранить результаты запроса в файле CSV который затем и загружаю. Беда в том, что на один и тот-же запрос портал то дает выгрузить то нет (не угадаешь). Опытным путем установил более 3000 СФ в запросе не выгружает вообще, если меньше похоже в зависимости от нагузки.
В ИБ создал спец документ в который и загружаю файлы. Дальше дело техники...
(5153) а так вы таким хитрым способом решили обойти ограничение раз в сутки, но не более. Хотя для входящих подпись входящего нужна только для того чтобы проверить пройдет ли подпись наша.
(5154)
Вы не правы . Исключительно сверка после передач. Сразу все наглядно видно. К тому-же здесь входящие не получаю. Соответственно и подписать не могу.
Попробовал выставить на тестовом портале исправленный на дополнительный:
"НомерЭСЧФ" Родительский ЭСЧФ должен быть исходным или исправленным.
Ну вот и все!
Значит схема такая:
Исходный(потомки дополнительные) ->Исправленный(потомки дополнительные)->Исправленный(потомки дополнительные)
Дополнительный без ссылки -> Аннулирование на портале и выставление заново с правками
Вот и я про то . Очень давно выставил в т.п. и налоговую эту проблему молчат как будто ее нет.
Исходная ситуация
В июле был реализован атомобиль по договору выраженному в эквиваленте (USD суммовая разница на дату оплаты). Платежи по нему производятся покупатем равными частями в течение года. Но в ноябре при разноске курсов бухгалтером допущена ошибка в курсе. В результате на портал попала неверная информация о начисленной суммовой разнице.
Вопрос как исправить неверную счет-фактуру?
Варианты возможных решений:
1. Если суммы суммовых разниц выставлялись по схеме дополнительная без ссылки, то изменить или дополнить такую СФ запрещено. Можно только аннулировать вручную в личном кабинете, а это приличный кусок работы т.к. касается всех подобных отгрузок совершенных предприятием, а их поверьте много.
Весьма велик шанс что-то пропустить и не аннулировать. Проверить это пользуясь текущими средствами портала невозможно (человеческий фактор).
2. Если суммы суммовых разниц выставлялись по схеме дополнительная со ссылкой, то изменить или дополнить такую СФ тоже нельзя
п 1.2 Дополнительный
Счет-фактура этого типа должен содержать ссылку на номер исходного или исправленного ЭСЧФ.
1.4 Исправленный
Счет-фактура этого типа содержит ссылку на номер исходного или исправленного ЭСЧФ.
Можно изменить исходную, но потребуются перевыставления дополнительных за июль, август, сентябрь, октябрь и ноябрь. Что еще хуже чем в варианте 1. Напоминаю подобных отгрузок просто неприлично много.
Учитывая что счетные, наборные и подобные ошибки являются неизбежными, хотелось бы иметь более простой механизм исправления подобных ситуаций.
Как быть?
(5146) 1. ваша проблема в том что у вас много дополнительных без ссылок?
Да проблема, но вам придется это на текущий момент перелопатить вручную.
2. Тут я точно не скажу, но скорее всего достаточно выставить 1 исправленный с нужной датой. Дату вы возьмете на сегодня! А не на дату выставления и все допы переносить ни к чему.
По второму пункту лучше в МНС позвоните, а не в ТП!
5140. Xer shi (Xershi) 11.11.16 09:31
Попробовал выставить на тестовом портале исправленный на дополнительный:
"НомерЭСЧФ" Родительский ЭСЧФ должен быть исходным или исправленным.
Ну вот и все!
Значит схема такая:
Исходный(потомки дополнительные) ->Исправленный(потомки дополнительные)->Исправленный(потомки дополнительные)
Дополнительный без ссылки -> Аннулирование на портале и выставление заново с правками
В связи с Этим не пойму что это значит
2. Тут я точно не скажу, но скорее всего достаточно выставить 1 исправленный с нужной датой. Дату вы возьмете на сегодня! А не на дату выставления и все допы переносить ни к чему.
(5157) вот о чем я говорил:
Исходный(потомки дополнительные) ->Исправленный (дата совершения операции сегодня, суммы с учетом курсовых разниц)
А вот то что в скобках говорил уточнить в МНС!
(5160) так, а зачем вам каждый месяц это показывать, чтобы вычеты менять?
Да к исходному. Мне кажется вам нужно будет все поправить, когда контракт закроете.
Но так и не понятно почему до сих пор в МНС не позвонили...
Подскажите пожалуйста, как вы выставляете ЭСЧФ если в перечне товара есть строка со ставкой НДС (Без НДС и 0%)?
И необходимо ли его вообще выставлять ведь мы отражаем сумму НДС а раз его нет то и зачем его вообще отражать?
(5148)
Выставляем такие товары. НДС есть, просто сумма по нем 0. Реализован товар, поэтому и выставляем. Только в этом случае обязательно ДопДанные в товаре надо заполнять. Реализовываем как-то так:
(5150)
Нет необходимости в примере кода.
У нас просто очень интересная ситуация возникла. Контрагент который выставляет на мою организацию ЭСЧФ исключает из первичного документа все товары не содержащие суммы НДС. Просто интересует вопрос правильно ли они делают.
В инструкции сказано что если товар содержит ставку НДС (БезНДС или 0%) то в графе необходимо указывать доп. сведения.
Уважаемые пользователи портала и разработчики учетных систем!
Информируем Вас о том, что обновлена документация и пример средства взаимодействия с автоматизированным сервисом Портала АИС "Учет счетов-фактур".
Документация и пример средства взаимодействия с автоматизированным сервисом Портала АИС "Учет счетов-фактур" доступно по ссылке.
Доработки:
ActiveX EInvVatService: версия 1.2.15
ActiveX EInvVatService: Добавлен метод Version.
VBS simpleapp. Добавлен вывод версии компонента ActiveX EInvVatService.
(5162) вот уже час сижу и думаю, где мне использовать данные о версии компоненты ActiveX EInvVatService!? Что оно мне даст? Или это отмазка разработчикам, типо: проверьте версию... Как же дальше работать теперь? А что будет, если я не буду этого знать? Жизнь потеряет смысл))))
Работа разработчиков за последний месяц напоминает: не знаешь что делать, делать что-нибудь, только делай. Последние методы и свойства я как не использовал так и не планирую. Не о том они думают, ой не о том
(5170) Ну не скажите... Работ кипит, версии меняются как: вроде ж последняя была 1.2.11.1, на сегодня уже 1.2.15. Обновили документацию. Вон сколько работы переделали ))))
А то, что нужно простым смертным... Кого ж оно волнует... )))) Тем более такие запросы у нас возникают...
(5171) открыл Radme.txt. Новая версия: 1.2.15 от Дата: 8.11.2016. До этого была 0.9.5 от Дата: 14.10.2016. Скачок большой, а воз и ныне там. По примеру документации "Процедуры ЭСФЧ для 1с8(+1с7).docx."
(5173) По поводу сокет эроров соглашусь. С пятницы Socket Error # 0 пока не появлялся, у нас абсолютно ничего не менялось, а в пятницу вдруг почему-то все заработало... Даже получилось забрать с 01.07 все входящие (месяц безуспешных попыток). Вот и думается мне, что они что-то у себя поправили, но гордо об этом промолчали в новой новости )))
Можно ли с помощью ActiveX EInvVatService выгрузить с портала любую эсчф(не только для второй подписи, но и уже подписанную всеми) ?
Можно ли с помощью ActiveX EInvVatService узнать дату второй подписи для выставленных эсчф ?