|
АЛКОДРОМ
|
|
| 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? а это уж вопрос к программёрам ДА... Наверно берётся из соответствующих полей в форме ввода - ИНН и КПП грузополучателя и по ним формируется ИдПолучателя... Я так думаю... Но в справочнике контрагентов - Получатели не хранятся, отвечаю! Получатели (Наименование, ИНН и КПП) - хранятся только в соответствующих полях записей таблицы для декларации №8 (а именно в строковых полях p13, p14, p15 таблицы DecF8, если интересно). Всё! Так что с получателями не заморачивайся - всё уже сделано и грузится как надо. Вопрос только с перевозчиком физ.лицом. Да и то вопроса, как такового, нет. Просто по нему отсутствует ИНН в хмл и я конечно-же могу его импортировать в справочник без ИНН и идентифицировать лишь по ФИО, но это не шибко кошерно (ведь могут быть полные тёзки!), поэтому я временно реализовал, что в поле ИНН в базе ДА ему записывается ИдПеревозчика из хмл-файла.
| | |
| |
| EvgenA | Дата: Пятница, 28.09.2012, 19:16 | Сообщение # 364 |
|
| Quote (volk13) в поле ИНН в базе ДА ему записывается ИдПеревозчика из хмл-файла. Да, ребята, скоро систему пролета ДА через космос прийдется выдумывать из-за корявого порядка предоставления деклараций. А не запустить ли в космос ФСРАР и пусть на орбите там болтаются - посадку не давать
| | |
| |
| volk13 | Дата: Пятница, 28.09.2012, 21:20 | Сообщение # 365 |
 Кошевой Атаман
| EvgenA, не всё так грустно... БАЛДА спасёт мир...
| | |
| |
| 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; КонецЦикла; КонецЕсли;
Только зачем тебе выводить все ошибки и засорять экран? Имхо достаточно вывода самой первой, и разбираться последовательно...
| | |
| |
| volk13 | Дата: Суббота, 29.09.2012, 14:34 | Сообщение # 368 |
 Кошевой Атаман
| Quote (victuan) Этот вариант, к сожалению, не проходит: Значит надо делать для Физ.Лиц-Перевозчиков не кошерно - т.е. записывать их без ИНН и идентифицировать по ФИО (в случае декларации №8). Согласен?
| | |
| |
| victuan | Дата: Суббота, 29.09.2012, 14:39 | Сообщение # 369 |
|
| volk13, еще вариант есть. В качестве ИД использовать не весь ИНН, а только первые 10 символов. А оставшиеся два восстанавливать БАЛДой. Дело в том, что последние два символа это контрольная сумма первых десяти по особому алгоритму. Алгоритм могу выслать. Добавлено (29.09.2012, 14:39) ---------------------------------------------
а вообще я согласен. Даже РАР не разберет тезки это или нет, т.к. в файле нет достаточной инфы.
| | |
| |
| 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) --------------------------------------------- разобрался, привычная ссылка заменена на скриншот 
| | |
| |
| 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) Итог по грузоподъемности забыл показать а зачем? что этот итог даёт? это-же грузоподъёмность транспорта и не более... или ты прикалываешься?
| | |
| |