Структура XML приложений 7 и 8 к ФНО 300.00
|
Matiss
Нерезидент Баланса
|
|
|
|
#1 Чт Май 14, 2009 13:33:04
|
Сообщить модератору
|
|
С целью сделать загрузку реестров решил ознакомиться со структурой xml-файлов в СОНО и вот что получилось
В незаполненой сохраненной в формате xml 300-й декларации в структуре 7-го приложения вроде все просто: блок <sheetGroup> с двумя блоками <sheet> по количеству страниц с 14-ю строками в каждой. Тэг <pagenumber> даже имеется для нумерации страниц. Вроде все просто, но не тут-то было.
Заполнил ручками в приложении около 20 строк и снова сохранил в xml. В файле появилось 2 блока <sheetGroup> видимо по предполагаемому количеству страниц. Номер 2-й страницы остался 001. Часть строк 2-й страницы вылезло в шапку неоформленная тегами <row>, а количество строк сократилось почему-то с 14 до 11.
Прибавить к этому разбор тэгов всех полей только по свойству "name" и разный порядок полей в структуре для всех строк формы и у меня закрадывается подозрение, что в НК из этих реестров х... очень немного увидят.
Скорее всего отправим сейчас без реестров, а реестры дошлём дополнительными как все утрясётся...
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Electra
Нерезидент Баланса
|
|
|
|
#2 Чт Май 14, 2009 14:29:40
|
Сообщить модератору
|
|
Matiss говорит: |
С целью сделать загрузку реестров решил ознакомиться со структурой xml-файлов в СОНО и вот что получилось
В незаполненой сохраненной в формате xml 300-й декларации в структуре 7-го приложения вроде все просто: блок <sheetGroup> с двумя блоками <sheet> по количеству страниц с 14-ю строками в каждой. Тэг <pagenumber> даже имеется для нумерации страниц. Вроде все просто, но не тут-то было.
Заполнил ручками в приложении около 20 строк и снова сохранил в xml. В файле появилось 2 блока <sheetGroup> видимо по предполагаемому количеству страниц. Номер 2-й страницы остался 001. Часть строк 2-й страницы вылезло в шапку неоформленная тегами <row>, а количество строк сократилось почему-то с 14 до 11.
Прибавить к этому разбор тэгов всех полей только по свойству "name" и разный порядок полей в структуре для всех строк формы и у меня закрадывается подозрение, что в НК из этих реестров х... очень немного увидят.
Скорее всего отправим сейчас без реестров, а реестры дошлём дополнительными как все утрясётся... |
Я тоже пыталась разобраться с xml-файлом. Но оказалось всё намного сложнее, чем показалось на первый взгляд! почему нет единой структуры полей <field>, раскидывает в разном порядке. Плюс невозможно прочесть сам код, идёт сплошным текстом, строки не отделяются tabом, поэтому оч.сложно увидеть иерархию и вообще что либо найти. В старых формах можно было что-то ручками отредактиоровать в самом коде, то теперь это не представляется возможным. Раньше мы садили из екселя с помощью макроса данные в xml-файл теперь же не понятно как это сделать. У кого ещё какие идеи по этому поводу?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
ЕщеОдинБух
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Matiss
Нерезидент Баланса
|
|
|
|
#4 Чт Май 14, 2009 15:19:53
|
Сообщить модератору
|
|
ЕщеОдинБух
Вот-вот. И теперь только ждать в какое полу... клюнет петух разработчиков, когда они решать изпользовать тег <sheetGroup> в качестве разделителя страниц или нет :evil:
Electra
Переделать код на использование поля name несложно. Разделение табом или концом строки делается автозаменой в Worde. А вот когда сохраняешь в Word'е как текст, файл в СОНО не импортируется! Там какой-то символ стоит в начале и СОНО его не читает. Так что использовать Word в качестве XML-редактора теперь проблематично Приходится открывать в Word как текст, сохранять как текст, потом открывать как XML и пересохранять как XML.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Electra
Нерезидент Баланса
|
|
|
|
#5 Чт Май 14, 2009 15:42:55
|
Сообщить модератору
|
|
Electra
Переделать код на использование поля name несложно. Разделение табом или концом строки делается автозаменой в Worde.
Автозамена не получилась, можно пошагово написать как это делается?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
ЕщеОдинБух
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Electra
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
ЕщеОдинБух
Нерезидент Баланса
|
|
|
|
#8 Чт Май 14, 2009 16:11:56
|
Сообщить модератору
|
|
Я копировал структуру в IE вставлял в 1С путем создания объекта текст с разделением строк и сохранял потом этот текст в xml.
А в 1С я делал с ним все что хотел и теги менял местами, чтобы шли по порядку и т.д. И созданные формы потом импортировались в Соно все путем.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Matiss
Нерезидент Баланса
|
|
|
|
#9 Чт Май 14, 2009 23:44:17
|
Сообщить модератору
|
|
Electra
Что-то я не то ляпнул - не автозамена конечно-же, а обычный поиск - "Найти-Заменить". Если в диалоге замены щёлкнуть кнопку [Больше>>], то внизу можно кнопкой выбрать спец. символ - знак абзаца или табуляции, в текстовом поле отобразится ^p или ^t соответственно. В итоге получаем: найти - "><", заменить на ">^t<" или ">^p<". Можно абзац вставить после конкретного тега, скажем после sheet и т.д.
ЕщеОдинБух
Это в какой версии 1С такое? В 8-ке? В 7.7 что-то я таких возможностей не припомню.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
ЕщеОдинБух
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#11 Пт Май 15, 2009 09:59:47
|
Сообщить модератору
|
|
На 1с не программирую, но могу вставить свои две копейки.
Сначала надо разобрать XML, вставив где надо переводы строк.
'><fno>' +Chr(13)+Chr(10)+ '<fno></fno>' +Chr(13)+Chr(10)+ '</fno><form>' +Chr(13)+Chr(10)+ '<form></form>' +Chr(13)+Chr(10)+ '</form><sheet>' +Chr(13)+Chr(10)+ '<sheet></sheet>' +Chr(13)+Chr(10)+ '</sheet><row>' +Chr(13)+Chr(10)+ '<row></row>' +Chr(13)+Chr(10)+ '</row><field>' +Chr(13)+Chr(10)+ '<field'
Получается удобочитаемый текстовый файл.
Теги действительно можно поменять местами по порядку, чтобы каши не было.
Если кого-то заинтересует, кусок кода (Visual Foxpro)
Читаем из таблицы, выводим в текстовый файл.
i=0
First=.T.
\\<form>
do while .not. Eof()
\<sheetGroup>
\<sheet>
\<field><<Year>></field>
\<field><<Quarter>></field>
\<field><<Rnn>></field>
\<field>
\<field>001</field>
\<field>
SaveI=i
Recn=recno()
for j=1 to 14
i=i+1
\<row>
\<field><<transform>></field>
\<field><<alltrim>></field>
\<field></field>
\<field><<alltrim>></field>
\<field><<chrtran>></field>
\</row>
skip
if Eof()
exit
endif
endfor
\</sheet>
\<sheet>
\<field><<Year>></field>
\<field><<Quarter>></field>
\<field><<Rnn>></field>
\<field>
\<field>001</field>
\<field>
*** Итог только на первом листе.
if First
First=.F.
\<field><<alltrim>></field>
\<field><<alltrim>></field>
else
\<field>
\<field>
endif
i=SaveI
go Recn
for j=1 to 14
i=i+1
\<row>
\<field><<transform>></field>
\<field><<alltrim>></field>
\<field><<alltrim>></field>
\<field><<alltrim>></field>
\<field>
\<field>
\<field>
\</row>
skip
if Eof()
exit
endif
endfor
\</sheet>
\</sheetGroup>
enddo
\</form>
Программисты поймут. Это работает и уже отправлено.
Добавлено спустя 5 минут 26 секунд:
Ужос, скорее всего никто не поймет.
Движок сайта все сообщение побил.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Matiss
Нерезидент Баланса
|
|
|
|
#12 Пт Май 15, 2009 13:29:43
|
Сообщить модератору
|
|
ЕщеОдинБух
Вроде в 7-ке поддержки UTF-8 не было? Или я чего-то пропустил?
IgorS
Да уж, информативное сообщение получилось :lol: !
to All
На кой ляд поля типа "n_fw", "n_hw" и т.п.? СОНО туда ничего нужного не записывает?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#13 Пт Май 15, 2009 17:50:41
|
|
|
>Вроде в 7-ке поддержки UTF-8 не было? Или я чего-то пропустил?
Нет. Но функции AnsiToUtf8 и Utf8ToAnsi можно реализовать в 1С (как это сделано сейчас)
или написать внешнюю dll.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#14 Пн Май 18, 2009 15:37:47
|
Сообщить модератору
|
|
Electra говорит: |
Плюс невозможно прочесть сам код, идёт сплошным текстом, строки не отделяются tabом, поэтому оч.сложно увидеть иерархию и вообще что либо найти. |
Matiss говорит: |
Разделение табом или концом строки делается автозаменой в Worde. А вот когда сохраняешь в Word'е как текст, файл в СОНО не импортируется! Там какой-то символ стоит в начале и СОНО его не читает. Так что использовать Word в качестве XML-редактора теперь проблематично Приходится открывать в Word как текст, сохранять как текст, потом открывать как XML и пересохранять как XML. |
Делюсь трехкнопочной программулинкой, которую мне любимый наклепал на коленке.
Тупо разбивает одну длинную строку на вменяемые и читаемые тэги по строкам.
Сохраняет в указанный вами файл.
После разбивки новый файл загружается в СОНО так же беспроблемно, т.к. никаких лишних символов, как WORD, не добавляет.
Вдруг, думаю, кому их программеров пригодится...
Но вот только что-то мне подсказывает, что пригодиться она может только для всех остальных ФНО, кроме все той же Ф300.00. Это так?
Объясните мне, неразумной, а что, в связи с выходом последних обновлений понятия "Ф300.00" и "Сохранить в XML" и "Импортировать XML" не совместимы?
Пыталась сохранить в xml-файл совершенно пустую Ф300, чтобы посмотреть, не изменились ли там тэги, так она вместо расширения .xml предлагает мне почему-то .tar.bz2
Пытаюсь сохранить в тот формат, что они предлагают.
Пишет "Сохранение большой ФНО в xml" и тишина...
Да какая она, большая!? Пустая же.
Но, тем не менее, ничего не сохраняет. Результат 0%
Попыталась расширение .xml вручную прописать (по агалогии с тем, что мы в ключах сами расширение дописывали), так она в строке все-равно к нему еще .tar.bz2 дописала. Я стерла. Нажала "сохранить"
Так же висит...
И какой вывод? Вручную в новых версиях заполнить Приложения 7 и 8 нельзя. Это мы уже знаем.
А из xml загрузить их тоже, получается, теперь будет нельзя?
Только через Excel? Этот вариант единственный? А как же XML? А как быть тем, у кого только OpenOffice, а таких все больше становится? Им ведь по любому без XML не обойтись.
Matiss говорит: |
to All
На кой ляд поля типа "n_fw", "n_hw" и т.п.? СОНО туда ничего нужного не записывает? |
Тоже не поняла.
А так же не поняла предназначения тэгов "dt_w" и "dt_w_2" в начале самой Декларации.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#15 Пн Май 18, 2009 15:50:14
|
Сообщить модератору
|
|
Elis
у меня правда восьмерка, но я без проблем гружу всю форму через хмl. Проблема пока одна. первый лист собака не печатает.
а так все нормально. Все воскресенье разбирал в чем разница в структуре когда выгружаешь из 1с и потом запоминаешь через соно. или руками и также запоминаешь. разница только в том что тэги местами поменяны. Кстати тоже интересно. но не печатает.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#16 Пн Май 18, 2009 16:09:23
|
Сообщить модератору
|
|
А реестры 7 и 8 через импорт XML заполняет?
Перемена тэгов местами, как я на опыте поняла, ни на что не влияет. Лишь бы в пределах группы было все нормально.
Я у себя все по порядку выстроила. Как на бланке идет, так и в xml сделала.
Но вот любой xml с обоими реестрами (пробовала, правда, пока только количеством около 400 строк в общей сумме) в старую Ф300 нормально загружаются, и видно, как суммы в Реестры все попадают. А как в СОНО новую версию Ф300 заливаю, так импорт xml в реестрах пустое поле отоображает. Не знаю даже где рыть теперь. Очень помощь нужна.
gsg говорит: |
Все воскресенье разбирал в чем разница в структуре когда выгружаешь из 1с и потом запоминаешь через соно. или руками и также запоминаешь. |
Вот что-то ваша фраза "или руками и также запоминаешь" мне подсказывает, что вы новую Ф300 в СОНО не залили. В новой Реестры руками в принципе невозмоджно набрать. Там одно большое белое поле.
Или я не во всем еще разобралась?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#18 Пн Май 18, 2009 16:24:12
|
Сообщить модератору
|
|
Вопрос снят.
Прочитала Инструкцию http://balans.kz/viewtopic.php?p=193423#193423
Мои догадки подтвердились. В новой версии Ф300 нельзя теперь через xml импортировать Реестры, т.е. Приложения 3, 7 и 8.
Только прогонять их через Excel
Плохо. Очень плохо. У меня становится все больше клиентов, которые отказываются от нелицензионного Excel в пользу бесплатного OpenOffice.
А до 1 июля (окончание моратория на проверки) таких станет еще больше. Что будем делать со сдаче отчетов за II квартал - ума не приложу.
Основную форму Декларации со всеми остальными Приложениями вполне можно импортировать через XML.
Но тут возникает второй вопрос - сохранения Декларации Ф300.00 в XML файл теперь невозможно.
Только в архив .tar.bz2
Так каким образом мы будем выяснять, что изменилась структура xml и главное, какая она теперь?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#19 Пн Май 18, 2009 16:33:28
|
Сообщить модератору
|
|
не пойму, Elis, может я что то неправильно делаю. Поставил обновление Ф300. выгрузил регламентированный 300 в xml. зашел в сону, загрузил. все загрузилось. не пойму в чем проблем.
сохранил в xml тоже без проблем. правда в одну строку. пригодилась прога от любимого. разобрала на тэги. может в другом проблем
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#20 Пн Май 18, 2009 16:38:37
|
Сообщить модератору
|
|
Проверьте две вещи, чтобы убедиться, что вы именно новую Ф300 загрузили:
1) Создайте вручную пустую Ф300.00 (Список Форм - Заполнить), зайдите в Реестры, должно быть одно большое пустое поле.
2) Распечатайте первый лист. Штрих-код верный: 8-300-000-100-000
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#22 Пн Май 18, 2009 17:29:08
|
|
|
Elis говорит: |
Делюсь трехкнопочной программулинкой, которую мне любимый наклепал на коленке. |
Не сочтите за рекламу, мне для редактирования xml очень нравится Ultraedit text editor (http://www.ultraedit.com).
В нем эффективно редактировать большие файлы (в несколько сотен Мб, самый большой был за Гб)...
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Алька_Uralsk
Нерезидент Баланса
|
|
|
|
#23 Вт Май 19, 2009 12:29:28
|
Сообщить модератору
|
|
Я тут пробежалась по строчкам. Знаете я не программист - простой смертный бухгалтер и нашла выход из положения проще. Конечно, на это потребуется время, но тем не менее, 300-я по одному предприятию ушла со всеми приложениями именно после такого заполнения - почти вручную. По двум другим предприятиям отправила нулёвки, сейчас добиваю допки по ним. Система, позволяющая сократить вбивание счетов вручную и практически исключающая ошибки заполнения:
1. в 1С заполняю 8 приложение
2. сохраняю как Exsel
3. В соно открываю чистый бланк 300 по предприятию для заполнения
4. открываю сохраненный файл Exsel
5. из строки состояния (именно из строки состояния) вырезаю РНН поставщика, номер счета-фактуры, дату и пр. - и вставляю в СОНО - по очереди конечно
6. то же самое - с 7 приложением шаги 1-5
7. заполняю основную декларацию - сохраняю - всё видит, всё сохраняет и всё отправляет.
Понимаю - долго. Просто за 2 квартал можно начать уже сейчас заполнять, периодически сохраняя в XML. Может кого такой вариант устроит, пока наши программисты будут искать выход из положения. СПАСИБО ИМ ОГРОМНОЕ!!!!!!! ПРЕКЛОНЯЮ КОЛЕНИ!!!!
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#24 Вт Май 19, 2009 12:44:41
|
Сообщить модератору
|
|
Вашим программистам надо указать выход из организации, а вам чуть помедленнее бегать по строчкам.
Новая 300 ф. не предусматривает заполнения вручную (см. сообщение http://balans.kz/viewtopic.php?p=193827#193827), зато сама импортирует файлы Excel, с которыми вы так мучаетесь.
Добавлено спустя 1 минуту 40 секунд:
Сохранять периодически в XML не нужно. Я вчера импортировал за минуту реестр с 17 000 с/ф. И вы сможете, когда настанет второй квартал.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#25 Вт Май 19, 2009 12:52:14
|
Сообщить модератору
|
|
.det
вопрос. не пробовал случайно, если не обновлять 300 форму в соне. в старой выгрузка с 8-ки работала на ура. вся форма выгружалась через xml. Интересно что будет?
Добавлено спустя 57 секунд:
всмысле примется форма или нет.
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Алька_Uralsk
Нерезидент Баланса
|
|
|
|
#27 Вт Май 19, 2009 13:17:40
|
Сообщить модератору
|
|
.det говорит: |
Вашим программистам надо указать выход из организации, |
вообще то я имела ввиду программистов отсюда - с баланса. импортировать из Exsel не получается. у меня почему-то ссылка с инструкцией по 300 форме не открывается, скачать не могу, а так угадать какой номер листа ставить и какую задать первую ячейку я не рискну. отправляется, если вручную забить - нормально всё
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#28 Вт Май 19, 2009 13:18:27
|
Сообщить модератору
|
|
это я понял. читать умею.
если не менять ф300, то ВСЕ выгружается нормально.
Оно что не уйдет на сервер и не будет принято?
Я так понимаю ты не пробовал. У меня есть одна фирма. хочу попробовать. все взять из xml и 300 отправить.
Добавлено спустя 5 минут 37 секунд:
Алька_Uralsk
дай свой мыл отправлю и новую и старую 300 форму
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Алька_Uralsk
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
#32 Чт Июл 09, 2009 11:27:48
|
Сообщить модератору
|
|
Не могу понять.
В старую СОНО декларация Ф300 без реестров из xml импортировалась, а в новую не хочет.
Они изменили структуру xml-файлов? Но новой Ф300 мы же не заливали?
В чем может быть проблема?
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Baltazawr
Нерезидент Баланса
|
|
|
|
#33 Чт Июл 09, 2009 15:30:35
|
Сообщить модератору
|
|
Алька_Uralsk говорит: |
Я тут пробежалась по строчкам. Знаете я не программист - простой смертный бухгалтер и нашла выход из положения проще. Конечно, на это потребуется время, но тем не менее, 300-я по одному предприятию ушла со всеми приложениями именно после такого заполнения - почти вручную. По двум другим предприятиям отправила нулёвки, сейчас добиваю допки по ним. Система, позволяющая сократить вбивание счетов вручную и практически исключающая ошибки заполнения:
1. в 1С заполняю 8 приложение
2. сохраняю как Exsel
3. В соно открываю чистый бланк 300 по предприятию для заполнения
4. открываю сохраненный файл Exsel
5. из строки состояния (именно из строки состояния) вырезаю РНН поставщика, номер счета-фактуры, дату и пр. - и вставляю в СОНО - по очереди конечно
6. то же самое - с 7 приложением шаги 1-5
7. заполняю основную декларацию - сохраняю - всё видит, всё сохраняет и всё отправляет.
Понимаю - долго. Просто за 2 квартал можно начать уже сейчас заполнять, периодически сохраняя в XML. Может кого такой вариант устроит, пока наши программисты будут искать выход из положения. СПАСИБО ИМ ОГРОМНОЕ!!!!!!! ПРЕКЛОНЯЮ КОЛЕНИ!!!! |
а еще вариант просто купить чистых бланков и заполнять от руки всю инфу, зато если у сервера голова заболит, то вы сможете по почте переслать всю форму.
Вариант!!!
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
Kuryshev
Нерезидент Баланса
|
|
|
|
|
За помощь кликните ′Спасибо′ →
|
|
|
|