Понедельник, 29.12.2025, 13:05 Развлекательный портал | Сайт отдыха и юмора !
****** Кабачок по Пятницам ******* *** К П П ***
Главная Регистрация Вход Информер
Приветствую Вас, Гость · RSS

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
АЛКОДРОМ
volk13Дата: Пятница, 28.09.2012, 17:18 | Сообщение # 361
Кошевой Атаман
Quote (victuan)
Получатели иностранные организации

кстати - не путай меня! Получатели в справочник контрагентов в ДА не заводятся! Их идентифицировать не нужно! В справочник нужно грузить только Перевозчиков! Так вот для Перевозчиков физ.лиц - в ИдПеревозчика вставляй ИНН физ-лица. И всё будет чётко! (импорт перевозчика физ.лица и подстановку ИНН из ИдПеревозчика (так как больше неоткуда взять ИНН физ.лица) я уже реализовал)
 
Вниз▼
victuanДата: Пятница, 28.09.2012, 17:45 | Сообщение # 362
Quote (volk13)
Получатели в справочник контрагентов в ДА не заводятся! Их идентифицировать не нужно!

А как тогда ДА им присваивает id?
PS Да кто тебя путает, Базилио )))
 
Вниз▼
volk13Дата: Пятница, 28.09.2012, 18:07 | Сообщение # 363
Кошевой Атаман
Quote (victuan)
А как тогда ДА им присваивает id?

а это уж вопрос к программёрам ДА... smile Наверно берётся из соответствующих полей в форме ввода - ИНН и КПП грузополучателя и по ним формируется ИдПолучателя... Я так думаю... Но в справочнике контрагентов - Получатели не хранятся, отвечаю! Получатели (Наименование, ИНН и КПП) - хранятся только в соответствующих полях записей таблицы для декларации №8 (а именно в строковых полях p13, p14, p15 таблицы DecF8, если интересно). Всё!
Так что с получателями не заморачивайся - всё уже сделано и грузится как надо. Вопрос только с перевозчиком физ.лицом. Да и то вопроса, как такового, нет. Просто по нему отсутствует ИНН в хмл и я конечно-же могу его импортировать в справочник без ИНН и идентифицировать лишь по ФИО, но это не шибко кошерно (ведь могут быть полные тёзки!), поэтому я временно реализовал, что в поле ИНН в базе ДА ему записывается ИдПеревозчика из хмл-файла.
 
Вниз▼
EvgenAДата: Пятница, 28.09.2012, 19:16 | Сообщение # 364
Quote (volk13)
в поле ИНН в базе ДА ему записывается ИдПеревозчика из хмл-файла.

Да, ребята, скоро систему пролета ДА через космос прийдется выдумывать из-за корявого порядка предоставления деклараций. А не запустить ли в космос ФСРАР и пусть на орбите там болтаются - посадку не давать smile
 
Вниз▼
volk13Дата: Пятница, 28.09.2012, 21:20 | Сообщение # 365
Кошевой Атаман
EvgenA, не всё так грустно... БАЛДА спасёт мир... smile
 
Вниз▼
victuanДата: Суббота, 29.09.2012, 13:47 | Сообщение # 366
Quote (volk13)
Предлагаю тогда в атрибут ИдПеревозчика для физ.лиц пихать ИНН физ.лица

Этот вариант, к сожалению, не проходит:
В строке №2 Атрибут 'ИдПеревозчика' недействителен: значение '190307104987' недействительно с зрения его типа данных 'http://www.w3.org/2001/XMLSchema:int' — Строка '190307104987' не является допустимым значением Int32.
 
Вниз▼
volk13Дата: Суббота, 29.09.2012, 14:29 | Сообщение # 367
Кошевой Атаман
Quote (say)
но как обработать коллекцию ErrItem в 7ке? Никто не озадачивался этим?

ну для твоего примера - например так:

XMLDoc = CreateObject("Msxml2.DOMDocument.6.0");
XMLDoc.Async = "false";
XMLDoc.ValidateOnParse = "true";
Schema = СоздатьОбъект("Msxml2.XMLSchemaCache.6.0");

Schema.Add("",ПолноеИмяФайлаСхемы);
XMLDoc.Schemas = Schema;
XMLDoc.SetProperty("MultipleErrorMessages", "true");
XMLDoc.Load(ПолноеИмяФайла);
Ошибка = XMLDoc.ParseError;
Если Ошибка.ErrorCode <> 0 Тогда
НомОшибки = 1;
Пока 1 > 0 Цикл
Попытка
Сообщить("Ошибка №"+(НомОшибки)+" : "+СокрЛП(Ошибка.AllErrors.item(НомОшибки-1).reason));
Исключение
Прервать;
КонецПопытки;
НомОшибки = НомОшибки + 1;
КонецЦикла;
КонецЕсли;


cool

Только зачем тебе выводить все ошибки и засорять экран? Имхо достаточно вывода самой первой, и разбираться последовательно...
 
Вниз▼
volk13Дата: Суббота, 29.09.2012, 14:34 | Сообщение # 368
Кошевой Атаман
Quote (victuan)
Этот вариант, к сожалению, не проходит:

Значит надо делать для Физ.Лиц-Перевозчиков не кошерно - т.е. записывать их без ИНН и идентифицировать по ФИО (в случае декларации №8). Согласен?
 
Вниз▼
victuanДата: Суббота, 29.09.2012, 14:39 | Сообщение # 369
volk13, еще вариант есть. В качестве ИД использовать не весь ИНН, а только первые 10 символов. А оставшиеся два восстанавливать БАЛДой. Дело в том, что последние два символа это контрольная сумма первых десяти по особому алгоритму. Алгоритм могу выслать.

Добавлено (29.09.2012, 14:39)
---------------------------------------------

Quote (volk13)
Согласен?

а вообще я согласен. Даже РАР не разберет тезки это или нет, т.к. в файле нет достаточной инфы.
 
Вниз▼
volk13Дата: Суббота, 29.09.2012, 14:46 | Сообщение # 370
Кошевой Атаман
Quote (victuan)
Алгоритм могу выслать

давай алгоритм, погляжу, пригодится.
и подумаю ещё вообще...
 
Вниз▼
victuanДата: Суббота, 29.09.2012, 14:48 | Сообщение # 371
Функция глПроверкаИНН(INN) Export //тщи
var q12[11];
var c, i,j,CRC;

Если стрДлина(INN)<>12 Тогда
Возврат 1
КонецЕсли;

q12[1]=3; q12[2]=7; q12[3]=2; q12[4]=4; q12[5]=10; q12[6]=3; q12[7]=5; q12[8]=9; q12[9]=4; q12[10]=6; q12[11]=8;

ValidINN=0; INN1=trimAll(INN);
if INN1="" then return ValidINN endif;
if StrLen(INN1)=12 then
c=0;
for i=1 to 10 do
j=mid(INN1,i,1);
if (j<"0") or (j>"9") then
//Message("В ИНН должны быть цифpы!");
ValidINN=0; Return ValidINN
endif;
j=Number(j);
c=c+j*q12[i+1]
enddo;
CRC= (c % 11) % 10;

c=0;
for i=1 to 10 do
j=Number(mid(INN1,i,1));
c=c+j*q12[i]
enddo;
c=c+CRC*q12[11];
CRC= CRC*10+ (c % 11) % 10;
j=mid(INN1,11,2);
if (j<"00") or (j>"99") then
//Message("В ИНН должны быть цифpы!");
ValidINN=0; Return validINN
endif;
j=Number(j);
if j<>CRC then
//Message("Такой ИНН не существует!");
ValidINN=0; Return validINN
endif;
else
//Message("В ИНН должны быть ровно 12 цифр!");
ValidINN=0; Return validINN
endif;
Return 1
КонецФункции
 
Вниз▼
volk13Дата: Суббота, 29.09.2012, 15:54 | Сообщение # 372
Кошевой Атаман
Короче, подумал ещё раз хорошЕнько... и окончательно переделал так, что для декларации №8 идентификация Перевозчиков-Физиков будет без лишних заморочек, только по ФИО (раз такой вариант устраивает ФСРАР). Ну и импортироваться в базу Перевозчики-Физики будут с пустым ИНН (раз его нет в файле хмл декларации №8).
Решено.
 
Вниз▼
victuanДата: Суббота, 29.09.2012, 15:56 | Сообщение # 373
А если Физик был раньше импортирован с ИНН из другой декларации, то при импорте из 8 будет дубль физика, но без ИНН?
Я кстати, у себя уже реализовал вариант выгрузки 8 формы с ид = Лев(ИНН,10), убирать?
 
Вниз▼
volk13Дата: Суббота, 29.09.2012, 16:07 | Сообщение # 374
Кошевой Атаман
Quote (victuan)
А если Физик был раньше импортирован с ИНН из другой декларации, то при импорте из 8 будет дубль физика, но без ИНН?

нет, дубля не будет, возьмётся тот, что уже есть в БАЗЕ ДА.

Quote (victuan)
ид = Лев(ИНН,10), убирать?

а чё, нормальный вариант формирования Ид, пусть так и останется. Тебе самому потом проще идентифицировать в хмл-файле физиков по такому Ид. Но в БАЛДЕ этот Ид анализироваться не будет. Мне кажется так правильней, раз ФСРАРУ НафСРАриТЬ на ИНН физика-перевозчика.
 
Вниз▼
victuanДата: Суббота, 29.09.2012, 16:13 | Сообщение # 375
Понял, буду убирать. Это я просто под Балду подстраивался.
 
Вниз▼
volk13Дата: Суббота, 29.09.2012, 18:06 | Сообщение # 376
Кошевой Атаман
НАИСВЕЖАЙШАЯ БАЛДА! (версия 120929)



В этой версии:
- добавлена возможность импорта и обработки декларации №8 !
- исправлены обнаруженые ранее ошибки
.

Качаем ТУТ

жду результатов тестирования
 
Вниз▼
EvgenAДата: Суббота, 29.09.2012, 18:37 | Сообщение # 377
Как скачать 120929 версию? Ссылка не опубликована?

Добавлено (29.09.2012, 18:37)
---------------------------------------------
разобрался, привычная ссылка заменена на скриншот wink

 
Вниз▼
victuanДата: Суббота, 29.09.2012, 19:04 | Сообщение # 378
volk13, потестил.
1) При проверке файла:
...Поехали... (проверка арифметики декларации №8 за 1 Квартал 2012 г. в xml-файле)...
Значение не представляет агрегатный объект (ПолучитьАтрибут)

2) Та же ошибка при загрузке файла (файл отправил на мыло):
...Обновляем справочник перевозчиков...
...Загружено 3, перезаписано 0 контрагентов...
Значение не представляет агрегатный объект (ПолучитьАтрибут)

3) Итог по грузоподъемности забыл показать при проверке арифметики ))
 
Вниз▼
volk13Дата: Суббота, 29.09.2012, 19:38 | Сообщение # 379
Кошевой Атаман
Quote (victuan)
файл отправил на мыло

ок, завтра гляну...
 
Вниз▼
volk13Дата: Суббота, 29.09.2012, 19:41 | Сообщение # 380
Кошевой Атаман
Quote (victuan)
Итог по грузоподъемности забыл показать

а зачем? что этот итог даёт? это-же грузоподъёмность транспорта и не более... или ты прикалываешься? smile
 
Вниз▼
Поиск:

Copyright PL1C © 2025