Всем привет. Не секрет, в Беларуси с 1 июля 2016 должна подаваться ЭСЧФ. Кто-нибудь уже работает с ней? Ведь там, вроде, уже 60 компаний Беларуси работает в тестовом режиме.
Сделал я по инструкциям, что на их сайте, но столько вопросов к их информации осталось.
Очень много полезного нам дали разработчики. Внимательно читайте их документацию в eInvVat, которую скачиваете, а так же примерами для 1С служат bat файлы из папки eInvVat\simpleapp\vbs\src\. Не поленитесь и посетить их сайт vat.gov.by. На основании этих знаний все пишут обработки. Если что не понятно, то можно прибегнуть к данной теме.
Важные и полезные ссылки на сайты и на сообщения темы.
Дополняется со временем
Сделал я по инструкциям, что на их сайте, но столько вопросов к их информации осталось.
Очень много полезного нам дали разработчики. Внимательно читайте их документацию в eInvVat, которую скачиваете, а так же примерами для 1С служат bat файлы из папки eInvVat\simpleapp\vbs\src\. Не поленитесь и посетить их сайт vat.gov.by. На основании этих знаний все пишут обработки. Если что не понятно, то можно прибегнуть к данной теме.
Важные и полезные ссылки на сайты и на сообщения темы.
Ссылки на сайт портала |
|---|
| Новости от разработчиков -
Руководства и инструкции по настройки ПК, Windows, IE - Описание XML-схем и веб-сервисов - Видео вебинара по ЭСЧФ, который проходил в июле - |
Обработки с данной темы |
|---|
| Обработка от BONIA Я (Bonia) - и пример кода и
Обработка по проверке файла по схемам. Автора я не смог найти (отзовись, в историю впишем). Переделана Slypower - Обработка по входящим от Slypower. До введения однократного скачивания в сутки - Обработка по входящим для 1с 7.7 и для 1с8. Рабочая от slypower - . С доработками от Евгений Веренич (EvgPinsk) - Делает XML из выбранного документа от Asd Zxc (ASDCXZ) - Отправка ЭСЧФ от slypower. Очень сырая и для ТиС. Требует переделки од себя индивидуальна. Годна для черпания идей - Печать ЭСЧФ от Сергей Кириллов (Sergey_Kirillov) - Проверка УНП с сайта налоговой - от Aleksey Krasowskiy (Krasowskiy) и от Сергей Кириллов (Sergey_Kirillov) Получерие входящей ЭСЧФ по номеру от Aleksey Krasowskiy (Krasowskiy) - Обновление СОС от slypower - Будьте внимательны. В старых сообщениях в обработках стоят неправильные адреса для подключения. В первую очередь проверьте их!!! |
Полезные сообщения темы |
|---|
| Реклама своей работы от Gladkov_Anton -
Реклама своей работы от Александр Самуйлов (A.E.) - Реклама своей работы от Yauhen Makei (mrDSide) - , Автоматический подключение к ключу- Декодирование файлов .sgn и .ticket - Отправки ЭСЧФ с помощью сервиса из терминальной сесии для простого пользователя не обладающего правами Администратора. Испробовано на Сервере 2003/32 - Программа, которая ключ на сервер пробрасывает - , , Инструкция по настройке серверных компов от Ира С (iraSys) - Дополнительная настройка для серверных операционных систем - Сервис для проверки валидности xml - Классификатор ТНВЭД в экселе - и Автоматический импорт СОС на локальную машину - , Полезная информациея тем, кто использует в работе терминальные сервера - Артур Коржан (1v7) собрал "полезные вкусняшки в куче" - Корректировка кодов справочника стран от Артур Коржан (1v7) - Образцы заполнения ЭСЧФ - На портале развернута база данных cassandra. Описание - , Возможные ситуации, которые могут возникнуть с работой порталом и их решение - SlimBrowser вместо IE для работы на Вин XP - Универсальная загрузка из CSV от vvv vvv (keyn5565`): . Код к ней (если кто не может скачать): |
Коды процедур для 1С |
|---|
| Процедура работы с входящими на 1С 8.3 -
Парсер csv с портала для 1С 8 - от Сергей Кириллов (Sergey_Kirillov) от Xer shi (Xershi) Скачка входящих и создание дока в 1С7.7 - Обновление статусов 1С7.7 - Читать хмл 1с7.7 от Хьюмена - Скачка входящих для 1с8 от vvv vvv (keyn5565`) - Проверка версии компоненты для 1С8 от Xer shi (Xershi) - Скачкивать входящие подписанные эсчф с портала - Создание задачи для автоматического обновления СОС, 1с8 от vvv vvv (keyn5565`) - Обновление СОС из 1С7.7 от Igor Pleskun (Igor Igorevich) - Обновление СОС из 1С8 от vvv vvv (keyn5565`) - Проверка справочника контрагентов для проверки ликвидирования контрагента для 1с8 от vvv vvv (keyn5565`) - , от Xer shi (Xershi) Проверки по правилам заполненения для 1С8 от Xer shi (Xershi) - , Проверка подписей эсчф на портале - от Xer shi (Xershi) , от Yauhen Makei (mrDSide) Заполнение справочника ОКЭД от vvv vvv (keyn5565`) - |
Вопрос-Ответ |
|---|
| Многие ошибки, да почти все, связаны с не стабильной работой портала, особенно во времена всеобщей выгрузки ЭСЧФ на портал. Но некоторые тут вынесем.
Какие сроки выставления ЭСЧФ? Ответ: Министерство по налогам и сборам информирует, что в соответствии с пунктом 5 статьи 1061 Налогового кодекса Республики Беларусь с 1 января 2017 года выставление (направление) электронного счета-фактуры осуществляется по общему сроку не позднее 10-го числа месяца, следующего за месяцем дня отгрузки товаров (выполнения работ, оказания услуг), передачи имущественных прав, если иное не установлено пунктом 5 статьи указанной статьи. В отношении товаров (работ, услуг), имущественных прав, отгруженных (выполненных, оказанных), переданных в декабре 2016 г., выставление электронного счета-фактуры также может производиться по сроку не позднее 10.01.2017. Какие штрафы и как можно получить при выставлении/не выставлении ЭСЧФ? Ответ: Подскажите, плиззз, на машинах Win2008R2 при входе на портал Включите SSL 3.0, TLS 1.0, TLS 1.1 и TLS 1.2 С Семерки все в норме, хотя делалось все по мануалам идентично одними и теми же ровными руками Ответ: Можно ли присваивать автора из 1С? Ответ: Сообщение об ошибке, которое выплевывает 1Ска при попытке законнектиться к порталу (команда "EVatService.Connect..."): "THE CLIENT AND SERVER CANNOT COMMUNICATE BECAUSE THEY DO NOT POSSESS THE COMMON ALGORITHM" или по-русски "КЛИЕНТ И СЕРВЕР НЕ МОГУТ ОБЩАТЬСЯ, ПОТОМУ ЧТО ОНИ НЕ ОБЛАДАЮТ ОБЩИМ АЛГОРИТМОМ." Ответ: Ошибка при проверке XML: Класс не зарегистрирован, ClassID: {88D96A07-F192-11D4-A65F-0040963251E5} Ошибка возникает только на сервере 2003 сп2 32битм Java 7 79 updt Ответ: Отличие Исправленной от дополненной. Ответ: Отправили ЭСЧФ на портал, но ее там нет. Ответ: Чтобы узнать почему, воспользуйтесь одним из способов: 1) загрузите файл xml этой ЭСЧФ на портала вручную 2) сделайте возврат статуса сразу после отправки на портал. Он вам и вернет ответ на вопрос, почему нет. Портал вернул статус "IN_PROGRESS" или "В разработке" или "ЭСЧФ с номером 11111111-2017-0000000001 находится в обработке. Запросите статус повторно.". Ответ: . Данный статус может быть на портале до 3-х часов, но чаще всего лишь минут 30, затем становиться "Выставлен".С 1 января 2017 г наблюдается задержка до суток. Можно ли анулировать из 1С? Ответ: Нельзя, только на портале. Можно выставить исправленный, который анулирует исходный, но просто анулировать нельзя. При подключении к тестовому порталу: Ошибка авторизации на портале электронных счетов-фактур НДС Сертификат издателя не найден. [Для проверки <vat.gov.by> не найден сертификат <Удостоверяющий центр для разработчиков> (KeyID=6E28B036743B6B021B4D353E1AC51C5A204271FA) Ответ: Что значит 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с - все работает и загружает. |
Дополняется со временем
По теме из базы знаний
- Электронная счет-фактура (НДС). Беларусь
- Просмотр и печать ЭСЧФ по НДС (Беларусь), Расширения "Журнал электронных счетов-фактур по НДС"
- Обновление статусов исходящих и входящих электронных счетов-фактур с портала (ЭСЧФ, Беларусь)
- Получение данных контрагентов по УНП (ИНН) из Государственного реестра плательщиков Республики Беларусь
- ЭСЧФ. Беларусь. Практика работы с входящими электронными счетами-фактурами
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) раз уж есть код проверки протокола (хотя это совсем не верно, т.к. зависит от конфигурации), то пусть будет и это:
// Входит ли в перечень товаров согласно Указа Президента Республики Беларусь от 21 июня 2007 г. №287 "О налогообложении продовольственных товаров и товаров для детей"
//
// Параметры:
// Код - Строка - код ТН ВЭД ЕАЭС в формате '9999999999'
//
// Возвращаемое значение:
// Булево - результат проверки
//
Функция ВходитВПеречень287(Код) Экспорт
Первый = Лев(Код, 4);
Второй = Лев(Код, 6);
Третий = Лев(Код, 9);
Возврат Код = "0101210000"
Или Второй = "010221"
Или Код = "0103100000"
Или Код = "0104101000"
Или Код = "0104201000"
Или Первый = "0105"
Или Код = "0106141090"
Или Первый = "0201"
Или Первый = "0202"
Или Первый = "0203"
Или Первый = "0204"
И Не Второй = "020450"
Или Второй = "020500"
Или Первый = "0206"
И Не ( Код = "0206101000"
Или Код = "0206220001"
Или Код = "0206291000"
Или Код = "0206300001"
Или Код = "0206300003"
Или Код = "0206410001"
Или Код = "0206490001"
Или Второй = "020680"
Или Второй = "020690"
) Или Первый = "0207"
И Не ( Третий = "020743000"
Или Третий = "020745930"
Или Третий = "020753000"
Или Третий = "020755930"
) Или Второй = "020810"
Или Код = "0209101100"
Или Код = "0209101900"
Или Второй = "160100"
Или Второй = "160232"
Или Второй = "160239"
Или Второй = "160241"
Или Второй = "160242"
Или Второй = "160249"
Или Второй = "160250"
Или Первый = "0401"
Или Первый = "0402"
Или Первый = "0403"
Или Первый = "0404"
Или Второй = "040510"
Или Второй = "040520"
Или Второй = "040610"
Или Второй = "040630"
И Не Код = "0406301000"
Или Код = "0406906900"
Или Код = "0406908600"
Или Третий = "040690990"
Или Третий = "151211910"
Или Код = "1512199002"
Или Код = "1512199009"
Или Третий = "151411900"
Или Третий = "151419900"
Или Третий = "151491900"
Или Третий = "151499900"
Или Первый = "1517"
Или Код = "2106909804"
Или Первый = "2302"
Или Первый = "2303"
Или Второй = "230990"
Или Первый = "1201"
Или Второй = "120400"
Или Первый = "1205"
Или Второй = "120600"
Или Код = "2304000001"
Или Код = "2304000009"
Или Первый = "2306"
И Не ( Код = "2306500000"
Или Код = "2306600000"
) Или Первый = "1905"
И Не Код = "1905905500"
Или Код = "2102103100"
Или Код = "2102103900"
Или Код = "1704906100"
Или Код = "1704906500"
Или Код = "1704907100"
Или Код = "1704907500"
Или Второй = "100630"
Или Код = "1006400000"
Или Второй = "110100"
Или Первый = "1102"
Или Первый = "1103"
Или Первый = "1104"
Или Первый = "1105"
Или Код = "1106100000"
Или Код = "1107101100"
Или Код = "1107109100"
Или Первый = "1208"
Или Первый = "1902"
Или Код = "1602100010"
Или Код = "1702500000"
Или Код = "1901100000"
Или Код = "2104200010"
Или Первый = "2202"
И Не Код = "2202901001"
Или Второй = "290544"
Или Второй = "382460"
Или Первый = "0701"
Или Третий = "070200000"
Или Код = "0703101900"
Или Код = "1212210000"
Или Первый = "2001"
Или Первый = "2002"
Или Первый = "2003"
Или Первый = "2004"
Или Первый = "2005"
Или Первый = "2006"
Или Первый = "2006"
Или Первый = "2008"
Или Первый = "2009"
И Не Код = "2005202000"
Или Первый = "1701"
Или Код = "0409000000"
Или Код = "0407210000"
Или Код = "0407291000"
Или Код = "0407901000"
Или Код = "0408118000"
Или Код = "0408198100"
Или Код = "0408198900"
Или Код = "0408918000"
Или Код = "0408998000"
Или Первый = "0302"
Или Первый = "0303"
Или Первый = "0304"
Или Первый = "0305"
Или Первый = "1604"
И Не ( Код = "1604110000"
Или Код = "1604141600"
Или Код = "1604160000"
Или Код = "1604191000"
Или Код = "1604193100"
Или Код = "1604199710"
Или Код = "1604201000"
Или Код = "1604203000"
Или Код = "1604204000"
Или Код = "1604209010"
Или Код = "1604310000"
Или Код = "16043200"
) Или Код = "3407000000"
Или Код = "3922100000"
Или Код = "3926100000"
Или Первый = "4202"
Или Код = "4421909800"
Или Код = "9619002100"
Или Код = "9619003100"
Или Код = "9619003900"
Или Код = "9619005101"
Или Код = "9619005901"
Или Код = "9619009001"
Или Код = "4820105000"
Или Код = "4820200000"
Или Код = "4820300000"
Или Код = "4820900000"
Или Код = "6101209000"
Или Код = "6101309000"
Или Код = "6101908000"
Или Код = "6102109000"
Или Код = "6102209000"
Или Код = "6102309000"
Или Код = "6102909000"
Или Первый = "6103"
Или Первый = "6104"
Или Первый = "6105"
Или Первый = "6106"
Или Первый = "6107"
Или Первый = "6108"
Или Первый = "6109"
Или Первый = "6110"
Или Первый = "6111"
Или Первый = "6112"
Или Первый = "6115"
Или Первый = "6116"
Или Первый = "6201"
Или Первый = "6202"
Или Первый = "6203"
Или Первый = "6204"
Или Первый = "6205"
Или Первый = "6206"
Или Первый = "6207"
Или Первый = "6208"
Или Первый = "6209"
Или Первый = "6211"
Или Код = "6216000000"
Или Первый = "6401"
Или Первый = "6402"
И Не ( Второй = "640212"
Или Код = "6402190000"
) Или Первый = "6403"
И Не Код = "6403190000"
Или Первый = "6404"
И Не Код = "6404110000"
Или Первый = "6405"
Или Код = "6504000000"
Или Первый = "6506"
Или Второй = "871500"
Или Первый = "8716"
Или Код = "9403202009"
Или Третий = "940350000"
Или Код = "9403700009"
Или Второй = "940421"
Или Второй = "940429"
Или Второй = "950300"
Или Второй = "950490"
КонецФункции // ВходитВПеречень287()
Показать
(1) ну и можно добавить тогда проверку перед подтверждением:
//////////////////////////////////////////////////////////// ////////////////////
//
// Функция ЭСЧФСоответствуетПротоколуВх
//
// Описание:
// проверяет возможность подписания входящего документа согласно протокола обмена (правил)
//
// Параметры (название, тип, дифференцированное значение)
// Документ - ДокументСсылка.ЭлектронныйСчетФактураПолученный - номер входящего документа
// Отказ - Булево - значение, противоположное возвращаемому
// Ошибки - Массив, Строка - ошибки проверки
//
// Возвращаемое значение:
// Булево - результат проверки
//
Функция ЭСЧФСоответствуетПротоколуВх( Документ, Отказ = Ложь, Ошибки = Неопределено ) Экспорт
Если Документ.ТипЭСЧФ = ПредопределенноеЗначение("Перечисление.ТипыЭСЧФ.Исправленный") Тогда
// Правило-56
КвитанцияДокумента = РегистрыСведений.КвитанцииВходящих.СоздатьМенеджерЗаписи();
КвитанцияДокумента.Год = Документ.НомерГод;
КвитанцияДокумента.Объект = Документ.НомерОбъект;
КвитанцияДокумента.Номер = Документ.НомерНомер;
КвитанцияДокумента.Прочитать();
Если Не КвитанцияДокумента.Выбран() И Ошибки <> Неопределено Тогда
ОтразитьОшибку(Ошибки, "Статус не найден", "КЭСЧФ");
ИначеЕсли КвитанцияДокумента.Статус = ПредопределенноеЗначение("Перечисление.СтатусыЭСЧФ.НаСогласовании") Тогда
// найти неаннулированные с номером в поле 11 или 12 из 5-го поля данного документа
ЗапросПоНомеруПродавцаИлиКомитента = Новый Запрос;
ЗапросПоНомеруПродавцаИлиКомитента.УстановитьПараметр("Номер", Документ.КЭСЧФ);
МассивСтатусов = Новый Массив;
МассивСтатусов.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыЭСЧФ.Аннулирован"));
МассивСтатусов.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыЭСЧФ.ВыставленАннулированПоставшиком"));
ЗапросПоНомеруПродавцаИлиКомитента.УстановитьПараметр("МассивСтатусов", МассивСтатусов);
ЗапросПоНомеруПродавцаИлиКомитента.Текст = "ВЫБРАТЬ
| ЭлектронныйСчетФактураПолученный.Номер,
| КвитанцииВходящих.Статус,
| КвитанцииВходящих.ДатаСостояния
|ИЗ
| Документ.ЭлектронныйСчетФактураПолученный КАК ЭлектронныйСчетФактураПолученный
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КвитанцииВходящих КАК КвитанцииВходящих
| ПО ЭлектронныйСчетФактураПолученный.НомерГод = КвитанцииВходящих.Год
| И ЭлектронныйСчетФактураПолученный.НомерОбъект = КвитанцииВходящих.Объект
| И ЭлектронныйСчетФактураПолученный.НомерНомер = КвитанцииВходящих.Номер
|ГДЕ
| (ЭлектронныйСчетФактураПолученный.ПоставщикНомерСчетаКомитента = &Номер
| ИЛИ ЭлектронныйСчетФактураПолученный.ПоставщикНомерСчетаПродавца = &Номер)
| И НЕ КвитанцииВходящих.Статус В (&МассивСтатусов)";
РезультатЗапросаПоНомеруПродавцаИлиКомитента = ЗапросПоНомеруПродавцаИлиКомитента.Выполнить();
Если Не РезультатЗапросаПоНомеруПродавцаИлиКомитента.Пустой() Тогда
Отказ = Истина;
Если Ошибки <> Неопределено Тогда
ВыборкаРезультатаЗапросаПоНомеруПродавцаИлиКомитента = РезультатЗапросаПоНомеруПродавцаИлиКомитента.Выбрать();
ОтразитьОшибку(Ошибки, "Получатель может подписать исправленный со статусом ""На согласовании"" только тогда,
| когда в БД нет неаннулированных ЭСЧФ, в которых в 11 или 12 поле указан номер из 5
| поля данного исправленного ЭСЧФ со статусом ""На согласовании"".", "КЭСЧФ");
Пока ВыборкаРезультатаЗапросаПоНомеруПродавцаИлиКомитента.Следующий() Цикл
ОтразитьОшибку(Ошибки, "Ссылается на документ № " + ВыборкаРезультатаЗапросаПоНомеруПродавцаИлиКомитента.Номер + " со статусом " + ВыборкаРезультатаЗапросаПоНомеруПродавцаИлиКомитента.Статус
+ " от " + ВыборкаРезультатаЗапросаПоНомеруПродавцаИлиКомитента.ДатаСостояния, "КЭСЧФ");
КонецЦикла;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// Правило-57
ЗапросИсправленныйНаСогласовании = Новый Запрос;
ЗапросИсправленныйНаСогласовании.УстановитьПараметр("КЭСЧФ", Документ.Номер);
ЗапросИсправленныйНаСогласовании.УстановитьПараметр("НаСогласовании", ПредопределенноеЗначение("Перечисление.СтатусыЭСЧФ.НаСогласовании"));
ЗапросИсправленныйНаСогласовании.Текст = "ВЫБРАТЬ
| ЭлектронныйСчетФактураПолученный.Ссылка КАК СсылкаНаИсправленныйНаСогласовании
|ИЗ
| Документ.ЭлектронныйСчетФактураПолученный КАК ЭлектронныйСчетФактураПолученный
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КвитанцииВходящих КАК КвитанцииВходящих
| ПО ЭлектронныйСчетФактураПолученный.НомерГод = КвитанцииВходящих.Год
| И ЭлектронныйСчетФактураПолученный.НомерОбъект = КвитанцииВходящих.Объект
| И ЭлектронныйСчетФактураПолученный.НомерНомер = КвитанцииВходящих.Номер
|ГДЕ
| ЭлектронныйСчетФактураПолученный.КЭСЧФ = &КЭСЧФ
| И КвитанцииВходящих.Статус = &НаСогласовании";
РезультатЗапросаИсправленногоНаСогласовании = ЗапросИсправленныйНаСогласовании.Выполнить();
Если Не РезультатЗапросаИсправленногоНаСогласовании.Пустой() Тогда
Отказ = Истина;
Если Ошибки <> Неопределено Тогда
ВыборкаИсправленногоНаСогласовании = РезультатЗапросаИсправленногоНаСогласовании.Выбрать();
ВыборкаИсправленногоНаСогласовании.Следующий();
ОтразитьОшибку(Ошибки, "Получатель не может дать согласие на аннулирование ЭСЧФ, если к данному ЭСЧФ есть исправленный ""на согласовании""
| (" + СокрЛП(ВыборкаИсправленногоНаСогласовании.СсылкаНаИсправленныйНаСогласовании) + "). При подписании получателем исправленного
| ЭСЧФ, исходный ЭСЧФ должен быть аннулирован автоматически", "КЭСЧФ");
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецФункции //ЭСЧФСоответствуетПротоколуВх
Показать
На Портале в очередной раз поменяли формат файла камерального контроля, а именно в файлах csv поменяли разделитель с ";" на Символ(1) (актуально для 1С)
Информации об этом в новостях на портале как обычно не было.
Информации об этом в новостях на портале как обычно не было.
Возник еще вопрос. Это из данной обработки.
Как представить дату в формате: 2016-04-19
Если расписывать:
Ответ: 2016-4-16, а нужно: 2016-04-16
Как представить дату в формате: 2016-04-19
Если расписывать:
ДатаГод(Док.ДатаДок)+"-"+ДатаМесяц(Док.ДатаДок)+"-"+ДатаЧисло(Док.ДатаДок)Ответ: 2016-4-16, а нужно: 2016-04-16
Очень хорошая по парсингу CSV файла. Не важно как расположены колонки и как названы они. Вот код:
Результат:
и
Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",",
Знач ПропускатьПустыеСтроки = Неопределено)
Результат = Новый Массив;
// для обеспечения обратной совместимости
Если ПропускатьПустыеСтроки = Неопределено Тогда
ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь);
Если ПустаяСтрока(Строка) Тогда
Если Разделитель = " " Тогда
Результат.Добавить("");
КонецЕсли;
Возврат Результат;
КонецЕсли;
КонецЕсли;
//
Позиция = Найти(Строка, Разделитель);
Пока Позиция > 0 Цикл
Подстрока = Лев(Строка, Позиция - 1);
Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда
Результат.Добавить(Подстрока);
КонецЕсли;
Строка = Сред(Строка, Позиция + СтрДлина(Разделитель));
Позиция = Найти(Строка, Разделитель);
КонецЦикла;
Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда
Результат.Добавить(Строка);
КонецЕсли;
Возврат Результат;
КонецФункции
Процедура СравнитьСБазойНажатие(Элемент)
перем Разделитель;
Таблица = Новый ТаблицаЗначений;
//очищаем таблицу и удаляем информацию
Таблица.Очистить();
Таблица.Колонки.Очистить();
ЭлементыФормы.Таблица.Колонки.Очистить();
// чтение
ЗагружаемыйФайл = Новый ТекстовыйДокумент;
ЗагружаемыйФайл.Прочитать(ВыбФайл);
//шапка по умолчанию третья строчка
Шапка = ЗагружаемыйФайл.ПолучитьСтроку(3);
//раскладываем строку в массив
Разделитель=";";
МассивКол = РазложитьСтрокуВМассивПодстрок(Шапка,Разделитель); // процедура из типовой конфигурации, разбивает строку в массив по разделителям
//генерируем столбцы
Для Каждого ИмяСтолбца Из МассивКол Цикл
ИмяБезПробелов = СтрЗаменить(ИмяСтолбца," ",""); // убираем из имени пробелы
Если Найти(ИмяБезПробелов,"""")<>0 Тогда
ИмяБезПробелов=СтрЗаменить(ИмяБезПробелов,"""","");
КонецЕсли;
Если Найти(ИмяБезПробелов,"№")<>0 Тогда
ИмяБезПробелов=СтрЗаменить(ИмяБезПробелов,"№","Номер");
КонецЕсли;
Если Найти(ИмяБезПробелов,"(")<>0 Тогда
ИмяБезПробелов=СтрЗаменить(ИмяБезПробелов,"(","");
КонецЕсли;
Если Найти(ИмяБезПробелов,")")<>0 Тогда
ИмяБезПробелов=СтрЗаменить(ИмяБезПробелов,")","");
КонецЕсли;
Если Найти(ИмяБезПробелов,"–")<>0 Тогда
ИмяБезПробелов=СтрЗаменить(ИмяБезПробелов,"–","");
КонецЕсли;
Таблица.Колонки.Добавить(ИмяБезПробелов,,ИмяСтолбца);
НовыйСтолбец = ЭлементыФормы.Таблица.Колонки.Добавить(ИмяБезПробелов, ИмяСтолбца);
НовыйСтолбец.Данные = ИмяБезПробелов;
КонецЦикла;
Для НомерСтроки=4 по ЗагружаемыйФайл.КоличествоСтрок() Цикл
Состояние("Обрабатывается "+Строка(Формат(?(ЗагружаемыйФайл.КоличествоСтрок()=0,0,((100*НомерСтроки)/ ЗагружаемыйФайл.КоличествоСтрок())),"ЧЦ=3; ЧДЦ=0"))+" %");
ОбработкаПрерыванияПользователя(); //указав данный оператор, цикл можно прервать в любой момент нажатие ctrl+break
// получить стрoку с указанным номером и преобразуем её в массив
Строка = ЗагружаемыйФайл.ПолучитьСтроку(НомерСтроки);
МассивКол = РазложитьСтрокуВМассивПодстрок(Строка,Разделитель);// процедура из типовой конфигурации, разбивает строку в массив по разделителям
НоваяСтрочка= Таблица.Добавить();
Если МассивКол.Количество() <> Таблица.Колонки.Количество() Тогда
Продолжить; // скорее всего в тексте содержит разделитель
КонецЕсли;
Для НомерСтолбца= 1 по МассивКол.Количество() Цикл
//заполняем строчку значениями
ТекущееЗначение = МассивКол[НомерСтолбца-1];
ИмяКолонки = Таблица.Колонки[НомерСтолбца-1].Имя;
НоваяСтрочка[ИмяКолонки] = ТекущееЗначение;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
ПоказатьРезультат:
и
(5) слабо лопатили )
ДатаСтрокой = Формат(Дата, "ДФ=yyyy-MM-dd").
в конфигураторе если в модуле любом вызвать контекстное меню, то рядом с конструктором запросов будет и конструктор форматной строки - там побаловаться можно, сразу видя результат
ДатаСтрокой = Формат(Дата, "ДФ=yyyy-MM-dd").
в конфигураторе если в модуле любом вызвать контекстное меню, то рядом с конструктором запросов будет и конструктор форматной строки - там побаловаться можно, сразу видя результат
Ну или
ДатаГод(Док.ДатаДок)+"-"+ Прав("00" + ДатаМесяц(Док.ДатаДок),2)+"-"+ Прав("00"+ДатаЧисло(Док.ДатаДок),2)
ДатаГод(Док.ДатаДок)+"-"+ Прав("00" + ДатаМесяц(Док.ДатаДок),2)+"-"+ Прав("00"+ДатаЧисло(Док.ДатаДок),2)
код для тех кто хочет хранить XML файлы в БД
в принципе подходит для любых файлов малого размера
Толком ни разу так и не воспользовался но может кому то пригодиться
(1с8)
в принципе подходит для любых файлов малого размера
//Преобразует двоичные данные в Base64 и возвращает строку в base64
Функция ПолучитьТекстBase64(Объект,ТипОперации,Строка64)
Если ТипОперации = "Преобразование" Тогда
Двоичное = Новый ДвоичныеДанные(Объект);//Ссылка на объект
Строка64 = Base64Строка(Двоичное);//Строка для сохранения
//Массив64 = Преобразовать64(Строка64 , );//Для того, чтобы получить массив байтов из строки, вызываем ее так:
Возврат Строка64
ИначеЕсли ТипОперации = "Востановление" Тогда
//Востановление
Массив64 = Преобразовать64(Строка64 , );//Для того, чтобы получить массив байтов из строки, вызываем ее так:
Строка64 = Преобразовать64( , Массив64 );//Для обратного преобразования вызываем так:
вДвоичное = Base64Значение(Строка64);//Преобразовать строку в двоичные
ИмяФайла = ПолучитьИмяВременногоФайла("xml"); //Сохранение в файл
вДвоичное.Записать(ИмяФайла);
//УдалитьФайлы(ИмяФайла);
Возврат ИмяФайла
КонецЕсли;
КонецФункции
Функция Преобразовать64(Строка64 = неопределено, Массив64 = неопределено)Экспорт
Таб64 = Новый ТаблицаЗначений;
Таб64.Колонки.Добавить("Код");
Таб64.Колонки.Добавить("Символ");
Нпп = 0;
Для Код = КодСимвола("A") По КодСимвола("Z") Цикл
стр = Таб64.Добавить();
стр.Код = Нпп;
стр.Символ = Символ(Код);
Нпп = Нпп + 1;
КонецЦикла;
Для Код = КодСимвола("a") По КодСимвола("z") Цикл
стр = Таб64.Добавить();
стр.Код = Нпп;
стр.Символ = Символ(Код);
Нпп = Нпп + 1;
КонецЦикла;
стр = Таб64.Добавить();
стр.Код = Нпп;
стр.Символ = "0";
Нпп = Нпп + 1;
Для Код = 1 По 9 Цикл
стр = Таб64.Добавить();
стр.Код = Нпп;
стр.Символ = Формат(Код,"ЧЦ=1; ЧДЦ=0");
Нпп = Нпп + 1;
КонецЦикла;
стр = Таб64.Добавить();
стр.Код = Нпп;
стр.Символ = "+";
Нпп = Нпп + 1;
стр = Таб64.Добавить();
стр.Код = Нпп;
стр.Символ = "/";
Если Массив64 = неопределено Тогда
Если Строка64 = неопределено Тогда
Сообщить("неверный вызов функции");
Возврат неопределено;
КонецЕсли;
//Уберем переносы строк
Строка64 = СтрЗаменить(Строка64, Символ(10), "");
Строка64 = СтрЗаменить(Строка64, Символ(13), "");
//преобразовываем строку в массив
Если СтрДлина(Строка64) % 4 <> 0 Тогда
Сообщить("длина строки на входе должна быть кратна 4");
Сообщить(СтрДлина(Строка64));
Возврат неопределено;
КонецЕсли;
Кол4 = Цел(СтрДлина(Строка64) / 4);
РазмерМ = Кол4 * 3;
Если Прав(Строка64, 2) = "==" Тогда
РазмерМ = РазмерМ - 2;
ИначеЕсли Прав(Строка64, 1) = "=" Тогда
РазмерМ = РазмерМ - 1;
КонецЕсли;
Массив64 = Новый Массив(РазмерМ);
Для А = 1 По Кол4 Цикл
Число3 = 0;
Для Б = 1 По 4 Цикл
Буква1 = Сред(Строка64, (А-1)*4 + Б, 1);
Если Буква1 = "=" Тогда
Код4 = 0;
Иначе
стрН = Таб64.Найти(Буква1, "Символ");
Если стрН = Неопределено Тогда
Сообщить("ошибка при поиске "+ КодСимвола(Буква1));
Иначе
Код4 = стрН.Код;
КонецЕсли;
КонецЕсли;
Число3 = Число3 * 64 + Код4;
КонецЦикла;
Ост = Число3 % 256;
Индекс = (А-1)*3 + 2;
Если Индекс <= РазмерМ - 1 Тогда
Массив64[Индекс] = Ост;
КонецЕсли;
Число3 = (Число3 - Ост) / 256;
Ост = Число3 % 256;
Индекс = (А-1)*3 + 1;
Если Индекс <= РазмерМ - 1 Тогда
Массив64[Индекс] = Ост;
КонецЕсли;
Число3 = (Число3 - Ост) / 256;
Ост = Число3 % 256;
Массив64[(А-1)*3 + 0] = Ост;
КонецЦикла;
Возврат Массив64;
Иначе //Преобразовываем массив в строку
Строка64 = "";
Кол3 = Цел(Массив64.Количество() / 3);
Если Массив64.Количество() % 3 <> 0 Тогда
Кол3 = Кол3 + 1;
КонецЕсли;
Для А = 1 По Кол3 Цикл
Число3 = Массив64[(А-1)*3];
Если (А-1)*3+1 <= Массив64.ВГраница() Тогда
Код3 = Массив64[(А-1)*3+1];
Иначе
Код3 = 0;
КонецЕсли;
Число3 = Число3*256 + Код3;
Если (А-1)*3+2 <= Массив64.ВГраница() Тогда
Код3 = Массив64[(А-1)*3+2];
Иначе
Код3 = 0;
КонецЕсли;
Число3 = Число3*256 + Код3;
Ост4 = Число3 % 64;
Число3 = (Число3 - Ост4) / 64;
Ост3 = Число3 % 64;
Число3 = (Число3 - Ост3) / 64;
Ост2 = Число3 % 64;
Число3 = (Число3 - Ост2) / 64;
Ост1 = Число3 % 64;
Число3 = (Число3 - Ост1) / 64;
стрН = Таб64.Найти(Ост1, "Код");
Если стрН = неопределено Тогда
Сообщить("Ошибка при поиске");
Иначе
Строка64 = Строка64 + стрН.Символ;
КонецЕсли;
стрН = Таб64.Найти(Ост2, "Код");
Если стрН = неопределено Тогда
Сообщить("Ошибка при поиске");
Иначе
Строка64 = Строка64 + стрН.Символ;
КонецЕсли;
стрН = Таб64.Найти(Ост3, "Код");
Если стрН = неопределено Тогда
Сообщить("Ошибка при поиске");
Иначе
Строка64 = Строка64 + стрН.Символ;
КонецЕсли;
стрН = Таб64.Найти(Ост4, "Код");
Если стрН = неопределено Тогда
Сообщить("Ошибка при поиске");
Иначе
Строка64 = Строка64 + стрН.Символ;
КонецЕсли;
КонецЦикла;
//Если количество символов не делится на 3, то на конце должны быть
//знаки "="
Если Массив64.Количество() % 3 = 1 Тогда
Строка64 = Лев(Строка64, СтрДлина(Строка64)-2)+ "==";
ИначеЕсли Массив64.Количество() % 3 = 2 Тогда
Строка64 = Лев(Строка64, СтрДлина(Строка64)-1)+ "=";
КонецЕсли;
Возврат Строка64;
КонецЕсли;
КонецФункции
ПоказатьТолком ни разу так и не воспользовался но может кому то пригодиться
(1с8)
ДатаГод(Док.ДатаДок)+"-"+Формат(ДатаМесяц(Док.ДатаДок),"Ч(0)2.0")+"-"+Формат(ДатаЧисло(Док.ДатаДок),"Ч(0)2.0")
Еще одна дилемма - вырезать номер договора из названия.
Имеется: "договор №12345 от 01.01.2015"
Как вывести номер договора: "12345", при условии, что он может быть разным по длине?
Как мог бы найти выход:
1. Можно вывести значение: "договор №12345", обрезав право. Это Легко.
2. Потом вывести "12345", обрезов лево. Это как сделать?
Постоянные значения: "договор от" - 10 символов. "от 01.01.2015" - 13 символов.
Имеется: "договор №12345 от 01.01.2015"
Как вывести номер договора: "12345", при условии, что он может быть разным по длине?
Как мог бы найти выход:
1. Можно вывести значение: "договор №12345", обрезав право. Это Легко.
2. Потом вывести "12345", обрезов лево. Это как сделать?
Постоянные значения: "договор от" - 10 символов. "от 01.01.2015" - 13 символов.
(13) Slypower,
Я бы сделал так:
1. Нашел в строке позицию слова "договор" и взял правую часть строки от этой позиции +7 (длина слова "договор"). Получилось бы " №12345 от 01.01.2015"
2. В получившейся подстроке нашел бы слово "от" и взял левую часть строки до этой позиции, получил бы " №12345 "
3. Заменил бы символ "№" на пробел и применил СокрЛП().
Но, опять-таки, предвижу вариант, когда "креативный" пользователь вколотит "дог.12345 от 01.01.15" и вся эта затея провалится.
Постоянные значения: "договор от" - 10 символов. "от 01.01.2015" - 13 символов.
"Народное творчество" и просто опечатки пользователей будут регулярно делать эти "постоянные" значения непостоянными.
Я бы сделал так:
1. Нашел в строке позицию слова "договор" и взял правую часть строки от этой позиции +7 (длина слова "договор"). Получилось бы " №12345 от 01.01.2015"
2. В получившейся подстроке нашел бы слово "от" и взял левую часть строки до этой позиции, получил бы " №12345 "
3. Заменил бы символ "№" на пробел и применил СокрЛП().
Но, опять-таки, предвижу вариант, когда "креативный" пользователь вколотит "дог.12345 от 01.01.15" и вся эта затея провалится.
(14)2. Мы не можем взять правильно левую часть до слова "от", т.к. сам номер "№12345" может быть "№12345/12/12". Тут слева мы не можем брать, нужно отнимать правую сторону. Только вот вычитание для строковых величин невозможно.
(15)да, только в названии. Сделать новый реквизит и сидеть целый день и вносить этот реквизит вручную для десяток тысяч контрагентов? Не вариант(
(15)да, только в названии. Сделать новый реквизит и сидеть целый день и вносить этот реквизит вручную для десяток тысяч контрагентов? Не вариант(
(16) Slypower,
Это значит, что вы просто не умеете:
Мы не можем взять правильно левую часть до слова "от", т.к. сам номер "№12345" может быть "№12345/12/12".
Если вы не можете, то это не значит, что все не могут.
Это значит, что вы просто не умеете:
СтрНомерДата=Прав(ИсхСтрока,Найти(ИсхСтрока,"договор")+7);
СтрНомер=Лев(СтрНомерДата, Найти(СтрНомерДата,"от")-1);
(17)Сделал так:
Вывод хороший. И сразу виден вывод из (14) "Но, опять-таки, предвижу вариант, когда "креативный" пользователь вколотит "дог.12345 от 01.01.15" и вся эта затея провалится.")))))
(18) Согласен. Я думал, создать обработку и аналогично данным строкам заполнить реквизиты. Может так и сделаем. Только лишние телодвижения потом при создании нового договора, чтобы наименование формировалось "договор №12345 от 01.01.2015", но это уже совсем другая история))
НомерДоговора = Сред(док.Договор.Наименование,10);
НомерДоговораКонечное = СокрЛП(Лев(НомерДоговора, Найти(НомерДоговора,"от")-1));Вывод хороший. И сразу виден вывод из (14) "Но, опять-таки, предвижу вариант, когда "креативный" пользователь вколотит "дог.12345 от 01.01.15" и вся эта затея провалится.")))))
(18) Согласен. Я думал, создать обработку и аналогично данным строкам заполнить реквизиты. Может так и сделаем. Только лишние телодвижения потом при создании нового договора, чтобы наименование формировалось "договор №12345 от 01.01.2015", но это уже совсем другая история))
Вот пришло письмо, обещанное 2 мая.
Добрый день.
Ссылка на просмотр записи вебинара:
Работа с порталом АИС УСФ доступна по ссылке
Вся информация по работе с электронными счетами фактурами находится на портале МНС
XSD-схемы и описания XML-файлов, а так же инструкции и файлы для работы с веб-сервисом в архиве:
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
Добрый день.
Ссылка на просмотр записи вебинара:
Работа с порталом АИС УСФ доступна по ссылке
Вся информация по работе с электронными счетами фактурами находится на портале МНС
XSD-схемы и описания XML-файлов, а так же инструкции и файлы для работы с веб-сервисом в архиве:
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
Вот пришло ещё письмо от техподдержки.
Добрый день
В рамках демонстрации использования интеграционного решения с функциями подписания и отправки электронных счетов-фактур на веб-сервис АИС УСФ, был показан пример вызова из системы 1С. Прилагаем данный пример. Надеемся он будет вам полезен для доработки ваших учетных систем.
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
Ссылка на доковский файл
Добрый день
В рамках демонстрации использования интеграционного решения с функциями подписания и отправки электронных счетов-фактур на веб-сервис АИС УСФ, был показан пример вызова из системы 1С. Прилагаем данный пример. Надеемся он будет вам полезен для доработки ваших учетных систем.
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
Ссылка на доковский файл
Новое письмо от новакома
Добрый день.
Информируем Вас о том, что обновилась новая версия ПО для массовой подписи ЭСЧФ.
Данное ПО доступно по ссылке:
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
Добрый день.
Информируем Вас о том, что обновилась новая версия ПО для массовой подписи ЭСЧФ.
Данное ПО доступно по ссылке:
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
(328) shiko,
Интересная работа портала. 1С выдает, что все проверки прошла счет-фактура, файл выгрузился на портал, все прошло. На портале его нет. Этот же файл пробую загружать на портал с портала кнЗагрузить, то ошибка в структуре. Что за ерунда -то((
Интересная работа портала. 1С выдает, что все проверки прошла счет-фактура, файл выгрузился на портал, все прошло. На портале его нет. Этот же файл пробую загружать на портал с портала кнЗагрузить, то ошибка в структуре. Что за ерунда -то((
(330) Slypower, какая ошибка у меня была ругалась на секцию dateIssuance, не нравилась она порталу, закоментил и все прекрасно улеглось. На сколько я понял она в файле не нужна, добавляется автоматом когда фаил передается на портал. если потом СФ выгрузить с портала в xml, она в файле присудствует с датой выгрузки СФ.
В тех поддержку написал письмо по поводу выгрузки и что сервис выдает что фаил принят но когда захожу в личный кабинет файла нет.
Получил ответ
"Добрый день.
Промоделировали Вашу ситуацию, действительно есть такая проблема. Поставили задачу на ее исправление.
При следующем обновление должно работать корректно.
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347."
Получил ответ
"Добрый день.
Промоделировали Вашу ситуацию, действительно есть такая проблема. Поставили задачу на ее исправление.
При следующем обновление должно работать корректно.
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347."
From: Я
Sent: Friday, June 10, 2016 3:34 PM
To: Техническая поддержка ЭСЧФ <support_EINVOICE@novacom.by>
Subject: Вопросы по порталу
Добрый день. Есть пару вопросов-предложений
1) Хотелось бы на портале иметь возможность удалять поступившие нам ЭСЧФ. Могут выставить неправильных, и они будут мешать. Со временем их будет сотни, и это неудобно, будет каша и потеряются некоторые неподписанные.
2) Хотелось бы проверять статус не по одной счет-фактуре, а из периода дат. Мы будем выгружать раз в неделю/месяц много фактур, и как нам проверить статус, подписана или аннулирована? Оповещений же нет никаких.
3) Хотелось бы проверять входящие по периоду дат. Организации могут выставлять не до 5 числа месяца, а и позже. Так вот тоже можно будет путаться. Если будет проверка методом GetList(датаначала, датаконец), было очень хорошо.
4) Спасибо за понимание.
Sent: Friday, June 10, 2016 3:34 PM
To: Техническая поддержка ЭСЧФ <support_EINVOICE@novacom.by>
Subject: Вопросы по порталу
Добрый день. Есть пару вопросов-предложений
1) Хотелось бы на портале иметь возможность удалять поступившие нам ЭСЧФ. Могут выставить неправильных, и они будут мешать. Со временем их будет сотни, и это неудобно, будет каша и потеряются некоторые неподписанные.
2) Хотелось бы проверять статус не по одной счет-фактуре, а из периода дат. Мы будем выгружать раз в неделю/месяц много фактур, и как нам проверить статус, подписана или аннулирована? Оповещений же нет никаких.
3) Хотелось бы проверять входящие по периоду дат. Организации могут выставлять не до 5 числа месяца, а и позже. Так вот тоже можно будет путаться. Если будет проверка методом GetList(датаначала, датаконец), было очень хорошо.
4) Спасибо за понимание.
ответ:
Добрый день.
Ваши пожелания будут рассмотрены в совокупности с другими, которые поступают от участников опытной эксплуатации. Решения об изменениях будут приниматься с учетом замечаний и предложений, поступивших как в наш адрес, так и в МНС.
За ранее благодарим Вас за любые предложения в отношении нашего ПО.
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
Ваши пожелания будут рассмотрены в совокупности с другими, которые поступают от участников опытной эксплуатации. Решения об изменениях будут приниматься с учетом замечаний и предложений, поступивших как в наш адрес, так и в МНС.
За ранее благодарим Вас за любые предложения в отношении нашего ПО.
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС «Учет счетов-фактур»:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
Пересылаю очередной ФЕЕРИЧЕСКИЙ БРЕД выданный службой ТП ЭСЧФ
ПЕЧАЛЬНО даже округлить не могут. ОХРЕНЕТЬ уровень программирования в РБ!!!
------- Пересылаемое сообщение -------
От: "Техническая поддержка ЭСЧФ" <support_EINVOICE@novacom.by>
Кому: "selus@mail.ru" <selus@mail.ru>
Копия:
Тема: RE: Еще одна Странная ошибка передачи Похоже сегодня портал не заработает
Дата: Fri, 10 Jun 2016 15:47:42 +0300
Добрый день.
По поводу Вашей xml, там проблема в totalCostVat="274904000.329999" портал принимает только 3 знака после запятой.
При ручной загрузке портал округляет и поэтому дает подписать и отправить.
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС <Учет счетов-фактур>:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
ПЕЧАЛЬНО даже округлить не могут. ОХРЕНЕТЬ уровень программирования в РБ!!!
------- Пересылаемое сообщение -------
От: "Техническая поддержка ЭСЧФ" <support_EINVOICE@novacom.by>
Кому: "selus@mail.ru" <selus@mail.ru>
Копия:
Тема: RE: Еще одна Странная ошибка передачи Похоже сегодня портал не заработает
Дата: Fri, 10 Jun 2016 15:47:42 +0300
Добрый день.
По поводу Вашей xml, там проблема в totalCostVat="274904000.329999" портал принимает только 3 знака после запятой.
При ручной загрузке портал округляет и поэтому дает подписать и отправить.
С уважением,
Служба технической поддержки
Номера телефонов для обращения с/х по различным вопросам работы с АИС <Учет счетов-фактур>:
по техническим: +375 17 328-32-96, +375 17 328-33-05, +375 17 223-78-23,
по организационным: тел. (017)2297994, (017) 2297987,
по методологическим: тел. (017)2297927, (017)2297928, (017)2202347.
Нужна помощь наших Гуру 8рок.
Есть код:
Так вот, на 7.7 работает без проблем, а на 8-ке валится с ошибкой:
Поясните, почему такое происходит и чем тут эта 8ка относится от 7.7?
Примечательно, на тестовом такой проблемы нет, почему тогда это наблюдается на рабочем?
Есть код:
Функция VerifyAllSigns(InvVatXml)
Перем i, signCount;
Перем InvVatNumber;
ОшибкаПодписи=0;
InvVatNumber = InvVatXml.Document.GetXmlNodeValue("issuance/general/number");
signCount = InvVatXml.GetSignCount;
if signCount = 0 then
Сообщить( "Ошибка: документ №" + InvVatNumber + " не содержит ЭЦП");
VerifyAllSigns = 1;
//возврат;
endif;
for i = 0 to signCount - 1 do
oid = "2.5.4.3"; //(commonName)
str = InvVatXml.GetSignProperty(i, oid, 0);
//Сообщить( "Проверка подписи " + str);
res = InvVatXml.VerifySign(i, 0);
if res <> 0 then
Сообщить( "Ошибка проверки подписи: " + EVatService.LastError);
ОшибкаПодписи=1;
VerifyAllSigns = 2;
Прервать;
else
ОшибкаПодписи=0;
Сообщить("ЭЦП проверена. Дата подписания: " + InvVatXml.GetSignProperty(i, "SIGNDATE", 0));
endif;
EndDo;
VerifyAllSigns = 0
КонецФункции // VerifyAllSigns(InvVatXml) ПоказатьТак вот, на 7.7 работает без проблем, а на 8-ке валится с ошибкой:
{Форма.Форма.Форма(17)}: Значение не является значением объектного типа (Document)
InvVatNumber = InvVatXml.Document.GetXmlNodeValue("issuance/general/number"); Поясните, почему такое происходит и чем тут эта 8ка относится от 7.7?
Примечательно, на тестовом такой проблемы нет, почему тогда это наблюдается на рабочем?
(4623) Xershi, У меня строка: InvVatXml = EVatService.GetEDoc(InvVatNumber); , откуда получаем номер. Вот я и перепутал вопрос))) получал отсюда: InvVatNumber - выдает 25 знаков, InvVatXml - выдает 1 (на тестовом).
Кнопку "Остановка по ошибке" не нашел еще(
Кнопку "Остановка по ошибке" не нашел еще(
(4671) Slypower, У меня ночью все работает хорошо, а днем по прежнему выдает ошибки.
Один раз запустишь - ошибки на одних ЭСЧФ, другой раз - ошибки могут быть уже на других ЭСЧФ.
Писал в поддержку по конкретным ошибкам - ответили, что в их базе по данным ЭСЧФ нет ошибок, попробуйте зайти на портал завтра.
И как тут не грешить на портал ?
Один раз запустишь - ошибки на одних ЭСЧФ, другой раз - ошибки могут быть уже на других ЭСЧФ.
Писал в поддержку по конкретным ошибкам - ответили, что в их базе по данным ЭСЧФ нет ошибок, попробуйте зайти на портал завтра.
И как тут не грешить на портал ?
(21) Slypower, я думал подождать. Может сольют конфу от франчайзи и слизать готовый вариант.
Коллеге предложил делать через вебсервисы, но он не захотел их изучать.
Поэтому пока мы даже ничего не пишем. К деноминации готовим базы.
Коллеге предложил делать через вебсервисы, но он не захотел их изучать.
Поэтому пока мы даже ничего не пишем. К деноминации готовим базы.
Готовая есть тут для 8, но она платная. Написать легко. Я подготовил, пока в виде внешней обработке (с небольшими расшифровками в коде), могу скинуть. Только вот еще не вся инфа мне понятно. Где брать Номер ЭСЧФ, как он меняться будет и еще много вопросов.
Деноминация - это вообще бяда: База огромная, стандартными свертками не сворачивается Книга продаж.
Директор сказал, сделать ЭСЧФ. Будем может внедрять в процедуру ПриПроведении. Результат: создаются файлы xml как в примере. Ну а потом загружать их всех вечером на сайт. Пока такая задумка. Лучше, конечно, все доки в один файл, но хз, можно ли так и будут ли они размером меньше 1 МБ
Деноминация - это вообще бяда: База огромная, стандартными свертками не сворачивается Книга продаж.
Директор сказал, сделать ЭСЧФ. Будем может внедрять в процедуру ПриПроведении. Результат: создаются файлы xml как в примере. Ну а потом загружать их всех вечером на сайт. Пока такая задумка. Лучше, конечно, все доки в один файл, но хз, можно ли так и будут ли они размером меньше 1 МБ
(23) Slypower, Выгружать несколько документов одним запросом не получится.
Дело в том, что каждая ЭСЧФ должна быть подписана электронным ключом отдельно.
И по каждой будет генерироваться отдельный файл-ответ (тикет)
Мы со своей стороны отправляли пожелания по работе веб-сервиса разработчикам портала и Авесту.
Разработчик портала подтвердил, что функционал веб-сервисов будет расширен.
Пожелания организаций участвующих в тестировании будут учтены.
См.
Для подписи будет использоваться ключ от Авеста.
Они же ведут разработку транспорта для доставки xml.
Будет использоваться зашифрованный канал (TLS)
Инициализировать его из 1с просто так не получится. Поэтому использовать веб-сервисы (SOAP) тоже не получится.
На текущий момент Авест предложил утилиту, которая позволяет подписать и отравить ЭСЧФ из папки.
Запуск утилиты производится из командной строки. Ответы (тикиты) так же будут складываться в папку.
Такой подход существенно затрудняет интеграцию.
Мы со свой стороны описали сложности интеграции, приложили прошении о переходе на использование COM-объектов или Native API
Такой вариант позволил бы производить работу с TLS и ЭЦП прозрачно для учетных систем.
Решения по данному вопросу пока нет. Обещали рассмотреть на следующей неделе.
Дело в том, что каждая ЭСЧФ должна быть подписана электронным ключом отдельно.
И по каждой будет генерироваться отдельный файл-ответ (тикет)
Мы со своей стороны отправляли пожелания по работе веб-сервиса разработчикам портала и Авесту.
Разработчик портала подтвердил, что функционал веб-сервисов будет расширен.
Пожелания организаций участвующих в тестировании будут учтены.
См.
Для подписи будет использоваться ключ от Авеста.
Они же ведут разработку транспорта для доставки xml.
Будет использоваться зашифрованный канал (TLS)
Инициализировать его из 1с просто так не получится. Поэтому использовать веб-сервисы (SOAP) тоже не получится.
На текущий момент Авест предложил утилиту, которая позволяет подписать и отравить ЭСЧФ из папки.
Запуск утилиты производится из командной строки. Ответы (тикиты) так же будут складываться в папку.
Такой подход существенно затрудняет интеграцию.
Мы со свой стороны описали сложности интеграции, приложили прошении о переходе на использование COM-объектов или Native API
Такой вариант позволил бы производить работу с TLS и ЭЦП прозрачно для учетных систем.
Решения по данному вопросу пока нет. Обещали рассмотреть на следующей неделе.
(33)Мы решили выгружать одним запросом все документы в папку, а потом уже вручную их загружать на сайт по одному документу, что очень неудобно и затратно.
Утилита от Авест заказывается у них? На сайте Министерства по налогам и сборам РБ, где вся информация по ЭСЧФ нет ее. Будет ждать информации. Спасибо, что сообщили. Если будет какие новшества, надеюсь, они выложат всю информацию
Утилита от Авест заказывается у них? На сайте Министерства по налогам и сборам РБ, где вся информация по ЭСЧФ нет ее. Будет ждать информации. Спасибо, что сообщили. Если будет какие новшества, надеюсь, они выложат всю информацию
Может,кто подскажет, в чем ошибка?? Спасибо
Начало записи: D:\2015-11-18\XML\2016\doc_
Время начала: 14:44:27
стрИмяФайла1=D:\2015-11-18\XML\2016\doc_100000002.xml
100000002.xml
номер договора 100000002
прм_ИмяФайла=D:\2015-11-18\XML\2016\doc_ВЕ0161151.xml
xml_file=xml_fso.CreateTextFile(прм_ИмяФайла, -1, 0); //создать файл, перезаписывая существующий.
{D:\2015-11-18\EXTFORMS\ВЫГРУЗКА_ЭСЧФ_2705.ERT(35)}: :
Начало записи: D:\2015-11-18\XML\2016\doc_
Время начала: 14:44:27
стрИмяФайла1=D:\2015-11-18\XML\2016\doc_100000002.xml
100000002.xml
номер договора 100000002
прм_ИмяФайла=D:\2015-11-18\XML\2016\doc_ВЕ0161151.xml
xml_file=xml_fso.CreateTextFile(прм_ИмяФайла, -1, 0); //создать файл, перезаписывая существующий.
{D:\2015-11-18\EXTFORMS\ВЫГРУЗКА_ЭСЧФ_2705.ERT(35)}: :
Прикрепленные файлы:
Пытаюсь разобрать документ, делаю по примеру выше, ошибка:
InvVatXml = EVatService.GetEDoc(InvVatNumber);
{D:\CONFIG\EXTFORMSADD\EINVVATSERVICE.ERT(536)}: Плохой тип переменной
InvList = EVatService.GetList(ДатаНачала);
Для i = 1 по InvList.Count Цикл
InvVatNumber = InvList.GetItemAttribute(i, "document/number");
InvVatXml = EVatService.GetEDoc(InvVatNumber);
УНП = InvVatXml.Document.GetXmlNodeAttribute("issuance/provider/unp");
InvVatXml = EVatService.GetEDoc(InvVatNumber);
{D:\CONFIG\EXTFORMSADD\EINVVATSERVICE.ERT(536)}: Плохой тип переменной
(2144) tyn, не помогает:
Ошибка на первом документе.
InvList = EVatService.GetList(ДатаНачала);
Для i = 0 по InvList.Count Цикл
InvVatNumber = InvList.GetItemAttribute(i, "document/number");
InvVatXml = EVatService.GetEDoc(InvVatNumber);
УНП = InvVatXml.Document.GetXmlNodeAttribute("issuance/provider/unp");
Ошибка на первом документе.
Требуется помощь! Может кто с этим сталкивался! Техподдержка молчит (уже направил им три письма).
Привожу последнее:
Получаю входящие.
Запись: 691756132-2016-0000001294 от 12.09.16 осн.
ФайлДанных.Загрузить(ИмяФайла);
{D:\77NASTR\ПОРТАЛ_ЭСЧФ_НТС_ПОЛИГРАФИЯ\EXTFORMS\ОБРАБОТКИ_ЗАГРУ ЗКИ_ПЕРЕДАЧИ\ПРИЕМ_ИЗ_ПОРТАЛА_МНС.ERT(523)}: : Attribute '{}schemaLocation' has an invalid value according to the DTD/Schema.
[<issuance xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3schools.com" xsi:schemaLocation="http://www.w3schools.com" sender="691756132"> (error position = 164)]
У кого ошибка
1. у меня (не смог загрузить)
2. у поставщика (неверное пространство имен }schemaLocation типичное для XSD а не XML
3. У Вас на портале (Почему пропускает такое)
К сожалению такие ошибки учащаются. Прошу разьяснить и (или) принять меры.
Несколько поставщиков шлют такое. У меня выставить такое не получается. Проверку не проходит и портал не принимает. КАК УМУДРЯЮТСЯ ТАКОЕ ВЫСТАВЛЯТЬ?????????
И еще вопрос. Ко мне часто обращаются контрагенты с просьбой убрать тэг description из </rosterItem></roster>. Но в схеме этот тэг прописан как обязательный и проверку не проходит. Тем не менее наши контрагенты и я получаем СФ без этого тега.
В связи с этим вопрос: Как это возможно? Как правильно?
Если это правильно, то как этого добиться не выключая проверки?
Привожу последнее:
Получаю входящие.
Запись: 691756132-2016-0000001294 от 12.09.16 осн.
ФайлДанных.Загрузить(ИмяФайла);
{D:\77NASTR\ПОРТАЛ_ЭСЧФ_НТС_ПОЛИГРАФИЯ\EXTFORMS\ОБРАБОТКИ_ЗАГРУ
[<issuance xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.w3schools.com" xsi:schemaLocation="http://www.w3schools.com" sender="691756132"> (error position = 164)]
У кого ошибка
1. у меня (не смог загрузить)
2. у поставщика (неверное пространство имен }schemaLocation типичное для XSD а не XML
3. У Вас на портале (Почему пропускает такое)
К сожалению такие ошибки учащаются. Прошу разьяснить и (или) принять меры.
Несколько поставщиков шлют такое. У меня выставить такое не получается. Проверку не проходит и портал не принимает. КАК УМУДРЯЮТСЯ ТАКОЕ ВЫСТАВЛЯТЬ?????????
И еще вопрос. Ко мне часто обращаются контрагенты с просьбой убрать тэг description из </rosterItem></roster>. Но в схеме этот тэг прописан как обязательный и проверку не проходит. Тем не менее наши контрагенты и я получаем СФ без этого тега.
В связи с этим вопрос: Как это возможно? Как правильно?
Если это правильно, то как этого добиться не выключая проверки?
(23) Slypower, по поводу номера ЭСЧФ. Он формируется по следующему принципу
9 первых цифр - УНП пользователя, который составляет ЭСЧФ - 4 цифры года, в который составляется ЭСЧФ - 10 цифр свободного номера по порядку с учетом лидирующих нулей.
Последовательность последних 10 цифр в году для каждого УНП должна быть уникальна. На начало каждого года, для каждого с/х (УНП) создается последовательность номеров (десять разрядов) от 1 до 9999999999. При заполнении ЭСЧФ, его номер формируется автоматически следующим образом: УНП - Год (текущий) - свободный номер из последовательности. Для каждого ЭСЧФ номер должен быть уникальным для данного УНП в текущем году.
Выложи плз обработку по выгрузке в xml
9 первых цифр - УНП пользователя, который составляет ЭСЧФ - 4 цифры года, в который составляется ЭСЧФ - 10 цифр свободного номера по порядку с учетом лидирующих нулей.
Последовательность последних 10 цифр в году для каждого УНП должна быть уникальна. На начало каждого года, для каждого с/х (УНП) создается последовательность номеров (десять разрядов) от 1 до 9999999999. При заполнении ЭСЧФ, его номер формируется автоматически следующим образом: УНП - Год (текущий) - свободный номер из последовательности. Для каждого ЭСЧФ номер должен быть уникальным для данного УНП в текущем году.
Выложи плз обработку по выгрузке в xml
Обновление СОС из 1с.
Искал не нашел, пришлось самому сделать, ничего сложного, но может кому-нибудь пригодится.
Искал не нашел, пришлось самому сделать, ничего сложного, но может кому-нибудь пригодится.
Процедура ОбновитьСОС()
// удаляем старые СОС
КомандаСистемы("del %TEMP%\*.crl >NUL: 2>&1");
скачатьФайл = """c:\Program Files\Avest\AvPCM_MNS\wget"" -q -T 30 -O %TEMP%\"; // для 32-х битных систем
импортСОС = """c:\Program Files\Avest\AvPCM_MNS\AvCmUt3.exe"" -C %TEMP%\";
сайтФайлаМНС = " %PX_USER% %PX_PASS% http:" + Симв(47) + Симв(47) + "www.portal.nalog.gov.by/ca/";
сайтФайлаПКИ = " %PX_USER% %PX_PASS% http:" + Симв(47) + Симв(47) + "pki.gov.by/certs/-/";
выводВНоль = " >NUL";
// загрузка СОС Корневой Удостоверяющий центр Министерства по налогам и сборам
имяФайла = "mns-ca.crl";
выполненоУспешно = 0;
Попытка
КомандаСистемы(скачатьФайл + имяФайла + сайтФайлаМНС + имяФайла);
выполненоУспешно = 1;
Исключение
Сообщить("СОС " + имяФайла + " - не скачан !!!");
КонецПопытки;
Если выполненоУспешно = 1 Тогда
КомандаСистемы(импортСОС + имяФайла + выводВНоль);
КонецЕсли;
// загрузка СОС Корневой УЦ РУП "Информационно-издательский центр по налогам и сборам"
имяФайла = "rup.crl";
выполненоУспешно = 0;
Попытка
КомандаСистемы(скачатьФайл + имяФайла + сайтФайлаМНС + имяФайла);
выполненоУспешно = 1;
Исключение
Сообщить("СОС " + имяФайла + " - не скачан !!!");
КонецПопытки;
Если выполненоУспешно = 1 Тогда
КомандаСистемы(импортСОС + имяФайла + выводВНоль);
КонецЕсли;
// загрузка СОС Корневой удостоверяющий центр (КУЦ)
имяФайла = "kuc.crl";
выполненоУспешно = 0;
Попытка
КомандаСистемы(скачатьФайл + имяФайла + сайтФайлаПКИ + имяФайла);
выполненоУспешно = 1;
Исключение
Сообщить("СОС " + имяФайла + " - не скачан !!!");
КонецПопытки;
Если выполненоУспешно = 1 Тогда
КомандаСистемы(импортСОС + имяФайла + выводВНоль);
КонецЕсли;
// загрузка СОС Республиканский удостоверяющий центр (РУЦ)
имяФайла = "ruc.crl";
выполненоУспешно = 0;
Попытка
КомандаСистемы(скачатьФайл + имяФайла + сайтФайлаПКИ + имяФайла);
выполненоУспешно = 1;
Исключение
Сообщить("СОС " + имяФайла + " - не скачан !!!");
КонецПопытки;
Если выполненоУспешно = 1 Тогда
КомандаСистемы(импортСОС + имяФайла + выводВНоль);
КонецЕсли;
// удаляем лог-файл.
КомандаСистемы("del " + СокрЛП(КаталогИБ()) + "AvCmUt3.log");
КонецПроцедуры
//*******************************************
Процедура ОбработкаОшибок(текстОшибки)
......
строкаПоиска = "истек срок действия СОС"; // Строка записана по памяти.
Если Найти(текстОшибки,строкаПоиска)>0 Тогда
ОбновитьСОС();
текстПредупреждения = "СОС обновлены. Попробуйте выполнить операцию повторно.";
Предупреждение(текстПредупреждения);
КонецЕсли;
......
КонецПроцедуры
Показать
(5362) тут дело в том, что может пригодится такое решения в данном случае: я, чисто гипотетически, "продал" свою обработку покупателям. СОС тоже за доплату туда допилил. И вот чтобы не кидать никакие батники никуда, чтобы папки не докидывать и не забивать голову и так не оч умному покупателю, я в 1С так сделаю, и он будет рад и будет считать меня богом. Не ну а что))))))
(5365) есть разные бат файлы. Например: get_crl.bat в папке c:\Program Files (x86)\Avest\AvPCM_nces\. Он обновляет СОСы, но столкнулся с ситуацией, когда нужно скачивать сосы с портала и обновлять их.
а вот get_crl.bat из папки: c:\Program Files (x86)\Avest\AvPCM_MNS\ у меня ничего не делает.
а вот get_crl.bat из папки: c:\Program Files (x86)\Avest\AvPCM_MNS\ у меня ничего не делает.
(5361)
Переписал под 8-ку и скрестил со своей процедурой.
Переписал под 8-ку и скрестил со своей процедурой.
Перем Рез;
Перем ИМНС_СОС;
Перем НЦЭУ_СОС ;
Процедура КоманднаяПанель1ОбновитьСОС(Кнопка)Экспорт
ПутьАвест ="";
Если ИМНС_СОС Тогда
Если Рез = 64 Тогда
ПутьАвест = """C:\Program Files (x86)\Avest\AvPCM_MNS\""";
Иначе
ПутьАвест = """C:\Program Files\Avest\AvPCM_MNS\""";
КонецЕсли;
ИначеЕсли НЦЭУ_СОС Тогда
Если Рез = 64 Тогда
ПутьАвест = """C:\Program Files (x86)\Avest\AvPCM_nces\""";
Иначе
ПутьАвест = """C:\Program Files\Avest\AvPCM_nces\""";
КонецЕсли;
Иначе
Предупреждение("Выберите вид сертификата");
Возврат;
КонецЕсли;
Попытка
Если ИМНС_СОС Тогда
Если Рез = 64 Тогда
КомандаСистемы("get_crl.bat",ПутьАвест);
Иначе
КомандаСистемы("get_crl.bat",ПутьАвест);
КонецЕсли;
ИначеЕсли НЦЭУ_СОС Тогда
Если Рез = 64 Тогда
КомандаСистемы("get_crl.bat",ПутьАвест);
Иначе
КомандаСистемы("get_crl.bat",ПутьАвест);
КонецЕсли;
Иначе
Предупреждение("Виберите вид сертификата");
КонецЕсли;
Исключение
ОбновитьСОС(ПутьАвест);
КонецПопытки;
КонецПроцедуры
Процедура ОбновитьСОС(ПутьАвест)
// удаляем старые СОС
КомандаСистемы("del %TEMP%\*.crl >NUL: 2>&1");
скачатьФайл = ПутьАвест + """wget"" -q -T 30 -O %TEMP%\";
импортСОС = ПутьАвест + "AvCmUt3.exe"" -C %TEMP%\";
сайтФайлаМНС = " %PX_USER% %PX_PASS% ";
сайтФайлаПКИ = " %PX_USER% %PX_PASS% ";
выводВНоль = " >NUL";
// загрузка СОС Корневой Удостоверяющий центр Министерства по налогам и сборам
имяФайла = "mns-ca.crl";
выполненоУспешно = 0;
Попытка
КомандаСистемы(скачатьФайл + имяФайла + сайтФайлаМНС + имяФайла);
выполненоУспешно = 1;
Исключение
Сообщить("СОС " + имяФайла + " - не скачан !!!");
КонецПопытки;
Если выполненоУспешно = 1 Тогда
КомандаСистемы(импортСОС + имяФайла + выводВНоль);
КонецЕсли;
// загрузка СОС Корневой УЦ РУП "Информационно-издательский центр по налогам и сборам"
имяФайла = "rup.crl";
выполненоУспешно = 0;
Попытка
КомандаСистемы(скачатьФайл + имяФайла + сайтФайлаМНС + имяФайла);
выполненоУспешно = 1;
Исключение
Сообщить("СОС " + имяФайла + " - не скачан !!!");
КонецПопытки;
Если выполненоУспешно = 1 Тогда
КомандаСистемы(импортСОС + имяФайла + выводВНоль);
КонецЕсли;
// загрузка СОС Корневой удостоверяющий центр (КУЦ)
имяФайла = "kuc.crl";
выполненоУспешно = 0;
Попытка
КомандаСистемы(скачатьФайл + имяФайла + сайтФайлаПКИ + имяФайла);
выполненоУспешно = 1;
Исключение
Сообщить("СОС " + имяФайла + " - не скачан !!!");
КонецПопытки;
Если выполненоУспешно = 1 Тогда
КомандаСистемы(импортСОС + имяФайла + выводВНоль);
КонецЕсли;
// загрузка СОС Республиканский удостоверяющий центр (РУЦ)
имяФайла = "ruc.crl";
выполненоУспешно = 0;
Попытка
КомандаСистемы(скачатьФайл + имяФайла + сайтФайлаПКИ + имяФайла);
выполненоУспешно = 1;
Исключение
Сообщить("СОС " + имяФайла + " - не скачан !!!");
КонецПопытки;
Если выполненоУспешно = 1 Тогда
КомандаСистемы(импортСОС + имяФайла + выводВНоль);
КонецЕсли;
// удаляем лог-файл.
КомандаСистемы("del " + СокрЛП(ПутьАвест) + "AvCmUt3.log");
КонецПроцедуры
//Определяет разрядность системы
WshShell = Новый COMОбъект("WScript.Shell");
Рез = ?(Найти(WshShell.Environment("SYSTEM").item("PROCESSOR_ARCHITECTURE"), "64") > 0, 64, 32); Показать
Местные гуру, назрел вопрос.
пишу
Файл там есть, но он его не находит((( почему?
пишу
Если xml_fso.FileExists(КаталогИБ()+"XML\2016\doc_1000000002.xml")=1 Тогда
код;
КонецЕсли;Файл там есть, но он его не находит((( почему?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот