Считаю, что в эпоху XML человек, который использует DBF для задач обмена, хранения данных или еще по каким-либо причинам, не связанным непосредственно с тем, что данные ему поставляются только в DBF - неудачник.
Пора выбросить этот формат на свалку истории в теме обмена.
Я понимаю, что в 1С есть функции для работы с DBF, но использовать этот формат для обменов - маразм.
(1)
Странное представление о неудачнике.
Человек, который создаёт DBF файл - свободен в выборе формата.
А, вот, кому данные "поставляются только в DBF"(с) - он и есть НЕУДАЧНИК.
Бедняга, ковыряется с чужими отправлениями... :-)
В данном случае, мне кажется, что проще написать программу и прокомментировать ее, чем делать что-то еще. Вы уже такие продвинутые, раз добрались до этой главы! Я горжусь вами!
Файл = создатьОбъект("XBASE"); //создаем ссылку на файл DBF
Файл.ОткрытьФайл("catalog.dbf"); //открываем файл на диске
Файл.КодоваяСтраница(1); //задаем кодировку: 0 - windows, 1 - DOS
Если Файл.Открыта()=0 Тогда //проверяем, удалось ли открыть файл
........Сообщить("Не удалось открыть файл!");
КонецЕсли;
Файл.Первая(); //позиционируемся на первой записи
Пока Файл.ВКонце()=0 Цикл //пока не дошли до конца, крутим цикл
.......НомерЗаписи = Файл.НомерЗаписи(); //получаем номер текущей записи
.......НазвТовара = Файл.NAME; //получаем значение поля
.......Цена = Файл.ПолучитьЗначениеПоля("PRICE"); //так тоже можно, но чуть медленнее
.......Файл.Следующая(); //переходим на следующую запись
КонецЦикла;
Файл.Последняя(); //позиционируемся на первой записи
Пока Файл.ВНачале()=0 Цикл //пока не дошли до начала, крутим цикл
.......НазвТовара = Файл.NAME;
.......Цена = Файл.PRICE;
.......Файл. Предыдущая(); //переходим на предыдущую запись
КонецЦикла;
Для н = 1 По Файл.КоличествоЗаписей() Цикл //здесь все понятно, по-моему
......Файл.Перейти(н); //позиционируемся на определенной записи
.......НазвТовара = Файл.NAME;
.......Цена = Файл.PRICE;
КонецЦикла;
Файл.ЗакрытьФайл(); //не забывайте пожалуйста
Запись в файл DBF
Файл = создатьОбъект("XBASE"); //создаем ссылку на файл DBF
//определяем структуру файла
//Синтаксис: ДобавитьПоле(<Название>,<Тип>,<Длина>,<Точность>)
СпрТовары.ВыбратьЭлементы();
Пока СпрТовары.ПолучитьЭлемент()=1 Цикл
.......Файл.Добавить();
.......Файл.NAME = СпрТовары.Наименование;
.......Файл.УстановитьЗначениеПоля("PRICE",СпрТовары.Цена) //так тоже можно;
.......Файл.Записать();
КонецЦикла;
Файл.ЗакрытьФайл(); //не забывайте пожалуйста
Работа со структурой файла DBF
Например, создадим файл, идентичный по структуре исходному.
//При этом применяется метод ОписаниеПоля, который возвращает характеристики поля с указанным номером
//синтаксис: ОписаниеПоля(<НомерПоля>,<НазваниеПоля>,<Тип>,<Длина>,<Точность>)
Для н = 1 По Файл1.КоличествоПолей() Цикл
........НазвПоля = "";
........Тип = "";
........Длина = 0;
........Точность = 0;
........Файл1.ОписаниеПоля(н,назвПоля,Тип,Длина,Точность);
........Файл2.ДобавитьПоле(назвПоля,Тип,Длина,Точность);
КонецЦикла;
Для работы с файлом DBF неизвестной структуры часто применяются следующие методы:
ПолучитьЗначениеПоля(<ИмяПоля>);
УстановитьЗначениеПоля(<ИмяПоля>,<значение>);
Работа с удаленными записями
Файлы DBF устроены таким образом, что удаление записи не приводит к физическому удалению записи из файла. Запись просто помечается на удаление и пропускается при переборе. Таким образом размер файла остается прежним. Чтобы физически удалить все помеченные на удаление записи нужно применить метод Сжать. Средства встроенного языка позволяют работать с такими записями, перебирать их и даже отменять пометку на удаление.
Файл.ПоказыватьУдаленные(1);
Файл.Первая();
Пока Файл.ВКонце()=0 Цикл
......Если Файл.ЗаписьУдалена()=1 Тогда
............Файл.Восстановить();
......КонецЕсли;
......Файл.Следующая();
КонецЦикла;
Файл.Первая();
Пока Файл.ВКонце()=0 Цикл
......Если Файл.PRICE < 1000 Тогда
............Файл.Удалить();
......КонецЕсли;
......Файл.Следующая();
КонецЦикла;
Файл.Сжать(); //удалить записи физически
Можно удалить все записи в файле одним движением. При этом они физически удаляются и не могут быть восстановлены.
Файл.ОчиститьВсе();
Стоит еще отметить про метод Очистить(), что он очищает все поля текущей записи. Атрибуты, соответствующие полям типа "строковый" приобретают значение «пустая строка», числовой — 0, логический — 0, дата — «пустая дата».
Работа с индексами
Для организации упорядочивания содержимого файла БД и поиска в ней по значению одного или нескольких полей применяется механизм индексов. Его применение можно сравнить с сортировкой картотеки по определенному признаку (совокупности признаков). Однако, в отличие от картотеки, файл БД может иметь сразу несколько индексов, и, соответственно, являться упорядоченным одновременно по нескольким признакам. Индексы хранятся в индексном файле. Индексный файл может содержать информацию более чем об одном индексе. Рекомендуется для одного файла DBF иметь один индексный файл, в котором хранятся все индексы для этого файла.
Каждый индекс имеет наименование, признак уникальности, выражение индекса и фильтр. Наименование индекса используется для идентификации индекса. Выражение индекса и фильтр представляют собой написанные на специальном языке выражения, вычисление значения которых для каждой записи позволяет определить ее место при упорядочивании и необходимость помещения ее в упорядоченный список (индекс может содержать упоминание не обо всех записях таблицы, а только об удовлетворяющих выражению фильтра). Уникальный индекс (имеющий установленным признак уникальности) позволяет иметь в индексе ссылки на записи только с различным значением индексного выражения.
Основное правило: индекс нужен, чтобы быстро искать нужную запись. DBF-ФАЙЛ Индекс по фамилии
Физ. номер записи Фамилия
1 Иванов
2 Абдулов
3 Барабанов
4 Мирнов
5 Раскольников
6 Комаров
Фамилия Физ. номер записи
Абдулов 2
Барабанов 3
Иванов 1
Мирнов 4
Комаров 6
Раскольников 5
Нужно быстро найти Комаров. В неупорядоченном исходном файле искать его можно только последовательным перебором всех записей, что будет очень долго при большом числе записей. В индексе найти Комарова можно очень быстро, поскольку индекс отсортирован по полю Фамилия. При этом мы узнаем физический номер записи в файле DBF и производим прямое позиционирование на нужную запись.
После создания структуры базы данных можно добавить индексы следующим образом:
//Синтаксис: ДобавитьИндекс(<Название>, <Выражение>, <Уникальность>, <Убывание>, <Фильтр>)
Считаю, что в эпоху XML человек, который использует DBF для задач обмена, хранения данных или еще по каким-либо причинам, не связанным непосредственно с тем, что данные ему поставляются только в DBF - неудачник.
Считаю, что человеку, всерьез написавшему такую тему, как минимум делать не фиг.
(242) а я считаю до 10 и что? (намекаю на то, что свою позицию надо аргументировать, иначе это глубокое имхо, на которое глубоко пофиг).
(240) OLAP кубы - это блин показатель сложности работы? Бугога.... Сколько у вас баз, сколько часов программирования вы закрываете в месяц, сколько стоит час простоя?
намекаю на то, что свою позицию надо аргументировать
Обосновать? Охотно. Вот такое ты не напишешь никогда, умения и знаний не хватит.
akXmlEdit - v1.5.0.7 редактор XML Потому что ты - чистый одноэснег. И XML ты знаешь в пределах 1С и того, что тебе 1С предоставила для работы с ним. Поэтому, в моих категориях, ты - неудачник.
(245) Жаль, что автору я уже поставил +
Ты пытаешься еще с ним дисскутировать?!! Знаешь, как-то я нарвался на одного психа (но я-то не знал, что он псих!, хорошо хоть не буйный... это потом мне обяснили - приколисты , блин....). Что интересно: и вроде все правильно и красиво говорит - но не что-то не то! Ну не ТО и все! Ну бред! Я уже начал нервничать , доказывая, что он чушь несет..., потом "юмористы" сжвлились, обяснили ситуацию - вместе поржали. И вроде с тех пор зарекся с шизоидами спорить, так нет! - поволокло меня в этой ветке.
Вот еще одна палата №6: http://forum.infostart.ru/forum1/topic52579/message579119/#message579119
Потом фельдкурат пустился в откровенность: рассказал, что он должен за верховые сапоги, за хлыст и седло, что несколько лет тому назад у него был триппер и он лечил его марганцовкой.
(255) Похоже его действительно прихватило. Хотя... принимать этого человека на веру... - я люто извиняюсь. Но в той теме он хотя бы вел себя почти как нормальный человек. И кстати (256) - пинать его не хотелось совсем. Все в меру его адекватности (в той ветке) с пониманием отнеслись к его проблеме.
(1) fixin,
НДА, сравнение однако, ДБФ и XML, разные форматы, разные потребности. Нож убивает так же быстро как и пистолет, зачем извращаться если хватает функционала ДБФ?
(274) перечитай тему еще раз. XML перекрывает потребности DBF, смысла в использовании DBF не вижу. На худой конец CSV, если есть озабоченность размерами пакета и лень зиповать. Но DBF? Смысл?
А можно какой нибудь перечень почему DBF так плох и что его нужно отправлять на свалку. И если возможно перечень того что можно поставить вместо него, и почему это будет удобней и лучше.
А например открыть , найти ошибку , исправить , закрыть , информация структуирована , легко обрабатывается визуально и програмно , можно любой девочке по телефону обьяснить , где что исправить.
(7) бред. CSV - можешь открыть в любом Экселе. Вставлять девочку в информационную структуру - еще больший бред. XML тоже легко визуализируется и редактируется. XML SPY & XML StyleSheets.
(5) я не умею врать. так нагло.
(6) XML. DBF плох тем, что в одном файле можно хранить только одну структуру и тем, что строковые поля ограничены по длине.
Что-то сильно похоже на бред. Где индексированная таблица, а где текст размеченный. Я вот выгружаю в ДБФ все накладные, выписанные отделом сбыта, а разные подразделения логистики просматривают файл по-разному, причем в части, их касающейся.
А так, развивая "мысль", можно сказать что и Екселем пользуются неудачники. Все ведь в Ворде делается.
(9) сколько строк в накладных, уважаемый Арчибальд?
Не проще ли индексировать их в ТЗ, а передавать в стандартном XML?
или, если размер данных большой, один раз загружать их в регистр сведений и использовать типовую механику запросов?
Имхо что-то не так в вашем DBF-обмене с накладными.
(10) Какая разница, сколько в накладной строк. Каждая строка - это задание на отпуск продукции. Но грузчики-паковщики выполняют их в одной последовательности, кладовщики в другой, а охрана в третьей. Плюс отбор по точкам исполнения...
(11) Арчи, не уклоняйтесь от темы. Перечитайте мой вопрос. Сколько заданий на отпуск продукции в одном пакете? Если 100-1000, пусть даже 10 000, то быстрее загрузить данные из XML и отсортировать их в 1С. Смысл использовать DBF для индексации? Подумайте о тех, кто придет после вас.
(12) Вот вот, в то время как XML - это просто текст. Совместимо по определению.
(13) лично тебе может и все равно. А вот приходить в контору и разгребать гуано за такими "равнодушными" не очень приятно. Не нужно пользоваться DBF-костылями только потому, что лень изучить XML.
Теперь рассмотрим эту затравку , от которой закряхтели и отминусовались наши ветераны
(думаю , просто не поняли о чем здесь речь) :
Считаю, что в эпоху XML человек, который использует DBF для задач обмена, хранения данных или еще по каким-либо причинам, не связанным непосредственно с тем, что данные ему поставляются только в DBF - неудачник.
Пора выбросить этот формат на свалку истории в теме обмена.
Я понимаю, что в 1С есть функции для работы с DBF, но использовать этот формат для обменов - маразм.
Арчибальд "закряхтел" , что ,дескать, DBF для передачи накладных очень хорош и удобен :
DBF , по его мнению , удачно совмещает возможности хранения, передачи и просмотра и ,дескать, в этом его сила.
Никто не может запретить Арчибальду использовать DBF, дай Бог ему здоровья и 100 лет DBF-обмена в его конторе.
Задумается Арчибальд об XML , только тогда , когда его конфигурация будет обмениваться информацией с десятком других баз и для каждого обмена будет свой формат данных( не только DBF). Мыслишка об какой-то упорядоченности возникнет сама собой : а не сделать ли нам удобный универсальный формат прежде всего для обмена,
а хранение, просмотр и др. функции оставить другим форматам ?
Арчибальд, в этот момент(и не раньше) перечитай пост Фиксина и чего ты тут понаписал в(9),(97) и др.
А вообще, на физическом уровне любой файл обмена - это последовательность битов. Различие состоит в инструментах, которыми пользуется программист. А инструменты определяются (семантической) моделью данных. Эксимель неплох для небольшого дерева. Уже для двумерных массивов слишком расточителен. Ну, а когда появляются перекрестные ссылки он вполне может отдыхать.
И вот "это вота" люди плюсуют...
Жуть. Даже аргументировать не буду.
Я обвиняю тебя в том , что "наукообразным" бредом ты смущаешь неокрепшие умы на ИС.
(157) во-во. Даже прочитать XML проще, чем dbf, Т.К. это просто текст. Парсер можно самому написать. А попробуй написать парсер DBF. Если бы в 1с не было функций работы с DBF, туго бы пришлось Арчибальду, Кушниру и прочей гоп-компании.
Ввел в поисковике DBF первые строчки как бы символизируют
DBF — устаревающий формат хранения данных, используемый в качестве одного из стандартных способов хранения и передачи информации системами управления базами данных, электронными таблицами и т. д.
Из выпущенных продуктов формат впервые применялся в dBase II в качестве стандартного формата базы. Точно не известно, использовался ли он где-нибудь ранее.
В новых версиях — dBase III, dBase IV — формат модифицировался и расширялся. В связи с высокой популярностью этих программ были созданы их многочисленные клоны (обычно их называют общим термином xBase), некоторые из которых использовали модифицированные версии DBF. То же самое происходило и с целым рядом прикладных пакетов и библиотек, использовавших DBF в различных целях. Одни их авторы шли по пути добавления новых типов полей, другие — вносили серьёзные расширения. В связи с отсутствием какой-либо официальной стандартизации в настоящее время сложно гарантировать, что разрабатываемая прикладная программа будет писать и читать произвольный DBF-файл, но базовая совместимость всё-таки сохраняется.
Это похоже на спор слепого с глухим. Лично мне глубоко фиолетово кому что , больше нравиться , есть задача , а каждый ее решает теми средствами и способами которые ему удобнее. А ставить ярлыки - это не наш метод. У меня есть организация , большой магазин торговый центр. В нем все автоматизировано на програме Бэст. Так головняков и проблем в разы меньше , чем в 1с. Это же не значит , что все работники лохи , потому что они 1с и близко видеть не хотят. каждый выбирает , что ему больше нравится.
А то что аптечные конторы все поголовно пользуются форматом dbf при пересылке данных - так это точно неудачники, или у них стоит именно "это" устаревшее программное обеспечение. Бедные их поставщики и покупатели а так же весь штат "программистов" и 1C-ников у них работающих!
(19) если что-то работает, ломать не стоит, почему бы и не поддерживать. Но писать сейчас обмены на DBF - это признак маразма. Допускаю, что аптеки привыкли пересылать в DBF, у них под это уже заточено, менять не надо.
(16) видимо у контрагентов программисты-маразматики. XML удобнее DBF, это факт.
(17) если он действительно свободен, он выберет XML. Но видимо он не умеет юзать XML, потому выбирает DBF, потому неудачник. Преимуществ у DBF для обмена нет перед XML.
(21) да. ибо XML лучше чем текст.
(20) скорее это мои эмоции. Смешит, когда программисты советуют писать обмены в DBF в эпоху XML. Проскочил такой совет в одной из веток.
А у меня была такая ситуацию, выгружал зарплатные ведомости для банков, и они требовали, чтобы выгружал именно в формате DBF, структуру и описание файла отправили даже. Считаю что DBF для переноса небольших объемов данных очень даже удобен. Или например в банк-клиентах до сих пор тоже используется текстовый форма и до сих пор успешно применяется. Дай бог конечно, чтобы XML стал повсеместно использоваться))
(47) текстовый формат и DBF - пережитки прошлого. Если формат задан, то конечно же, надо под него подстраиваться. Но если есть свобода выбора и программист использует текст или DBF, или даже CSV - это бред.
Каждый формат файла удобен для определенных целей, сбербанк до сих пор не отказался от использования формата DBF, точно так же как 7.7 файловая идет тоже в DBF, возьмем тот же пенсионный фонд он тоже работает в этом формате. И потом формат удобен для определенных целей. Поэтому сколько программистов столько и мнений
(50) не отказался только по причине сложившейся практики. преимуществ у DBF формата для обмена данными нет. Если есть, назовите. Для каких определенных целей?
(51) я уже говорил. Если DBF используется вынужденно, т.к. другая сторона его хочет, это одно. А если программист добровольно юзает DBF вместо XML, он лузер.
Но только по той причине, что сейчас он не используется ни одним из клиентов, с которыми я пересекаюсь. И, кстати, xml у них тоже пока нет, к сожалению. Есть xls, txt.
Касательно устареваемости - прям за спиной сидит товарисч, который страдает работает с AS400 (AS400, AS400). И вот людям по другую сторону базы ваще пофиг - работает и ладно.
Чаще всего причины использования тех или иных технологий лежат в плоскости клиентов.
(53) возможно. пусть переместят в Лайф. по сути я уже писал, что это мои эмоции.
(54) у вас Пользователи смотрят DBF? Клево. XML прекрасно открывается в IE
А чем это XML то удобней? попросите кого-то со стороны прочитать что там в 1056 строке данных?? DBF и в Экселе открывается, который стоит у 99% пользователей а XML SPY & XML StyleSheets у кого стоит? Поднимите руки. Или всем по почте отправлять еще и прогу и рассказывать как ее устанавливать, и как открывать.
XML новый формат, он только развивается и за ним будущее согласен, это как к примеру уже давно есть виндовс7 и виндовс виста, но вот пользователей на них не так-то и много, народ до сих пор на ХР сидит. Потому что НЕУДОБНО с этими новыми операционками, а переходят только по принуждению, так же и с XML хорошо но не удобно.
XML мне лично тот формат не нравится просматриваться стандартно только через инет-экслуэр, для корректирвки в ручном режиме нужно лезть и открывать через блокнот, хорошо если бухгалтер сообразительный а если нет то ходишь и сама правишь каждый раз
(57)(58) я говорю немного о другом контексте, повторю в 10-й раз.
если у программиста есть выбор и он юзает DBF вместо XML, он неудачник.
Если в какой-то конторе сложилась практика юзать DBF (т.к. это старый формат), это нормально. Но если программист сам выбирает DBF, это ....
(59) Ты действительно настолько глуп, или специально прикидываешься?
У меня несколько форматов обмена документами с клиентурой: эксель, ммо, дбф и твой любимый XML. Так вот неудачником считаю того, кто не может ни в одном УДОБНОМ ДЛЯ КЛИЕНТА формате скинуть документ. Все остальное - твои личные эмоции (при том весьма не здоровые...)
(60) Вася, я уже объяснял 10 раз, если Клиент диктует формат, тогда ноу проблем - хоть Луну с неба. Но если вы по своей инициативе юзаете ДБФ, простите...
(61) Неудачник - потому что использует старое, неудобное, но привычное и не стремится познать новое, удобное, но непривычное. Это уже черта характера. Потом на его место приходит продвинутый программист и вынужден страдать над DBF только потому, что старому было тяжело изучить XML.
(62) Вот о том и речь. Если может и выбирает XML - неудачник. Даже если бабло загребает лопатой, ибо ленив.
(63) Пардон, вы не поняли о чем речь. Вы используете DBF как платформу базы данных 1с77? Тема не об этом.
(64) Чем лучше xml по сравнению с dbf для однородных данных? Чем он удобнее в 7-ке? - это в 8-ке он штатно включен, а в 7-ке либо ручками (что я и сделал), либо через опу с помощью ВК. Я уже не говорю об удобстве просмотра и , при необходимости, редактирования итогового файла ДБФ редакторов/вьюверов хоть опой жри. А если нет винды 7-й? Да на нее у меня аллергия, как и на их сранный ИЕ.
(65) вы ретроград батенька. Потому и Win 7 не перевариваете. В 7-ке v7plus замечательно юзает XML. В крайнем случае можно юзать парсер от винды, доступный как ком-объект, если объемы не большие. Можно ручками и не писать.
К тому же 7-ка - это программа пятилетней давности, речь идет о тех, кто на острие прогресса. Вы с ней в предмет обсуждения ветки не вписываетесь. Могу уточнить название ветки - те восьмерочники, которые юзают DBF, вместо XML - неудачники, чтобы семерочникам не было обидно.
а насчет преимуществ XML я уже писал, повторю спецом для вас. В DBF нужно фиксировать набор полей, только одна структура на файл, формат не текстовый, а двоичный, строки ограниченной длины.
И потом даже для однородных данных XML легко позволяет включить в пакет его описание - типо метаданных - время выгрузки, автора, контрольную сумму пакета и т.п. вкусности, которые в DBF будут занимать лишнюю колонку или потребуют отдельного файла.
(66) 1. Я не ретроград , но переходить на прожорливую 7-ку только ради свистелок пердело я тоже не пацан и украшательства меня в последнюю очередь волнуют.
2. "В 7-ке v7plus замечательно юзает XML." такое только может заявлять человек не рабовший с v7plus - нихыра замечательного она не делает. Ну то что ты аж ни разу не практик - это я давно знаю.
(69) "я вам из пальца понавысасываю столько же недостатков у DBF" - теперь понятно откуда ты берешь аргументы. Сосать можешь что хочешь, но не надо с этим лазить в тематические форумы (здесь форум 1С если не знал).
(83) ну за пять лет я успел поменять контору, где уже юзают восьмерку, а не продолжают сопровождать семерку. Ничего против семеры не имею, но она отмирает. Это факт.
Что именно у Вас не получилось в V7Plus.
По поводу остальных ваших сентенций - это форум по 1С, как вы выразились, поэтому комментировать ваши ассоциации не буду, оставлю Фрейду. ;-)
(80) Простите, а зачем его смотреть? В 1С в крайнем случае смотрите. В блокноте, в IE.
(76) Какая разница, DOM или последовательное чтение? Я и последовательным чтением могу получить нужные мне данные? Кто сказал что мне нужно выборочно читать? Я прочитаю все и извлеку все.
(73) Для таких баз, как KLADR лучше использовать CSV, или я что-то не понимаю?
И потом, 80% обменов идут с объемами данных меньше 10 Мб. Но тем не менее 50% дятлов пишут такие обмены на DBF.
Возможно, данные с объемами в несколько гигов имеет смысл передавать вообще в двоичном виде, а возможно достаточно банальной архивации.
По поводу производительности, чтобы начать отстрел дятлов, сообщу следующее - все обмены в РИБ 1C идут через XML, в том числе и изменения конфы (в двоичном виде внутри XML). Попробуйте написать это на DBF. Думаю, этим соображением вопрос по производительности закрыт. Т.к. РИБ в 1С работает и дышит на ура на тысячах предприятий.
(84) Почитайте про разработки googl-а о замене простого текстового протокола http на бинарный, даже от такой простой замены предполагают выгоду на каждом коннекте и тут не 10 мб а меньше, но все равно выгода есть.
xml хорош, когда заранее неизвестно какие будут данные (попытки валидации, создания xsd схем, это как раз попытки).
Неудачником можно стать, когда летом на голову сосулька с крыши упадет, а использование или не использования DBF это не признак неудачи.
Тема холивар, fixin как истинная женщина доводов не видит, то что вбил себе в голову на том и стоит.
Почитайте про разработки googl-а о замене простого текстового протокола http на бинарный
Это вы про spdy? Да, чего уж далеко ходить, они себе и замену xml сделали - protobuf. Твиттер кажется отказался потом от xml в пользу protobuf и подсчитали скорость обмена возросла в разы, а объем передаваемых данных уменьшился раз в 10.
(87) 1. Я не тебе отвечал. Но раз уж речь об этом тогда: 2. Какие такие другие задачи решал твиттер и гугль, когда применяли protobuf для обмена информацией между серверами? Ты не в курсе этого, - не знаем, но имеем мнение. 3. Да еще - я не крещенный. 4. Ты ни разу не привел никаких нормальных доводов. Просто в твоей задаче наверное лучше xml, но ты решил, что он круче во всех случаях. Тебе указывают эти случаи, а ты говоришь, а я ж не про это имел ввиду.
(95) Да какие доводы?! Демагогия в чистом виде, по примеру:
Сначала идет вброс:
на улице погода (и все! - никакой конкретики)
Потом на основе вброса "гениальное" утверждение:
Я прав! - ведь никто не опроверг моего утверждения. А вот вы говорите хорошая погода? - фигню несете! - я имел в виду совсем другое. А вы говорите плохая? - так вы вообще такой-рассякой - я о плохой ни слова не говорил.
Вот так он ведет все диспуты. Может хатит кормить троля? Честно говоря, не знаю зачем ресурсу такое...., изгнанное с позором отовсюду откуда только можно (дубовый форум не в счет - помойка редкая).
(95) не в моей задаче, а в 90% задач обмена
(96) софистика. Не нравится - не обсуждайте. я высказал эмоцию, что меня бесят программисты, которые юзают для обмена не в масштабах РосАтома DBF вместо XML. И объяснил почему. Возразить по факту нечего, но почему-то ДБФ защищуют.
(97) Мы не про вообще, а про задачи обмена. И в любом файле обмена по правилам обмена (Конвертация данных) есть до фига перекрестных ссылок. Курите в сторону тега НПП. Избыточность убирается архивацией. (как это делает 1с в РИБ).
(98) А давайте все же сабж обсуждать, а не приписывать мне то, чего у меня нет.
Резюмируя - DBF для большинства задач обмена - морально устарел. Кто его юзает - тот лодырь. А потом тем, кто придет на их место придется расхлебывать этот "антиквариат".
(99) "я высказал эмоцию, что меня бесят программисты," - это потому, что ты не программист. А "Не нравится - не обсуждайте" - тут ты не прав. Это не твой личный сайт. И своими дебильными на грани маразма ветками ты оскорбляешь как самих программистов на ИС так и само звание программиста.
"А давайте все же сабж обсуждать" - какой сабж? Что обсуждать - результат твоего психического обострения? Так тебе не на ИС надо, а в психушку - там не только Гении1С в огромном количестве, но и Наполеоны, Иисусики - в общем привычный для тебя контингент.
(105) Василий, не приписывайте свое имхо всему Инфостарту.
(104) XML можно было использовать и до КД, вместо DBF. Хотя сам, каюсь, использовал текстовые файлы, что-то типо XML, но самодельное. ;-)
(106) Это имхо всего интернета - ты уже всюду засветился и успел нагадить.
(107) А ты попробуй втолковать это этому психу - а я понаблюдаю, как это у тебя получится. Еще ни разу не видел, как валится стена от кинутой пригоршни гороха.
Наверное, автор темы не умеет работать в 1с с DBF, вот и пишет что кто пользуется DBF - неудачники. И вообще, если бы вы написали: "DBF-пережиток старого, пользуйтесь XML", а не "DBF юзают неудачники", то тема воспринималась бы по другом, а так просто кажется что у автора присутствует некое самолюбие, мол, я использую XML, а кто использует DBF - неудачники.
возможно вы и правы, возможно XML - лучше использовать чем DBF. Меня больше всего смущает "если программист сам выбирает DBF, то он НЕУДАЧНИК". у меня к вам вопрос, почему неудачник? разница ведь в использовании не так и велика.
Считаю, что в эпоху XML человек, который использует DBF для задач обмена, хранения данных или еще по каким-либо причинам, не связанным непосредственно с тем, что данные ему поставляются только в DBF - неудачник.
Пора выбросить этот формат на свалку истории в теме обмена.
Я понимаю, что в 1С есть функции для работы с DBF, но использовать этот формат для обменов - маразм.
я вот лично использую дбф на 2 5 гиговых базах в терминале, потому что оно в моем случае быстрей работает чем СКЛ.
(67) производительность чего, простите? Если данные используются для обмена, то не суть какой объем. Сжатие убивает излишнюю раздутость, а чтение из DBF и XML одинаково по скорости на одинаковых объемах (примерно одинаково).
DBF можно использовать для чтения по индексам, но это уже из оперы прикручивания к 1С маленькой СУБД, и явно есть решения лучше чем DBF, тот же MYSQL
(68) я вам из пальца понавысасываю столько же недостатков у DBF. Размер легко решается через сжатие в ZIP. Неоднозначность моделирования - это не из нашей песни, вы бы хоть читали что пишете. Вы сами создаете модель обмена. Тут нет неоднозначности. Нам естественный язык не нужен.
я вам из пальца понавысасываю столько же недостатков у DBF.
Валяйте, сделайте это. По крайней мере, это будет убедительней, чем просто вешать ярлыки на всех, кто по работе встречается с dbf.
Размер легко решается через сжатие в ZIP.
Это не преимущество. Программист, сумевший сжать xml в zip, точно так же легко разберется и с dbf, если приспичит.
Неоднозначность моделирования - это не из нашей песни, вы бы хоть читали что пишете. Вы сами создаете модель обмена. Тут нет неоднозначности. Нам естественный язык не нужен.
Я правильно понимаю ваши слова, что все обмены данными, которые вы, как программист, обслуживаете - однозначного формата и вы этот формат назначаете обеспечиваете?
Синтаксис XML избыточен.[8]
Размер XML-документа существенно больше бинарного представления тех же данных. В грубых оценках величину этого фактора принимают за 1 порядок (в 10 раз).
Размер XML-документа существенно больше, чем документа в альтернативных текстовых форматах передачи данных (например JSON[4], YAML, Protocol Buffers) и особенно в форматах данных, оптимизированных для конкретного случая использования.
Избыточность XML может повлиять на эффективность приложения. Возрастает стоимость хранения, обработки и передачи данных.
XML содержит метаданные (об именах полей, классов, вложенности структур), и одновременно XML позиционируется как язык взаимодействия открытых систем. При передаче между системами большого количества объектов одного типа (одной структуры), передавать метаданные повторно нет смысла, хотя они содержатся в каждом экземпляре XML описания.
Для большого количества задач не нужна вся мощь синтаксиса XML и можно использовать значительно более простые и производительные решения.[9]
Неоднозначность моделирования.
Нет общепринятой методологии для моделирования данных в XML, в то время как для реляционной модели и объектно-ориентированной такие средства разработаны и базируются на реляционной алгебре, системном подходе и системном анализе.
В природе есть множество объектов и явлений, для описания которых разные структуры данных (сетевая, реляционная, иерархическая) являются естественными, и отображение объекта в неестественную для него модель является болезненным для его сути. В случае с реляционной и иерархической моделями определены процедуры декомпозиции, обеспечивающие относительную однозначность, чего нельзя сказать о сетевой модели.[10]
В результате большой гибкости языка и отсутствия строгих ограничений, одна и та же структура может быть представлена множеством способов (различными разработчиками), например, значение может быть записано как атрибут тега или как тело тега и т. д. Например:
<a b="1" c="1"/>
<a>1<c>1</c></a>
<a><b value="1"/><c value="1"/></a>
<a><fields b="1" c="1"/></a> и т. д.[11]
Поддержка многих языков в именовании тегов дает возможность назвать, например вес русским словом, в таком случае компьютер никак не сможет установить соответствия этого поля с полем weight в англоязычной версии программы и с полями в версиях модели объекта на множестве других языков.
XML не содержит встроенной в язык поддержки типов данных. В нём нет строгой типизации, то есть понятий «целых чисел», «строк», «дат», «булевых значений» и т. д.
Иерархическая модель данных, предлагаемая XML, ограничена по сравнению с реляционной моделью и объектно-ориентированными графами и сетевой моделью данных.
Выражение неиерархических данных (например графов) требует дополнительных усилий
Кристофер Дейт, специалист в области реляционных баз данных, автор классического учебника «An Introduction to Database Systems», отмечал, что «…XML является попыткой заново изобрести иерархические базы данных…»[12] (в 1980-е года иерархические базы данных были вытеснены реляционными базами данных).
Пространства имён XML сложно использовать и их сложно реализовывать в XML-парсерах.
Существуют другие, обладающие сходными с XML возможностями, текстовые форматы данных, которые обладают более высоким удобством чтения человеком (YAML, JSON, SweetXML[13], XF[14]).
Показать
Вопрос: как назвать человека, работающего с форматом с ТАКИМ количеством недостатков?
Вопрос: как назвать человека, работающего с форматом с ТАКИМ количеством недостатков?
Работать/не работать с чем-либо - вообще не относится к удачливости. А вот агрессивно-некомпетентно отстаивать отстой нечто, увиденное в рекламе, в противовес модели, признанной искушенными профессионалами, только потому, что это нечто новее - это близко к диагнозу. В анамнезе еще просматривается чистопородновосьмерочное поражение генотипа, заставляющее пациента панически опасаться любых структур данных кроме дерева.
Нормальному человеку свойственно использовать ровно ту структуру данных, которая требуется в конкретной ситуации. Скажем, формат ".НКХ" (НепришейКобылеХвост). Совсем новый. Ни разу не использованный.
В (68) перечислены недостатки XML и в конце эффектный вопрос :
Вопрос: как назвать человека, работающего с форматом с ТАКИМ количеством недостатков?
Вы мыслите рельсом .(с) Штирлиц
Почему же (68) - это "рельс" ?
Потому что все форматы обладают недостатками ( И распространенные , и "не очень", и даже DBF).
Дело не в них.
А дело в преимуществах того или иного формата.
Причина чрезвычайно широкого распространения XML - в его универсальности.
Возможность использовать для обмена между любыми информационными базами один признанный всеми формат
перекрывает любые его недостатки.
Разжевывать дальше - стесняюсь.