» Казахстанский Бухгалтерский форум www.balans.kz

Структура XML приложений 7 и 8 к ФНО 300.00

 
Показать сообщения:
Начиная со старых .::. Начиная с новых


Автор: Matiss
Добавлено: #1  Чт Май 14, 2009 13:33:04
Заголовок сообщения: Структура XML приложений 7 и 8 к ФНО 300.00

С целью сделать загрузку реестров решил ознакомиться со структурой xml-файлов в СОНО и вот что получилось
В незаполненой сохраненной в формате xml 300-й декларации в структуре 7-го приложения вроде все просто: блок <sheetGroup> с двумя блоками <sheet> по количеству страниц с 14-ю строками в каждой. Тэг <pagenumber> даже имеется для нумерации страниц. Вроде все просто, но не тут-то было.
Заполнил ручками в приложении около 20 строк и снова сохранил в xml. В файле появилось 2 блока <sheetGroup> видимо по предполагаемому количеству страниц. Номер 2-й страницы остался 001. Часть строк 2-й страницы вылезло в шапку неоформленная тегами <row>, а количество строк сократилось почему-то с 14 до 11.
Прибавить к этому разбор тэгов всех полей только по свойству "name" и разный порядок полей в структуре для всех строк формы и у меня закрадывается подозрение, что в НК из этих реестров х... очень немного увидят. :crazy:

Скорее всего отправим сейчас без реестров, а реестры дошлём дополнительными как все утрясётся...



Автор: Electra
Добавлено: #2  Чт Май 14, 2009 14:29:40
Заголовок сообщения: Re: Структура XML приложений 7 и 8 к ФНО 300.00

Matiss говорит:
С целью сделать загрузку реестров решил ознакомиться со структурой xml-файлов в СОНО и вот что получилось
В незаполненой сохраненной в формате xml 300-й декларации в структуре 7-го приложения вроде все просто: блок <sheetGroup> с двумя блоками <sheet> по количеству страниц с 14-ю строками в каждой. Тэг <pagenumber> даже имеется для нумерации страниц. Вроде все просто, но не тут-то было.
Заполнил ручками в приложении около 20 строк и снова сохранил в xml. В файле появилось 2 блока <sheetGroup> видимо по предполагаемому количеству страниц. Номер 2-й страницы остался 001. Часть строк 2-й страницы вылезло в шапку неоформленная тегами <row>, а количество строк сократилось почему-то с 14 до 11.
Прибавить к этому разбор тэгов всех полей только по свойству "name" и разный порядок полей в структуре для всех строк формы и у меня закрадывается подозрение, что в НК из этих реестров х... очень немного увидят. :crazy:

Скорее всего отправим сейчас без реестров, а реестры дошлём дополнительными как все утрясётся...


Я тоже пыталась разобраться с xml-файлом. Но оказалось всё намного сложнее, чем показалось на первый взгляд! почему нет единой структуры полей <field>, раскидывает в разном порядке. Плюс невозможно прочесть сам код, идёт сплошным текстом, строки не отделяются tabом, поэтому оч.сложно увидеть иерархию и вообще что либо найти. В старых формах можно было что-то ручками отредактиоровать в самом коде, то теперь это не представляется возможным. Раньше мы садили из екселя с помощью макроса данные в xml-файл теперь же не понятно как это сделать. У кого ещё какие идеи по этому поводу? :P



Автор: ЕщеОдинБух
Добавлено: #3  Чт Май 14, 2009 14:56:59
Заголовок сообщения:

Ознакомьтесь http://www.balans.kz/topic16117.html


Автор: 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.
Автозамена не получилась, можно пошагово написать как это делается?



Автор: ЕщеОдинБух
Добавлено: #6  Чт Май 14, 2009 15:46:29
Заголовок сообщения:

Зачем вам текстовые редакторы открывайте в IE и структура будет нормальной.


Автор: Electra
Добавлено: #7  Чт Май 14, 2009 16:00:52
Заголовок сообщения:

ЕщеОдинБух говорит:
Зачем вам текстовые редакторы открывайте в IE и структура будет нормальной.

Да структура видна, но редактировать там нет возможности



Автор: ЕщеОдинБух
Добавлено: #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 что-то я таких возможностей не припомню.



Автор: ЕщеОдинБух
Добавлено: #10  Пт Май 15, 2009 08:47:27
Заголовок сообщения:

Именно в седьмой, что совсем никогда с объектом Текст не доводилось работать?


Автор: IgorS
Добавлено: #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.



Автор: Elis
Добавлено: #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" в начале самой Декларации.



Автор: gsg
Добавлено: #15  Пн Май 18, 2009 15:50:14
Заголовок сообщения:

Elis
у меня правда восьмерка, но я без проблем гружу всю форму через хмl. Проблема пока одна. первый лист собака не печатает.
а так все нормально. Все воскресенье разбирал в чем разница в структуре когда выгружаешь из 1с и потом запоминаешь через соно. или руками и также запоминаешь. разница только в том что тэги местами поменяны. Кстати тоже интересно. но не печатает.



Автор: Elis
Добавлено: #16  Пн Май 18, 2009 16:09:23
Заголовок сообщения:

А реестры 7 и 8 через импорт XML заполняет?

Перемена тэгов местами, как я на опыте поняла, ни на что не влияет. Лишь бы в пределах группы было все нормально.
Я у себя все по порядку выстроила. Как на бланке идет, так и в xml сделала.
Но вот любой xml с обоими реестрами (пробовала, правда, пока только количеством около 400 строк в общей сумме) в старую Ф300 нормально загружаются, и видно, как суммы в Реестры все попадают. А как в СОНО новую версию Ф300 заливаю, так импорт xml в реестрах пустое поле отоображает. Не знаю даже где рыть теперь. Очень помощь нужна.
gsg говорит:
Все воскресенье разбирал в чем разница в структуре когда выгружаешь из 1с и потом запоминаешь через соно. или руками и также запоминаешь.

Вот что-то ваша фраза "или руками и также запоминаешь" мне подсказывает, что вы новую Ф300 в СОНО не залили. В новой Реестры руками в принципе невозмоджно набрать. Там одно большое белое поле.
Или я не во всем еще разобралась?



Автор: gsg
Добавлено: #17  Пн Май 18, 2009 16:16:23
Заголовок сообщения:

нет, Elis, не заливал. сейчас обновлю и попробую.


Автор: Elis
Добавлено: #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 и главное, какая она теперь?



Автор: gsg
Добавлено: #19  Пн Май 18, 2009 16:33:28
Заголовок сообщения:

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



Автор: Elis
Добавлено: #20  Пн Май 18, 2009 16:38:37
Заголовок сообщения:

Проверьте две вещи, чтобы убедиться, что вы именно новую Ф300 загрузили:
1) Создайте вручную пустую Ф300.00 (Список Форм - Заполнить), зайдите в Реестры, должно быть одно большое пустое поле.
2) Распечатайте первый лист. Штрих-код верный: 8-300-000-100-000



Автор: gsg
Добавлено: #21  Пн Май 18, 2009 17:16:22
Заголовок сообщения:

да уж. ну вот и новая проблем


Автор: Игорь Янковский
Добавлено: #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. Может кого такой вариант устроит, пока наши программисты будут искать выход из положения. СПАСИБО ИМ ОГРОМНОЕ!!!!!!! ПРЕКЛОНЯЮ КОЛЕНИ!!!!



Автор: .det
Добавлено: #24  Вт Май 19, 2009 12:44:41
Заголовок сообщения:

Вашим программистам надо указать выход из организации, а вам чуть помедленнее бегать по строчкам.
Новая 300 ф. не предусматривает заполнения вручную (см. сообщение http://balans.kz/viewtopic.php?p=193827#193827), зато сама импортирует файлы Excel, с которыми вы так мучаетесь.

Добавлено спустя 1 минуту 40 секунд:

Сохранять периодически в XML не нужно. Я вчера импортировал за минуту реестр с 17 000 с/ф. И вы сможете, когда настанет второй квартал.



Автор: gsg
Добавлено: #25  Вт Май 19, 2009 12:52:14
Заголовок сообщения:

.det

вопрос. не пробовал случайно, если не обновлять 300 форму в соне. в старой выгрузка с 8-ки работала на ура. вся форма выгружалась через xml. Интересно что будет?

Добавлено спустя 57 секунд:

всмысле примется форма или нет.



Автор: .det
Добавлено: #26  Вт Май 19, 2009 13:09:52
Заголовок сообщения:

Приложения 3, 7 и 8 - только через Excel. Сама форма и все остальные ее приложения выгрузятся и примутся.


Автор: Алька_Uralsk
Добавлено: #27  Вт Май 19, 2009 13:17:40
Заголовок сообщения:

.det говорит:
Вашим программистам надо указать выход из организации,

вообще то я имела ввиду программистов отсюда - с баланса. импортировать из Exsel не получается. у меня почему-то ссылка с инструкцией по 300 форме не открывается, скачать не могу, а так угадать какой номер листа ставить и какую задать первую ячейку я не рискну. отправляется, если вручную забить - нормально всё



Автор: gsg
Добавлено: #28  Вт Май 19, 2009 13:18:27
Заголовок сообщения:

это я понял. читать умею.
если не менять ф300, то ВСЕ выгружается нормально.

Оно что не уйдет на сервер и не будет принято?

Я так понимаю ты не пробовал. У меня есть одна фирма. хочу попробовать. все взять из xml и 300 отправить.

Добавлено спустя 5 минут 37 секунд:

Алька_Uralsk
дай свой мыл отправлю и новую и старую 300 форму



Автор: Алька_Uralsk
Добавлено: #29  Вт Май 19, 2009 13:30:48
Заголовок сообщения:

gsg говорит:
дай свой мыл отправлю и новую и старую 300 форму

cmb-aliya@mail.ru - СПАСИБО!!!!!!!!!!!!!



Автор: gsg
Добавлено: #30  Вт Май 19, 2009 13:34:48
Заголовок сообщения:

Алька_Uralsk

отправил два письма. все что мог написал.



Автор: gsg
Добавлено: #31  Чт Май 21, 2009 09:18:25
Заголовок сообщения:

для тех кто использует OpenOffice вместо Exel. Процедура для выгрузки 300 формы. Пишите в личку, дам процедуру и инструкцию как ее подключить.


Автор: Elis
Добавлено: #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. Может кого такой вариант устроит, пока наши программисты будут искать выход из положения. СПАСИБО ИМ ОГРОМНОЕ!!!!!!! ПРЕКЛОНЯЮ КОЛЕНИ!!!!


а еще вариант просто купить чистых бланков и заполнять от руки всю инфу, зато если у сервера голова заболит, то вы сможете по почте переслать всю форму.

:Yahoo!: Вариант!!!



Автор: .det
Добавлено: #34  Пт Июл 10, 2009 15:25:01
Заголовок сообщения:

Программа для загрузки в СОНО отчетности в формате XML, выгруженной из 1С и других прикладных решений:
http://balans.kz/viewtopic.php?p=219282#219282



Автор: Kuryshev
Добавлено: #35  Пт Июл 10, 2009 18:43:05
Заголовок сообщения:

Исправленные файлы регламентированной отчетности из 1С 7.7. Приложения 300.07 и 300.08 формы 300.


  

Служба поддержки WWW.BALANS.KZ