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

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

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

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

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

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

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

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

Дополняется со временем
KatrinNight; Pavl0; kar911; Золушка 007; iZhenius; xav; svilsa; Mustard; Gluk_1C; jeniks; 1v7; BotMan4; OSA3; MaskO_rimi; Ni4ka; Igor Igorevich; osharov_d; shiko; merlin1975; cssnavi; Krasowskiy; YegorK; KhomDV; +23 Ответить
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
174. Gladkov_Anton 06.05.16 23:08 Сейчас в теме
(157) pasha_2001, публикацию смотрели?
Там есть картинки к публикации. Посмотрите на них - должно быть понятно.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4339. Xershi 1483 10.10.16 13:44 Сейчас в теме
(4336) selus, дополнительные без ссылки это те которые дополняют ЭСЧФ до 01.07.2016, потому что их не нужно было выставлять на портал. Далее только дополнительные.

По поводу обрезания базы, то этот кусок не трогайте!
4349. selus 11.10.16 07:18 Сейчас в теме
(4339) Xershi,
По поводу обрезания базы, то этот кусок не трогайте!


Этот кусок 90% базы потому и режу. Второй момент за квартал диллер производит кучу гарантийных ремонтов, затем одной возвратной накладной возвращает нам снятые ЗЧ при этом не разбираясь с каких партий он их получил (цены примерно равны в разных партиях). В результате на одну возвратную накладную получаю 50-60 доп. СФ (и это в лучшем случае). А теперь вопрос на миллион как буху сверить это дерьмо и с чем?

Поэтому и пытаюсь извратиться с доп. СФ. Походу чуствую доп без ссылки долго не проживут.

Еще вопрос. У клиента несколько отгрузок в эквиваленте по одному договору. Суммовые мы считаем в целом по клиенту что не запрещено и как в этом случае выдавать СФ. Конечно Вы скажете считайте в разрезе отгрузки, но от этого геммороя мы более пяти лет назад отказались, что теперь возвращаться?

Ну и прогрэсссс!!!!
4337. a_amelchenya 10.10.16 12:51 Сейчас в теме
Опять...
При попытке считать документ методом (входящие ЭСЧФ по номерам)

EDoc = EVatService.GetEDoc(НомерЭСЧФ);


При первых попытках выводятся следующие ошибки:
"Ответ сервера: В последний раз ЭСЧФ под номером ... вы получали 2016-10-10 08:24:14 (UTC), в следующий раз ее можно будет получить после 2016-10-11 08:24:14 (UTC)"
А потом - зависание на данном коде.
Кто сталкивался, как решить проблему ? Ещё в пятницу всё грузило, хоть и очень медленно.

Опять портал? Как это достало !!!
4340. Xershi 1483 10.10.16 13:45 Сейчас в теме
(4337) user619447_mex85, уже программно прочитали, ждите до завтра. В чем проблема у вас так и не понятно.
4341. Xershi 1483 10.10.16 14:12 Сейчас в теме
Все доки загрузились за исключение одного:
InvVatXml.Message = Не удалось проверить ЭЦП квитанции: Сертификат отозван.
Что с таким документами делать?
4342. Slypower 2 10.10.16 14:22 Сейчас в теме
(4341) Xershi, -> (4326)/ Либо зайти на портал, скачать xml этого эсчф и закинуть в папку, откуда считываете скаченные
4343. data78 10.10.16 14:37 Сейчас в теме
Добрый день.

Мы пытаемся из 1С с помощью eInvVat загрузить входящие не подписанные ЭСЧФ. При установке соединения методом Login с параметрами UNP и PASSWORD_KEY, а затем методом Connect соединение проходит успешно. Метод LastError ошибок не выдает. Но через несколько секунд этот метод начинает выдавать сообщение "Сессия создана без авторизации пользователя." и соответственно получить входящие ЭСЧФ методом GetList мы не можем. С чем может быть связана такая ситуация?
4344. Xershi 1483 10.10.16 14:39 Сейчас в теме
(4343) data78, у вас один ключ?
Попробуй дописать ид ключа, чтобы наверняка!
4353. data78 11.10.16 10:03 Сейчас в теме
(4344) Xershi, (4344) Xershi
Попробовали, то же самое.
4356. Xershi 1483 11.10.16 10:17 Сейчас в теме
(4353) data78, раз отваливается, значит у вас где-то прописано закрытие ком-объекта. Берите отладчик и проверяйте.
Или вы батниками все делаете?
4345. Slypower 2 10.10.16 15:30 Сейчас в теме
(4343) data78, поставьте подключение к порталу, а именно запрос на ввода пароля в процедуру ПриОткрытии(). Либо вам нужно будет дописывать в процедуру, которую вы часто выполняете:
	//Проверяем авторизацию
	if   EVatAU = 0 Then
		ПриАвторизации();
	endif;	
	//  подключение к порталу ЭСФЧ
		адрес=EVatService.Connect("https://ws.vat.gov.by:443/InvoicesWS/services/InvoicesPort");//Сообщить("рабочий портал");
		//адрес=EVatService.Connect("https://185.32.226.170:4443/InvoicesWS/services/InvoicesPort");Сообщить("тестовый портал");
	if  адрес<> 0 then 
		Сообщить( "Ошибка подключения: " + EVatService.LastError);
		возврат;
	endif; 
Показать
4354. data78 11.10.16 10:10 Сейчас в теме
(4345) Slypower,
Дело в том что первая попытка авторизации проходит успешно, но буквально в следующую секунду почему то слетает. Пытаешься авторизоваться снова, сначала успешно и снова слетает. Пробовали в разных программах (Бух, УПП), везде одно и то же. У клиентов та же картина. И ведь работало все, и на портал загружали и оттуда. Что случилось? eInvVat обновили.
4355. Slypower 2 11.10.16 10:17 Сейчас в теме
(4354) data78, начните с антивирусника. Попробуйте без него. eInvVat использую предпоследнюю версию, т.к. последняя была косяковой, не знаю, исправили ли. Может вам нужно подключение через прокси? И это, уберите с обработки ПриЗавершенииАвторизации().
4357. Xershi 1483 11.10.16 10:18 Сейчас в теме
(4355) Slypower, мы используем последнюю, чем же она косяковая?
4360. Slypower 2 11.10.16 10:32 Сейчас в теме
(4357) Xershi, как только ее выпустили, это где-то 8 числа месяца не помню, были у нее проблемы, мы тут обсуждали на страницах. Писали разрабам, может ее и исправили, но я не стал обновляться. По количеству, она 10 обнова, я пользуюсь 9-й
4362. Xershi 1483 11.10.16 12:14 Сейчас в теме
(4360) Slypower, ну это я помню, только я поставил последнюю 1.2.8 и все работает отлично.
4346. Xershi 1483 10.10.16 17:08 Сейчас в теме
По поводу загрузки входящих подписанных вручную или удаленных после подписи из базы.
Как минимум создам кнопку для ручной загрузки, введя номер ЭСЧФ, который можно подсмотреть на портале.
А второй вариант это ручная выгрузка 19 страниц по 30 ЭСЧФ и затем парсинг номеров файлов.
Как получить номера загруженных есть еще идеи?
4347. osharov_d 10.10.16 20:44 Сейчас в теме
(4346) Xershi, По-моему отчет по мониторингу сделок можно сохранить в csv
А кнопку загрузки по номеру у себя тоже сделал )
4348. Sergey_Kirillov 10.10.16 21:46 Сейчас в теме
(4346) Xershi, нашел способ проще...используя отчет по входящим на портале - получаю список всех ЭСЧФ за необходимый период в формате экселя, потом простейший парсинг файла с загрузкой по номеру
4350. Xershi 1483 11.10.16 08:34 Сейчас в теме
(4348) Sergey_Kirillov, это уже лучше. Если поделитесь алгоритмом парсинга будет вообще шикарно! Там все просто, но нужна функция, которую пока нет времени писать.
4351. Slypower 2 11.10.16 09:23 Сейчас в теме
(4350) Xershi, так легкая функция считывания xls и по циклу с первой строки по последней получаем все номера эсчф и скачиваем их сразу с портала
4352. Sergey_Kirillov 11.10.16 10:01 Сейчас в теме
(4350) В экселе оставляю только один столбец с номерами ЭСЧФ без заголовков название листа "Лист1" хотя можешь просто в обработке подпрвить
Вот чтение в таблицу из экселя для 7.7


      // Получим список из файла
	тз = СоздатьОбъект("ТаблицаЗначений");
	тз.НоваяКолонка("InvVatNumber","Строка",25,0,"InvVatNumber");
	
	Попытка
		Excel = СоздатьОбъект("Excel.Application"); 
	Исключение
		Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена на данном компьютере!"); 
		Возврат;
	КонецПопытки;  
	
    Путь = Константа.ПутьКxml+"\СписокЭСЧФ.xls";
    Если ФС.СуществуетФайл(Путь)=0 Тогда  
		Имя = ""; Каталог = Константа.ПутьКxml;
		Если ФС.ВыбратьФайл(0,Имя,Каталог,"Путь к файлу списка","Файлы xls (*.xls)|*.xls","*.xls")<>1 Тогда
			Возврат;
		КонецЕсли;
		Путь = Каталог+Имя;
	КонецЕсли;	
	
	Excel.Workbooks.Open(Путь); 
	Excel.Visible = 0;
	Excel.WorkSheets("Лист1").Activate();
	 
	//НачатьТранзакцию();    
    Инд=1;
	Пока ПустоеЗначение(Excel.Cells(Инд,1).Value())=0 Цикл 
		тз.НоваяСтрока();
		тз.InvVatNumber = Строка(Excel.Cells(Инд,1).Value());
		Инд = Инд + 1; 
	КонецЦикла;
	Excel.Workbooks.Close();  
	Excel.Quit(); 
	
	Сообщить("В список добавлено: " + Строка(тз.КоличествоСтрок()) + " ЭСЧФ");

Показать
4359. Xershi 1483 11.10.16 10:30 Сейчас в теме
(4352) Sergey_Kirillov, у меня же есть разработка, которая читаем цсв файлы, если он сделан по стандарту, к ней добавлю кнопку, которая вместо обновления 1 ЭСЧФ будет перебирать таблицу и обновлять список))
4363. Xershi 1483 11.10.16 12:32 Сейчас в теме
(4352) Sergey_Kirillov, у меня на сервере все. Пришлось таким методом делать:
&НаКлиенте
Процедура ОбновитьВходящиеСписокЭСЧФ(Команда)
	
	ТекстОшибки = "";
	Отказ = Ложь;
	
	ПолучитьСоединенияНаСервере(Отказ);

	Если Отказ Тогда
		 ЭлектронныеДокументыСлужебныйВызовСервера_Локализация.ОбработатьИсключениеПоЭДНаСервере(Нстр("ru = 'Обновление статусов ЭСЧФ'  "),
		 "Не установлено соединение с порталом электронных счетов-фактур НДС", "Не установлено соединение с порталом электронных счетов-фактур НДС");
		Возврат;
	КонецЕсли;	
	
	ВыбЗнач = Неопределено;
	Массив = Новый Массив;
	Массив.Добавить(Тип("Строка"));
	ОписаниеТипов = Новый ОписаниеТипов(Массив);
	ДополнительныеПараметры = Новый Структура;
	ДополнительныеПараметры.Вставить("ТекстОшибки", ТекстОшибки);
	ДополнительныеПараметры.Вставить("Отказ", Отказ);	
	Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения", ЭтотОбъект, ДополнительныеПараметры);
	ПоказатьВводЗначения(Оповещение, ВыбЗнач, "Введите значение", ОписаниеТипов); 
		
КонецПроцедуры

&НаКлиенте
Процедура ПослеВводаЗначения(ВыбЗнач, Параметры) Экспорт
	
	Если ВыбЗнач <> Неопределено Тогда
		
		Массив = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(ВыбЗнач, "¶");
		
		Для Каждого InvVatNumber Из Массив Цикл
			
			Если ЗначениеЗаполнено(InvVatNumber) Тогда
				
				ЭлектронныеДокументыСлужебныйВызовСервера_Локализация.ОбновитьВходящуюЭСЧФ(InvVatNumber, Параметры.ТекстОшибки, Параметры.Отказ);
				
			КонецЕсли;
			
		КонецЦикла;
		
		Элементы.Входящие.Обновить();
		Элементы.ВходящиеАннулированные.Обновить();
		Элементы.ВходящиеПодписанные.Обновить();

	КонецЕсли;
	
КонецПроцедуры

Показать


Мой парсер csv прочитал таблицу, а изза того что компонента у меня 64-битная подключается в толстом клиенте кнопку на обработку не удалось запустить, ком-объект пустой был клиент же 32-битный. Поэтому вывел колонку с номерами и потом тупо их вставляю строкой и разлаживаю в массив.

И да в csv-файле шапку правлю на такое:
УНПпоставщика;Наименование поставщика;Статус поставщика;УНП получателя;Наименование получателя;Статус получателя;

А то не читает не формат...
4358. Sergey_Kirillov 11.10.16 10:19 Сейчас в теме
Обработка по печати ЭСЧФ для 7.7
Был использован кусок кода от Slypower
Прикрепленные файлы:
ПечатьЭСЧФ.ert
Rick09; keyn5565`; Slypower; +3 Ответить
4361. Xershi 1483 11.10.16 10:46 Сейчас в теме
От жеж разработчики... 4 колонки с одинаковыми именами и не по стандарту...
4364. serega_ess 11.10.16 13:14 Сейчас в теме
Вчера и сегодня вот такая ошибка появляется при попытке подписать. Кто пробовал сегодня на портале подписывать, работает подпись?

4365. Xershi 1483 11.10.16 13:37 Сейчас в теме
(4364) serega_ess, проверь у себя все сертификаты. Я уже все подписываю через 1С.
4366. serega_ess 11.10.16 14:24 Сейчас в теме
СОС обновил, основной то же удалил и импортировал заново. Под сертификатом то я нормально захожу на порта и 1ска нормально подписывает и грузит.
Иногда теряются ЭСЧФ на пути из 1с к порталу, так вот их я гружу вручную. А теперь чё то перестало подписываться на портале(
4367. keyn5565` 18 11.10.16 14:51 Сейчас в теме
только хотел похвалить портал что шикарно работает, так после обеда опять тугодумит...
4368. Xershi 1483 11.10.16 16:34 Сейчас в теме
(4367) keyn5565`, обновлял статусы исходящих 5800 секунд=))
4370. keyn5565` 18 11.10.16 16:43 Сейчас в теме
(4368) Xershi,
А какое количество?
Сейчас у меня с входящими в размере 1124 ЭСЧФ штук, около 5 минут обрабатывает, по крайней мере утром так было...
4369. 1c77minsk 11.10.16 16:39 Сейчас в теме
Добрый день.
У меня на портале висит всего порядка 1000 входящих ЭСЧФ. Пытаюсь их получить через GetList - получаю только 400, из за чего это может быть? Как мне получить все ЭСЧФ?

Спасибо.
4371. keyn5565` 18 11.10.16 16:45 Сейчас в теме
(4369) 1c77minsk,
На остальных ограничение висит
Читай EVatService.LastError
Что то в этом роде там будет:
11.10.2016 16:48:53 | Ответ сервера: В последний раз ЭСЧФ под номером 000000000_000000000-2016-000000000 вы получали 2016-10-11 07:03:18 (UTC), в следующий раз ее можно будет получить после 2016-10-12 07:03:18 (UTC)


Если через GetList то дело в периоде
EVatService.GetList(ДатаНачала);

//
4372. 1c77minsk 11.10.16 16:54 Сейчас в теме
(4371) keyn5565`, А как читать?

Написал код

	fromDate = ФорматДаты(ДатаНач);
	Сообщить("@" + fromDate + "@");
	InvList =  EVatService.GetList(fromDate);
	Сообщить( "EVatService.GetList(fromDate): EVatService.LastError = " + EVatService.LastError);
	if InvList =  0 then
		Сообщить( "Ошибка получения списка ЭСЧФ: " + EVatService.LastError);
		возврат;
	endif;
	ЧислоЭСЧФ =InvList.Count;
	Сообщить("Нашли " + ЧислоЭСЧФ + " ЭСЧФ НДС");
Показать


В итоге выдало

@2016-07-01T00:00:00Z@
EVatService.GetList(fromDate): EVatService.LastError =
Нашли 326 ЭСЧФ НДС
4374. keyn5565` 18 11.10.16 16:58 Сейчас в теме
(4372) 1c77minsk,
ДатаНачала = Формат(ДатаСовершенияОперации,"ДФ=yyyy-MM-ddTHH:mm:ssZ");
InvList = EVatService.GetList(ДатаНачала);

Метод GetList
Получение списка поступивших в АС портала в адрес получателя ЭСЧФ.
Входные параметры:
• FromDate — дата периода поиска документов.
Результат:
В случае успешного выполнения возвращается объект электронный документ, содержащий объект EDocList со списком реквизитов ЭСЧФ, иначе возвращается пустой объект. Подробности ошибки можно получить, используя свойство LastError объекта Connector.
4376. Slypower 2 11.10.16 17:06 Сейчас в теме
(4372) 1c77minsk, а вы полный код процедуры нам покажите
4377. Dnki 4 12.10.16 01:36 Сейчас в теме
(4369) 1c77minsk, "на портале висит всего порядка 1000 входящих"
А откажитесь от идеи все читать. Я в процедуре считывания поставил параметр "скока читать".
Дело в том, что правильный бухгалтер не нажмет бездумно кнопку "подписать". Он должен сверить суммы со своими документами. И это время.
Поэтому, у меня порядок такой:
- прочитал 20-50
- проверил и подписал
- опять нажал прочитать
- портал дает очередную порцию
Вот так получается 2 задачи:
- по-малу вычерпывать, не долго ожидая
- обходится ограничение портала на скачивание.
4390. 1c77minsk 12.10.16 13:23 Сейчас в теме
Код у меня такой

	Попытка
		EVatService=СоздатьОбъект("EInvVatService.Connector");  
		EVatAU=0;
		Сообщить("Компоненты доступа к порталу ЭСФЧ загружены");
	Исключение
		Сообщить("На компьютере не обнаружены компоненты, необходимые для доступа к порталу ЭСФЧ!");
		Возврат 0;
	КонецПопытки;
	Возврат 1;

	if EVatService.Login("", 0) = 0 then
		Сообщить( "Авторизация прошла успешно");
		EVatAU = 1;
	else
		Сообщить("Ошибка авторизации: " + EVatService.LastError);
		EVatAU = 0;
	endif;

	fromDate = ФорматДаты(ДатаНач);
	Сообщить("@" + fromDate + "@");
	InvList =  EVatService.GetList(fromDate);
	Сообщить( "EVatService.GetList(fromDate): EVatService.LastError = " + EVatService.LastError);
	if InvList =  0 then
		Сообщить( "Ошибка получения списка ЭСЧФ: " + EVatService.LastError);
		возврат;
	endif;
	ЧислоЭСЧФ =InvList.Count;
	Сообщить("Нашли " + ЧислоЭСЧФ + " ЭСЧФ НДС");

Показать


Результат:

@2016-07-01T00:00:00Z@
EVatService.GetList(fromDate): EVatService.LastError =
Нашли 326 ЭСЧФ НДС





(4377) Dnki, у нас работает 4 бухгалтера с ЭСЧФ, и причем каждый со своим участком, по этому, загрузив те же 50 ЭСЧФ, не фатк что будет для всех работа.

А так, я гружу ВСЕ ЭСЧФ с портала, сохраняю их в файлы и потом уже кажый работает со своими с/ф.
Ну и начал автоматизацию только сейчас, и вроде не видит уже подписанные на портале ЭСЧФ.

Ну и алгоритм я вижу такой, утром скачиваю все ЭСЧФ, а уже в течении дня бухгалтера проверяют свои ЭСЧФ и подписывают. Ведь для начала они связывают ЭСЧФ с портала с документом в 1С.
4391. Xershi 1483 12.10.16 13:26 Сейчас в теме
(4390) 1c77minsk, выше мы уже предложили все актуальные алгоритмы вытягивания подписанных/аннулированных входящих.
Первый вариант это тупо по номеру, второй это из списка. Список получается сохранением в csv-файл с портала.
Других методов компонента не предполагает на текущий момент!
4392. 1c77minsk 12.10.16 13:29 Сейчас в теме
(4391) Xershi, так я по номеру уже начал вытягивать. Делаю отчет на портале о выставленных ЭСЧФ в наш адрес, сохраняю в xls и из его беру номер и по нему получаю файл. Но все равно есть те которые не грузятся, сейчас буду с ними разбираться.
4393. Xershi 1483 12.10.16 13:40 Сейчас в теме
(4392) 1c77minsk, вышел я тоже про "не грузится писал". Либо сертификат под вашим пользователем не обновлен, либо у выставившего все истекло и ему нужно перевыставить (ну или вручную подписывать на портале).
Тоже выше все решения. Если у вас что-то еще пишите в саппорт.
4394. ASDCXZ 12.10.16 14:08 Сейчас в теме
(4393) Xershi, Или глюк портала/сервиса/хранилища (писал раньше), а техподдержка больше месяца присылает отмазки типа "всё в порядке" или "будет исправлена при регламентных работах"
4395. Slypower 2 12.10.16 14:34 Сейчас в теме
(4394) ASDCXZ, так вот они работы и идут. Постоянно в новостях обновления портала и доработки его. Вчера, например
4396. osharov_d 12.10.16 15:20 Сейчас в теме
(4395) Slypower, возможно они что-то радикально и исправляют, и с тормозами и глюками воюют, но пока ситуация с их обновлениями портала выглядит внешне как "а давайте салон машины кожей обтянем, а то что колеса квадратные - ну и хрен с ним"
4397. keyn5565` 18 12.10.16 15:56 Сейчас в теме
(4392) 1c77minsk,
Лично я делаю так:
1) Скачиваем все новые счета

ДатаНачала = Формат(ДатаСовершенияОперации,"ДФ=yyyy-MM-ddTHH:mm:ssZ");
InvList = EVatService.GetList(ДатаНачала);

Для i = 0 по InvList.Count - 1  Цикл
			
			InvVatNumber = InvList.GetItemAttribute(i, "document/number");
									
			ОписаниеОшибки = "";
			
			
			InvVatXml   = EVatService.GetEDoc(InvVatNumber);
			
			ПутьXML 	= КаталогВФ + InvVatNumber+".xml";
			ПутьTicket  = КаталогВФ + InvVatNumber+"_ticket.xml";
			
			//Проверим наличие файла
			ФайлXML 	= Новый Файл(ПутьXML);
			ФайлTicket  = Новый Файл(ПутьTicket);
			
			Если НЕ ФайлXML.Существует() Тогда
				Попытка
					XML 	= InvVatXml.Document.SaveToFile(ПутьXML);
				Исключение
					ОписаниеОшибки = EVatService.LastError;
					Лог.Добавить(Строка(ТекущаяДата())+	" | "+ОписаниеОшибки,,,БиблиотекаКартинок.СообщениеОшибка);
				КонецПопытки
			КонецЕсли;
			
			Если НЕ ФайлTicket.Существует() Тогда
				Попытка
					ticket  = InvVatXml.SaveToFile(ПутьTicket);
				Исключение
					ОписаниеОшибки = EVatService.LastError;
					Лог.Добавить(Строка(ТекущаяДата())+	" | "+ОписаниеОшибки,,,БиблиотекаКартинок.СообщениеОшибка);
				КонецПопытки
			КонецЕсли;
			
		КонецЦикла;

Показать


2)Поступисшими заполняю регистр который хранит значения и пути входящих ЭСЧФ
3)Заполняю ТЧ из регистра для работы буха
4398. 1c77minsk 12.10.16 16:25 Сейчас в теме
(4397) keyn5565`, мне нужно и старые скачать, что бы заполнить базу. Новые без проблем скачиваются.


Теперь вообще весело, при загрузке из экселя уже на все счета пишет

InvVatXml = EVatService.GetEDoc(СокрЛП(InvVatNumber));
{}: Плохой тип переменной

Хотя вчера все нормально работало. Какой тип параметра надо передавать в GetEDoc?
4399. osharov_d 12.10.16 16:30 Сейчас в теме
(4398) 1c77minsk, Строку конечно. Может из Excel еще какой символ лишний тянет?
4402. 1c77minsk 12.10.16 16:37 Сейчас в теме
(4399) Snake150984, (4400) Xershi, Вчера все грузило, так же по одной и той же ЭСЧФ вчера этим методом раза 4-5 обновлял статусы, а сегодня уже все, "Плохой тип переменной", хотя уже руками ввожу номер,и все равно.
4403. Xershi 1483 12.10.16 16:41 Сейчас в теме
(4402) 1c77minsk, наверно превышен лимит подключения. Проверь в отладчике значения. Скорее всего ком накрылся.
4407. 1c77minsk 12.10.16 17:22 Сейчас в теме
(4403) Xershi, уверен что все правильно, ибо запустил сейчас - и о чудо, пошло грузить из Экселя, причем очень резво, визуально 1-2 секунды на один номер ЭСЧФ. Получается что раз в сутки можно выполнять EVatService.GetEDoc(СокрЛП(InvVatNumber)), хотя тут выдает ошибку про Плохой тип переменной , а в других случаях пишет прямо, что получить можно после....
4400. Xershi 1483 12.10.16 16:31 Сейчас в теме
(4398) 1c77minsk, да там неопределенно. То-то думаю чего у меня такое не пишет это же из 1с7=))
Раз в день можно загрузить!
4401. osharov_d 12.10.16 16:36 Сейчас в теме
(4400) Xershi, была бы проблема в этом - ошибка была бы при обращении к "полученному" документу. При самом скачивании ошибка не возникает.
4405. keyn5565` 18 12.10.16 16:47 Сейчас в теме
(4398) 1c77minsk,
Ну если нужно получить и старые, только и не знаешь номер то могу посоветовать это:
Процедура ЗаполнитьСправочнкиКодовЭСЧФ()Экспорт
	Способ1 = Ложь; //поменять на Истина если хотите
	Если Способ1 Тогда
		ФормаХодаФормированияЭСЧФ = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
		стТип = "Заполнение справочника ЭСЧФ-ми";
		счКоличество = ПолучитьКоличествоДокументовДляВыгрузки(стТип);
		ФормаХодаФормированияЭСЧФ.НаименованиеОбработкиДанных = "Ждите, это долго";
		ФормаХодаФормированияЭСЧФ.КомментарийОбработкиДанных = "Ждите, это ОЧЕНЬ ОЧЕНЬ долго";
		ФормаХодаФормированияЭСЧФ.МаксимальноеЗначение = 9999999999;
		ФормаХодаФормированияЭСЧФ.Значение = 0;
		ФормаХодаФормированияЭСЧФ.Открыть();
		
		
		Справочник = Справочники.ЭСЧФ;
		НачальныйКодПоиска = 0;
		ЧислоЗнааковКода = 10;
		ВерхнийПредел = 9999999999; //   9999999999/120/24=  ~2 472 222 дней /365 = ~6 773,21 лет "GL"
		Пока НачальныйКодПоиска <= ВерхнийПредел Цикл
			ОбработкаПрерыванияПользователя();
			
			НачальныйКодПоиска = НачальныйКодПоиска	+ 1;
			СтрокаНачальныйКод = Строка(НачальныйКодПоиска);
			ДлиннаКода = СтрДлина(СтрокаНачальныйКод);
			ДопЗнакиКода = "0";
			КонечныйКодПоиска = "";
			
			Пока ДлиннаКода <> 10 Цикл
				
				ДлиннаКода = ДлиннаКода + 1;
				КонечныйКодПоиска = КонечныйКодПоиска + "0";
				
			КонецЦикла;
			КонечныйКодПоиска = КонечныйКодПоиска + НачальныйКодПоиска;
			
			ФормаХодаФормированияЭСЧФ.КомментарийЗначения = КонечныйКодПоиска+" из "+Строка(ВерхнийПредел);
			ФормаХодаФормированияЭСЧФ.Значение = ФормаХодаФормированияЭСЧФ.Значение + 1;
			
			КодПоиска = КонечныйКодПоиска;
			ЕстьКод = Справочник.НайтиПоКоду(КодПоиска);
			
			Если НЕ ЗначениеЗаполнено(ЕстьКод) Тогда
				///Проверим статус
				НомерУНП     = Организация.ИНН;
				НомерЭСЧФ 	 = Строка(НомерУНП)+"-"+Строка(Формат(ДатаСовершенияОперации,"ДФ=гггг"))+"-"+Строка(Формат(КодПоиска,"ЧГ="));
				Попытка
					ВыполнитьСоединение();
					InvVatStatus = EVatService.GetStatus(НомерЭСЧФ);
					
					Если InvVatStatus = Неопределено Тогда
						Лог.Добавить(Строка(ТекущаяДата())+" | Ошибка статуса: TimeOut" ,,,БиблиотекаКартинок.СообщениеОшибка);
						Продолжить;
					КонецЕсли;
					
					res = InvVatStatus.Verify();
					if  InvVatStatus <>  0 then
						Статус=InvVatStatus.Status;
					else
						
						Лог.Добавить(Строка(ТекущаяДата())+" | Ошибка статуса: " +InvVatStatus.LastError,,,БиблиотекаКартинок.СообщениеОшибка);
						Продолжить
					endif;
					Если Статус = "NOT_FOUND" Тогда
						Продолжить
					Иначе
						НовыйОбъект = Справочник.СоздатьЭлемент();
						НовыйОбъект.Код = КодПоиска;
						НовыйОбъект.Статус = Статус;
						НовыйОбъект.Наименование = НомерЭСЧФ;
						НовыйОбъект.Записать();
					КонецЕсли;
				Исключение
					
				КонецПопытки;
			КонецЕсли;
			
		КонецЦикла;
		ФормаХодаФормированияЭСЧФ.Закрыть();
	Иначе
		СписокИсключения = Новый СписокЗначений;
		СписокИсключения.Добавить(Справочники.Контрагенты.НайтиПоКоду("000000044"));
		
		Запрос = Новый Запрос;
		Запрос.Текст =
		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
		|	РеализацияТоваровУслуг.Ссылка КАК Ссылка,
		|	РеализацияТоваровУслуг.Контрагент,
		|	РеализацияТоваровУслуг.ПунктРазгрузкиКонтрагента КАК ПунктРазгрузкиКонтрагента,
		|	РеализацияТоваровУслуг.ДоговорКонтрагента,
		|	РеализацияТоваровУслуг.Контрагент.ИНН КАК УНП,
		|	РеализацияТоваровУслуг.СуммаДокумента,
		|	РеализацияТоваровУслуг.НомерНакладной КАК БСО,
		|	РеализацияТоваровУслугТЧЭСЧФ.Статус,
		|	РеализацияТоваровУслугТЧЭСЧФ.Тип,
		|	РеализацияТоваровУслугТЧЭСЧФ.НомерЭСЧФ,
		|	ТЧ.Сумма,
		|	ТЧ.СуммаНДС,
		|	РеализацияТоваровУслугТЧЭСЧФ.ДатаПодписи,
		|	РеализацияТоваровУслугТЧЭСЧФ.СуммаБезНДС,
		|	РеализацияТоваровУслугТЧЭСЧФ.СуммаНДС КАК СуммаНДСЭСЧФ,
		|	РеализацияТоваровУслугТЧЭСЧФ.СуммаСНДС КАК СуммаЭСЧФ,
		|	РеализацияТоваровУслуг.Дата КАК Дата,
		|	РеализацияТоваровУслуг.ДокументПроверен
		|ИЗ
		|	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.ТЧЭСЧФ КАК РеализацияТоваровУслугТЧЭСЧФ
		|		ПО (РеализацияТоваровУслугТЧЭСЧФ.Ссылка = РеализацияТоваровУслуг.Ссылка)
		|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
		|			СУММА(РеализацияТоваровУслугТовары.Сумма) КАК Сумма,
		|			СУММА(РеализацияТоваровУслугТовары.СуммаНДС) КАК СуммаНДС,
		|			СУММА(1) КАК ID,
		|			РеализацияТоваровУслугТовары.Ссылка КАК Ссылка
		|		ИЗ
		|			Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
		|		
		|		СГРУППИРОВАТЬ ПО
		|			РеализацияТоваровУслугТовары.Ссылка
		|		
		|		ОБЪЕДИНИТЬ ВСЕ
		|		
		|		ВЫБРАТЬ
		|			СУММА(РеализацияТоваровУслугУслуги.Сумма),
		|			СУММА(РеализацияТоваровУслугУслуги.СуммаНДС),
		|			СУММА(2),
		|			РеализацияТоваровУслугУслуги.Ссылка
		|		ИЗ
		|			Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслугУслуги
		|		
		|		СГРУППИРОВАТЬ ПО
		|			РеализацияТоваровУслугУслуги.Ссылка) КАК ТЧ
		|		ПО РеализацияТоваровУслуг.Ссылка = ТЧ.Ссылка
		|ГДЕ
		|	РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
		|	И РеализацияТоваровУслуг.Проведен
		|	И НЕ РеализацияТоваровУслуг.ПометкаУдаления
		|	И НЕ РеализацияТоваровУслуг.Контрагент В ИЕРАРХИИ (&ГруппаИскл)
		|
		|СГРУППИРОВАТЬ ПО
		|	РеализацияТоваровУслуг.Ссылка,
		|	РеализацияТоваровУслуг.Контрагент,
		|	РеализацияТоваровУслуг.ПунктРазгрузкиКонтрагента,
		|	РеализацияТоваровУслуг.ДоговорКонтрагента,
		|	РеализацияТоваровУслуг.Контрагент.ИНН,
		|	РеализацияТоваровУслуг.СуммаДокумента,
		|	РеализацияТоваровУслуг.НомерНакладной,
		|	РеализацияТоваровУслугТЧЭСЧФ.Статус,
		|	РеализацияТоваровУслугТЧЭСЧФ.Тип,
		|	РеализацияТоваровУслугТЧЭСЧФ.НомерЭСЧФ,
		|	ТЧ.Сумма,
		|	ТЧ.СуммаНДС,
		|	РеализацияТоваровУслугТЧЭСЧФ.ДатаПодписи,
		|	РеализацияТоваровУслугТЧЭСЧФ.СуммаБезНДС,
		|	РеализацияТоваровУслугТЧЭСЧФ.СуммаНДС,
		|	РеализацияТоваровУслугТЧЭСЧФ.СуммаСНДС,
		|	РеализацияТоваровУслуг.Дата
		|
		|ОБЪЕДИНИТЬ ВСЕ
		|
		|ВЫБРАТЬ
		|	ВозвратТоваровПоставщику.Ссылка,
		|	ВозвратТоваровПоставщику.Контрагент,
		|	ВозвратТоваровПоставщику.ПунктРазгрузки,
		|	ВозвратТоваровПоставщику.ДоговорКонтрагента,
		|	ВозвратТоваровПоставщику.Контрагент.ИНН,
		|	ВозвратТоваровПоставщику.СуммаДокумента,
		|	ВозвратТоваровПоставщику.НомерНакладной,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.Статус,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.Тип,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.НомерЭСЧФ,
		|	ТЧ.Сумма,
		|	ТЧ.СуммаНДС,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.ДатаПодписи,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.СуммаБезНДС,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.СуммаНДС,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.СуммаСНДС,
		|	ВозвратТоваровПоставщику.Дата,
		|	ВозвратТоваровПоставщику.ДокументПроверен
		|ИЗ
		|	Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику
		|		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
		|			СУММА(1) КАК ID,
		|			СУММА(ВозвратТоваровПоставщикуТовары.Сумма) КАК Сумма,
		|			СУММА(ВозвратТоваровПоставщикуТовары.СуммаНДС) КАК СуммаНДС,
		|			ВозвратТоваровПоставщикуТовары.Ссылка КАК Ссылка
		|		ИЗ
		|			Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
		|		ГДЕ
		|			НЕ ВозвратТоваровПоставщикуТовары.СчетУчетаБУ В ИЕРАРХИИ (&СчетВозвратаИск)
		|		
		|		СГРУППИРОВАТЬ ПО
		|			ВозвратТоваровПоставщикуТовары.Ссылка
		|		
		|		ОБЪЕДИНИТЬ ВСЕ
		|		
		|		ВЫБРАТЬ
		|			СУММА(2),
		|			СУММА(ВозвратТоваровПоставщикуВозвратнаяТара.Сумма),
		|			СУММА(0),
		|			ВозвратТоваровПоставщикуВозвратнаяТара.Ссылка
		|		ИЗ
		|			Документ.ВозвратТоваровПоставщику.ВозвратнаяТара КАК ВозвратТоваровПоставщикуВозвратнаяТара
		|		
		|		СГРУППИРОВАТЬ ПО
		|			ВозвратТоваровПоставщикуВозвратнаяТара.Ссылка) КАК ТЧ
		|		ПО ВозвратТоваровПоставщику.Ссылка = ТЧ.Ссылка
		|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровПоставщику.ТЧЭСЧФ КАК ВозвратТоваровПоставщикуТЧЭСЧФ
		|		ПО ВозвратТоваровПоставщику.Ссылка = ВозвратТоваровПоставщикуТЧЭСЧФ.Ссылка
		|ГДЕ
		|	ВозвратТоваровПоставщику.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
		|	И ВозвратТоваровПоставщику.Проведен
		|	И НЕ ВозвратТоваровПоставщику.ПометкаУдаления
		|	И НЕ ВозвратТоваровПоставщику.Контрагент В ИЕРАРХИИ (&ГруппаИскл)
		|	И ТЧ.ID >= 1
		|
		|СГРУППИРОВАТЬ ПО
		|	ВозвратТоваровПоставщику.Ссылка,
		|	ВозвратТоваровПоставщику.Контрагент,
		|	ВозвратТоваровПоставщику.ПунктРазгрузки,
		|	ВозвратТоваровПоставщику.ДоговорКонтрагента,
		|	ВозвратТоваровПоставщику.Контрагент.ИНН,
		|	ВозвратТоваровПоставщику.СуммаДокумента,
		|	ВозвратТоваровПоставщику.НомерНакладной,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.Статус,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.Тип,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.НомерЭСЧФ,
		|	ТЧ.Сумма,
		|	ТЧ.СуммаНДС,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.ДатаПодписи,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.СуммаБезНДС,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.СуммаНДС,
		|	ВозвратТоваровПоставщикуТЧЭСЧФ.СуммаСНДС,
		|	ВозвратТоваровПоставщику.Дата
		|
		|УПОРЯДОЧИТЬ ПО
		|	Дата";
		Запрос.УстановитьПараметр("ГруппаИскл",СписокИсключения);	
		Запрос.УстановитьПараметр("ДатаНачала",НачалоДня(ДатаСовершенияОперации));
		Запрос.УстановитьПараметр("ДатаОкончания",КонецДня(ДатаСовершенияОперацииПо));
		Запрос.УстановитьПараметр("СчетВозвратаИск",Планысчетов.Хозрасчетный.НайтиПоКоду("002"));
		Результат = Запрос.Выполнить().Выгрузить();
		
		Справочник = Справочники.ЭСЧФ;
		Для Каждого Стр из Результат Цикл
			КодПоиска = Прав(Стр.НомерЭСЧФ,10);
			ЕстьКод = Справочник.НайтиПоКоду(КодПоиска);
			Если НЕ ЗначениеЗаполнено(ЕстьКод)Тогда
				НовыйОбъект = Справочник.СоздатьЭлемент();
				НовыйОбъект.Код = КодПоиска;
				//НовыйОбъект.Владелец = Стр.Ссылка;
				НовыйОбъект.ДокументРегистратор = Стр.Ссылка;
				НовыйОбъект.Контрагент = Стр.Контрагент;
				НовыйОбъект.СуммаБезНДС = Стр.СуммаБезНДС;
				НовыйОбъект.СуммаНДС = Стр.СуммаНДС;
				НовыйОбъект.СуммаСНДС = Стр.СуммаЭСЧФ;
				НовыйОбъект.ТипЭСЧФ = Стр.Тип;
				НовыйОбъект.Статус = Стр.Статус;
				НовыйОбъект.Наименование = Стр.НомерЭСЧФ;
				НовыйОбъект.Записать();	
			КонецЕсли;
		КонецЦикла;
		
	КонецЕсли;
Показать
4406. osharov_d 12.10.16 16:58 Сейчас в теме
(4405) keyn5565`, А потом мы удивляемся почему портал лежит )))
GOshaSaveiko; +1 Ответить
4488. Igor Igorevich 14.10.16 15:06 Сейчас в теме
(4391) Xershi, может я что-то пропустил.
Подскажи, пожалуйста, как получить csv-список через компоненту ?
4489. osharov_d 14.10.16 15:16 Сейчас в теме
4490. Xershi 1483 14.10.16 15:18 Сейчас в теме
(4488) Igor Igorevich, через компоненту никак. Мы говорили что есть такая кнопка на портале т.е. ручками.
4492. Igor Igorevich 14.10.16 15:34 Сейчас в теме
(4490) (4489) Как-то обсуждалось, что неплохо было-бы получать основные реквизиты не через GetEDoc, а через List.GetItemAttribute.
Недельку отсутствовал, так подумал что уже что-то допилили. Но оказалось, народ пошел обходными путями, что еще раз свидетельствует о плохой структуре функционала.
4494. Xershi 1483 14.10.16 15:46 Сейчас в теме
(4492) Igor Igorevich, в документации этого нет. Или вы о чем?
Используем то что дали! И задача успешно решена!
4508. Igor Igorevich 17.10.16 09:18 Сейчас в теме
Используем то что дали! И задача успешно решена!

(4494) Xershi, решено успешно - это пол дела (это про 1с), еще бы и работало успешно - было бы совсем хорошо (это я про работу портала).
А еще часто бывают недокументированные возможности, думал, что уже что-то известно или документацию не успели обновить.
4527. sassashok 18.10.16 09:42 Сейчас в теме
(4377) Dnki, Я вообще отказался от почти онлайн чтения - сделал 2 обработки - одна просто снимает входящие неподписанные с периодичностью ежедневно с созданием сразу документов ЭСЧФ в 1С, вторая уже обрабатывает ранее созданные документы и бухгалтер решение принимает - подписывать - неподписывать отправлять - не отправлять - в принципе в 1С красиво смотрятся все эти операции. Сделал поиск и сопоставление первичных доков с ЭСЧФ - контроль сумм при поиске (вынудили бухгалтера одной организации, говорят ЭСЧФ из-за тормознутости портала от некоторых контрагентов приходят аж в 3 экземплярах :) ). Не нравится только что у некоторых клиентов файлов очень много образуется - а сразу не удалишь - пока первичные доки не придут. Вот только с управлением вычетами ну никак - будут ли разработчики делать программный доступ к этой операции - может знает кто?
4530. Igor Igorevich 18.10.16 10:10 Сейчас в теме
(4527) sassashok, тоже столкнулся с проблемой сделать "управление вычетами" из 1с.
Только в "Клиентское ПО ЭСЧФ НДС.Руководство программиста" об этом даже намека нет.
Поэтому бухгалтера это делают вручную на портале.

Если кто найдет способ автоматизации вычетов, то пожалуйста, поделитесь.
4532. sassashok 18.10.16 10:33 Сейчас в теме
(4530) Igor Igorevich, Да ... бухгалтерам посоветовал писать и писать в МНС - пускай читают, читают, читаю ... короче как-то так ... Тут писал народ - "Верю в автоматизацию " - но я с годами работы понял - что в РБ чем больше автоматизируют - тем больше ручного участия человека. Кстати - деноминацию безболезнено пережили только те у кого ручной учет ;)
4373. Star_SU 12 11.10.16 16:57 Сейчас в теме
Пробовали выставить дополнительный ЭСЧФ в xml-файле указали какой счет-фактуру меняем, но портал выдал ошибку не соответствия формата. Тогда решили создать этот дополнительный ЭСЧФ на портале и обнаружили что можно выставить, но без ссылки на дополняемый ЭСЧФ. Чешу репу в недоумении – вроде согласно документации обязаны указывать номер исправляемого или в законодательстве что-то пропустил?
4375. Slypower 2 11.10.16 17:01 Сейчас в теме
(4373) Star_SU, Дополнительный - это возврат товара. И как вы хотите выставить возврат на возврат? Вы тот доп аннулируйте и выставьте нормальный. Доп выставляется только ссылкой на Исходный, исправленный.
4378. Dnki 4 12.10.16 01:55 Сейчас в теме
Кто знает про кодировку UTF-8 (без ВОМ)? Лично я - нет.

У меня такая проблема: из сотен клиентов у одного в упор не выгружаются файлы.
Он отправил отправил файл в тех.П. Пришел ответ:
"у Вас проблема в кодировке, в Вашем случае кодировка UTF-8, а нужно UTF-8 (без ВОМ). Измените кодировку и данная ЭСЧФ загрузится на портал...."

Моя челюсть отвисла. - Вопросов много:
- В 8-ке никакого преобразования, только штатный вывод:
Текст.ОткрытьФайл(ИмяФайла, "UTF-8");
Текст.ЗаписатьОбъявлениеXML();
Текст.ЗаписатьНачалоЭлемента("issuance");
- вопрос второй: ну если и есть какие-то разные масти УТФ, то что это за система, которая так нежно чувствительна к входному файлу? Я уже не говорю, что в 77 приходится перекодировать файл из 1251 с UTF, хоты ключ "encoding=" никто не отменял. Требование "только в УТФ-8" жесткое, слово 95% фирм работают только в 8-ке.

В общем, портальщикам не верю (напомню, такой-же проц-ой пользуются еще сотни предприятий). Но интересно знать: а вдруг правы! Второе, а кому-то еще такие песни заливают?
4379. Star_SU 12 12.10.16 07:56 Сейчас в теме
(4378) Dnki, Возможно в названии организации стоит какой нибудь недопустимый символ.
4380. keyn5565` 18 12.10.16 08:10 Сейчас в теме
(4378) Dnki,
Попробуй это.
Функция СохранитьXMLВФайл(ДопФайлОбъект,Фабрика,НомерФактуры)
	
	ЗаписьXML = Новый ЗаписьXML;
	ЗаписьXML.ОткрытьФайл(Каталог+"\invoice-"+НомерФактуры+".xml",);
	ЗаписьXML.ЗаписатьОбъявлениеXML();    
	Фабрика.ЗаписатьXML(ЗаписьXML, ДопФайлОбъект, "issuance");
	
	ЗаписьXML.Закрыть();
	Лог.Добавить(Строка(ТекущаяДата())+" | Файл сохранен: "+Каталог+"\invoice-"+НомерФактуры+".xml",,,БиблиотекаКартинок.ирТестирование);
	Счетчик = Счетчик + 1;
	
КонецФункции
Показать
4381. Slypower 2 12.10.16 09:20 Сейчас в теме
(4378) Dnki, либо в наименовании товара есть символ такие как: &. Тогда он будет ругаться. Попробуйте файл в тотале открыть через F3, посмотрите на что ругается
4382. Xershi 1483 12.10.16 09:38 Сейчас в теме
Кстати кто исходящие реализовывал исправленный/дополнительный и анулирование?

И подписанный входящий как анулируется? С нашей стороны должны быть какие-то телодвижения?
4383. Slypower 2 12.10.16 09:43 Сейчас в теме
(4382) Xershi, Просто аннулировать можно только на портале. Выставлять Доп, исправленный - это не сложно. Нужно соблюсти только пару правил и указать ссылку на исходный. Тогда на портале все сделается. Входящий аннулируется со стороны кто выставил, вы же только не подписывайте его и им сообщите, пусть выставят исправленный.
4384. Xershi 1483 12.10.16 09:52 Сейчас в теме
(4383) Slypower, не искал инфу в документации. Исходящий анулировать программно можно?

Про не подписанный входящие это понятно! Речь про подписанный входящие!?
4385. Slypower 2 12.10.16 10:06 Сейчас в теме
(4384) Xershi, Просто аннулировать программно нельзя. Входящие вы не можете аннулировать, только те, кто выставил могут.
основные правила стр 74-76
4386. Xershi 1483 12.10.16 10:08 Сейчас в теме
(4385) Slypower, а не просто можно?)

Входящие я читал что сначала аннулирует тот кто создал, а затем мы соглашаемся на аннулирование или работает по другому? Нам просто пока такого не делали.
4387. Slypower 2 12.10.16 10:14 Сейчас в теме
(4386) Xershi,
а не просто можно?)

выставив дополнительный или исправленный с ссылкой на исходный.
4388. Xershi 1483 12.10.16 10:23 Сейчас в теме
(4387) Slypower, ну это ход конем. Понял))
4389. пользователь 12.10.16 12:59
Сообщение было скрыто модератором.
...
4404. Xershi 1483 12.10.16 16:46 Сейчас в теме
И второе ты уверен что номера ты загнал входящих?
4408. heap 12.10.16 17:28 Сейчас в теме
Читаю поступившие в таблицу значений. Сохраняю соответствующие ХМЛ файлы на диске. Потом пытаюсь подписать и отправить. Получаю ответ портала, что сутки еще не прошли...

Вопрос: как обойти это ограничение? У меня в алгоритме должно работать считывание с портала документа по его номеру (InvVatXml = EVatService.GetEDoc(ТЗ.InvVatNumber);) для последующего подписания и отправки.
Как правильно сделать?
4409. Slypower 2 12.10.16 17:37 Сейчас в теме
(4408) heap, правильно при сохранении файлов сохранять еще и файлы sgn. А потом их и подписывать и отправлять на портал.
4411. heap 12.10.16 21:00 Сейчас в теме
(4409)(4409) В документации портала по использованию инструментов ActiveX про файлы типа *.sgn.xml нет ни одной фразы. Где можно почитать о них?
4412. osharov_d 13.10.16 03:28 Сейчас в теме
(4411) heap, это "терминология" взята из реализации через bat-файлы. Вы хотя бы рассматривали как в них реализовано скачивание входящих документов? Если в 2-х словах - то когда мы получаем с портала входящий ЭСЧФ, то изначально мы получаем документ с подписью отправителя, который можно сохранить в файл (он же *.sgn.xml). Из этого документа в свою очередь через свойство .Document мы получаем исходный XML-текст ЭСЧФ для разбора (*.xml). Так вот первый файл в дальнейшем можно загрузить обратно в компоненту ActiveX, подписать нашей подписью и отправить обратно на портал.
4413. Xershi 1483 13.10.16 08:44 Сейчас в теме
(4411) heap, я все слил с франчей. Хочешь чтобы проблем не было сохраняй. Этот файл это ЭЦП, а без ЭЦП как известно ничего подписать нельзя.
Для исходящих ее нет, потому что ты ее генерируешь сам при отправке, а вот для входящих иначе. Ее отправитель уже сгенерировал!
4414. ASDCXZ 13.10.16 09:04 Сейчас в теме
(4411) heap, Попробуйте что-то типа:
EDoc = EVatService.GetEDoc(НомерЭСЧФ);
res = EDoc.Document.SaveToFile(""+КаталогИБ()+"XML\"+НомерЭСЧФ+".xml");//просто xml-файл 
res2 = EDoc.SaveToFile(""+КаталогИБ()+"XML\"+НомерЭСЧФ+"_ticket.xml");//xml-файл с подписью - его потом и надо подписать и отправить


Естественно пути и имена файлов возьмите свои
4410. osharov_d 12.10.16 17:38 Сейчас в теме
(4408) heap, У вас в алгоритме должна работать загрузка в компоненту ранее сохраненного подписанного поставщиком файла *.sgn.xml, его подпись своей подписью и отправка. Никакого повторного скачивания. Только в случае если файл на диске по каким-то причинам не найден.
4415. prog_ivory 13.10.16 10:36 Сейчас в теме
добрый день. Есть у кого рабочий код по получению входящих и записи в 1с в виде документов с итоговыми суммами (тез табличной части)?
4416. Slypower 2 13.10.16 10:44 Сейчас в теме
(4415) prog_ivory, так вроде на странице ранее мы тебе скидывали, как делать. И уточнение, для 1с7.7 или 8?
4420. Xershi 1483 13.10.16 11:28 Сейчас в теме
(4415) prog_ivory, да. Выше все скидывали для обоих версий 1с.
4417. prog_ivory 13.10.16 11:05 Сейчас в теме
для 7. я уже ничего не соображаю с этими алгоритмами, что можно, что никак
4418. Slypower 2 13.10.16 11:23 Сейчас в теме
(4417) prog_ivory, напишите мне в л/с как называется ваш док, какие реквизиты или скиньте md ваш с этим доком и я вам скину решение
4436. prog_ivory 13.10.16 12:19 Сейчас в теме
(4418) Slypower, не вижу своего отправленного в лс. пишу сюда
номер ВходящаяЭСЧФ - текстовый, уникальный, длина 20 симв (унпКлиента-ЕгоНомерСФ). мысль была такая. может по другому нужно.
Прикрепленные файлы:
4438. osharov_d 13.10.16 12:40 Сейчас в теме
(4436) prog_ivory, А ничего в номере не забыли посчитать?
4441. Slypower 2 13.10.16 13:01 Сейчас в теме
(4436) prog_ivory, ну судя по картинке, у вас есть реквизиты таблицы дока, а вот сами реквизиты документа вы не показали
4419. ASDCXZ 13.10.16 11:24 Сейчас в теме
(4417) prog_ivory, К примеру после (4414) чтение реквизитов и атрибутов
УНППоставщика = EDoc.Document.GetXmlNodeValue("issuance/provider/unp");
СуммаДокументаСНДС=СтрВЧисло(EDoc.Document.GetXmlNodeAttribute("issuance/roster/totalCostVat"));
СуммаНДС=СтрВЧисло(EDoc.Document.GetXmlNodeAttribute("issuance/roster/totalVat"));

Аналогично читается и остальное
Получаются строки. Надо преобразовывать в числа.
Фрагмент для 1С 7.7
4421. ASDCXZ 13.10.16 11:31 Сейчас в теме
(4419) ASDCXZ, И ещё напоминалочка, может лишняя, : параметры реквизитов и аргументов xml-файла чувствительны к регистру
4422. Slypower 2 13.10.16 11:37 Сейчас в теме
(4421) ASDCXZ, это если их вносить в регистр. Вообще, этот док не должен делать движения по регистру, что относится к 1с7.7. Он в 1С несет чисто характер сведения, что было выставлено или принято. В новой обнове от Мисофта они добавили его видение в книгу покупок. И опять же, это чисто пояснительный характер. И регистр видит данные из документа, а не из файла.
4423. ASDCXZ 13.10.16 11:50 Сейчас в теме
(4422) Slypower, Я вообще-то имел в виду регистр символов параметров... :) А то с 1С сам об этом иногда забываю.
4426. Slypower 2 13.10.16 11:57 Сейчас в теме
(4423) ASDCXZ, это вы про 8-ку? подробнее бы узнать, а то начинаю делать обработку для нее, но саму 8-ку еще толком не знаю. Хочу пойти на курсы, вот выбираю, какие
4429. Xershi 1483 13.10.16 12:07 Сейчас в теме
(4426) Slypower, от гилева все бесплатно.
Оставьте свое сообщение

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