Писальщик/Читальщик XLS




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

96 Comments

  1. valent

    — Размер файла в MXL формате раза в два больше чем XLS. Как ни странно?! Проверил несколько раз – точно! И ужаснулся! Вот те и хвалёный формат XML.

    Так о чем речь? MXL или XML?

    Reply
  2. Шёпот теней

    (1) … виноват …

    … запыхался …

    … сравниваются XML и XLS …

    .. поправил …

    Reply
  3. Шёпот теней

    было маленькое недоразумения с табличными частями «Товары» …. исправил …

    … можно поменять в первом файле 139 строку:

    … было:

    ВсегоКолонок = ссылкаДокумент.Метаданные().ТабличныеЧасти.Товары.Реквизиты.Количество();

    должно быть:

    ВсегоКолонок = ссылкаДокумент.Метаданные().ТабличныеЧасти[ТаблицаЧасть].Реквизиты.Количество();

    теперь работает на все документы …

    … вОт …

    Reply
  4. WKBAPKA

    хм. Шепот, ты меня удивляешь. XML — универсальный язык разметки, и предназначен для передачи произвольной структуры информации. У него много избыточной информации, всякие открывающиеся и закрывающиеся теги, заголовки и прочая лабуда.

    ХLS предназначен для хранения конкретной информации, таблица или группа таблиц. Естественно, он оптимизирован под это.

    Reply
  5. WKBAPKA

    ко всему прочему XML дает возможность создавать древовидную структуру неограниченой вложенности…

    я вообще считаю обсуждение формата XML в стиле «хваленый» не уместным. Этот формат одобрен и принят организацией W3C (хотя могу и ошибаться в названии), также как и стандарт XML.

    А XLS простая двухмерная таблица, как можно сравнивать попу с пальцем?

    Reply
  6. WiseSnake

    (4,5) Полностью согласен. Это не сравнимые вещи. XML умеют читать все современные языки. И про древовидную структуру очень дельное замечание.

    Reply
  7. WiseSnake

    +6 Кстати архивировать пробовали оба файла? Как размеры архивов?

    Reply
  8. Шёпот теней

    (4…7) … я СОгласен с вами … и в целом и по частям, всмысле всё, что вы сказали …

    … НО …

    .. практика определяет использование … повторюсь: если ОН тАААкой хороший — дык почему же его не используют повседневно … ОН просто очень «НЕкрасив» и «НЕкусен» ни в записи, ни в чтении, ни в просмотре …

    … а по поводу «древовидной структуры неограниченой вложенности» — и что … звучит НУ очень красиво а практики ноль …

    … вооотвооообщем …

    Reply
  9. Шёпот теней

    (8) + дополнение: это не новое — это старое в новой упаковке — это текстовый файл с записанным в него офрмления и типы значений И …

    … но это текстовый файл — не больше и не меньше … всего лишь …

    … вОт …

    Reply
  10. WiseSnake

    (8) Не соглашусь. Использую практически каждый день. Читабельность меня устраивает.

    (9) Это всего лишь попытка универсализировать описание ЛЮБЫХ!!! произвольных данных…

    + Я вообще не представляю как будет выглядеть выгрузка например из ЗиК в ЗУП всех данных в XLS. Одно знаю в ней черт ногу сломает, а вот в XML легко рабобраться, если конечно знаешь где искать.

    P.S. Ваша разработка подходит для простеньких двумерных выгрузок табличных частей, да и то не уверен (смущает например как номенклатура по ссылке из ТЧ выгрузится, код смотреть лень)…. ИМХО!!!

    Reply
  11. Шёпот теней

    ага …

    вот малая толика про ексель:

    Параметры листов и книг Microsoft Excel

    Возможности Наибольшее число

    Все открытые книги Ограничивается объемом доступной памяти и ресурсами системы

    Размер листа 65536 строк и 256 столбцов

    Ширина столбца 255 знаков

    Высота строки 409 точек

    Разрывы страниц 1000 горизонтальных и вертикальных

    Длина записи для содержимого ячеек (текст) 32767 знаков. В ячейке отображаются только 1024 знака; все 32767 знаков отображаются в строке формул.

    Число листов в книге Ограничено объемом доступной памяти (значение по умолчанию — 3 листа)

    Число цветов в книге 56

    Число стилей ячейки книги 4000

    Число именованных представлений в книге Ограничивается объемом доступной оперативной памяти

    Пользовательские числовые форматы Ограничивается объемом доступной оперативной памяти

    Число имен в книге Ограничивается объемом доступной оперативной памяти

    Число окон в книге Ограничивается ресурсами системы

    Число областей в окне 4

    Число связанных листов Ограничивается объемом доступной оперативной памяти

    Сценарии Ограничивается объемом доступной оперативной памяти, в итоговый отчет включается первый 251 сценарий

    Число изменяемых ячеек в сценарии 32

    Число вычисляемых ячеек в надстройке «Поиск решения» 200

    Пользовательские функции Ограничивается объемом доступной оперативной памяти

    Пределы масштабирования от 10 до 400 процентов

    Отчеты Ограничивается объемом доступной оперативной памяти

    Число уровней сортировки 3 для однократной сортировки; не ограничено для последовательных сортировок

    Число уровней отмены 16

    Число полей в форме данных 32

    Число пользовательских панелей в книге Ограничивается объемом доступной оперативной памяти

    Настройка кнопок панелей инструментов Ограничивается объемом доступной оперативной памяти

    Параметры для рабочих групп

    Возможности Наибольшее число

    Наибольшее число пользователей, которые могут одновременно открывать общую книгу 256

    Наибольшее число личных представлений в общей книге Ограничивается объемом доступной оперативной памяти

    Число дней, поддерживаемое журналом изменений 32767 (по умолчанию 30 дней)

    Наибольшее число одновременно объединяемых книг Microsoft Excel Ограничивается объемом доступной оперативной памяти

    Ячейки, которые могут быть выделены в общей книге 32767

    Наибольшее число цветов для обозначения изменений, вносимых разными пользователями, при включенном режиме цветового выделения изменений 32 (каждому пользователю соответствует свой цвет; изменения текущего пользователя выделяются темно-синим цветом)

    Reply
  12. Шёпот теней

    http://extrapro.ru/udxml.html

    »

    Патриархи ИТ сказали XML — значит XML. Только совершенно отставший от современных идей или тот, кому по какой-то причине XML вообще никак не подходит, будет пытаться использовать что-то другое. Если только хоть как-то можно использовать XML — надо его использовать. Иначе слишком высока вероятность того, что вас посчитают опасным дилетантом, непрофессионалом. »

    … его даже : «Этот формат одобрен и принят организацией W3C (хотя могу и ошибаться в названии), также как и стандарт XML.»…

    … и конечно же : «А XLS простая двухмерная таблица, как можно сравнивать попу с пальцем?» …

    … действительно … чего это я … сначала надо выгрузить всю базу в XML а уж потом ужжж что-то говорить …

    … то-то через XML по полгода данные переносят и перенести не могут …

    ах… да … мы не умееем их готовить …

    Reply
  13. venger

    (5) > А XLS простая двухмерная таблица, как можно сравнивать попу с пальцем?

    Скорее dbf — это двухмерная таблица, а вот xls — это нечто большее;)

    Кстати, сравнивать нужно палец с кое чем другим;)

    (6) > XML умеют читать все современные языки

    Все современные языки умеют читать все, вообще то;) Или Вы о чем?

    Но суть даже не в этом, концептуально вся инфа в 1С на физическом уровне (это на логическом уровне 1С объектно-ориентированная ДБ), как раз лежит во взаимосвязанных двухмерных таблицах. Соответственно выгружать и загружать можно хоть через xls, хоть dbf, хоть через другую буферную структуру, где все в одном файле или во многих. Но другой вопрос, что эффективней в каких случаях…

    Вот, например, в УРИБ в семерке или МОД, через xml обмен данными идет? Или всем известный *.dat, при выгрузке-загрузке данных в конфигураторе — это xml?

    Reply
  14. anbxp

    (13) В них обмен идет через эксель:)

    Reply
  15. WKBAPKA

    2(13): планы обмена 8.1 только использует XML. Что касается вашего замечания — таблица в XLS исключительно двухмерная, а то что в файле хранится дополнительная информация, это не меняет сути.

    Reply
  16. WKBAPKA

    интересно мне будет посмотреть, как будут передаваться данные по документам по ссылочным типам данных. Т.е., передаем контрагента, у контрагента есть свои реквизиты объектного типа, как это описать класически в таблице типа что бы было удобно читать и обрабатывать.

    Reply
  17. WKBAPKA

    2(9): Шепот, что в твоем понимании «просто текстовый файл»? это не просто текстовый файл, это такой же набор байтов, машинных кодов из которых состоит любая программа, любой файл

    Reply
  18. WKBAPKA

    2(12): Шепот, я иногда тебе удивляюсь. Переноси себе как твоей душе удобно. Ты изобретаешь велосипед и ставишь все и всех под сомнения. Ты уже дошел до того, что считаешь дебилами разработчиков 1С. Кстати, конвертация почемето использует таки формат XML.

    До тебя думаешь не переносили через разные форматы. Если на то пошло, то наиболее удобнее использовать DBF в твоем случае. Используя элементарные понятия построения реляционных баз данных можно организовывать обмен и по сложнее, чем реализован у тебя.

    Reply
  19. WKBAPKA

    2(13): какой в УРИБ принцип используется? дело не в самом файле, а в концепции и стандартизации. То что пишет Шепот программисты давно уже прошли еще в 90-х годах, тогда не было такой концепции, хотя были некоторые программы использующие в качестве базы данных древовидные структуры.

    Reply
  20. WKBAPKA

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

    Reply
  21. WKBAPKA

    2(10): просто Шепот не понимает, что XML это немного более, чем просто перенос документов из 1С. XML разрабатывался прежде всего для расширения и для замены HTML, а потом уже начал получать более широкое применение. Существуют аналоги этому формату, более компактные.

    Reply
  22. WiseSnake

    Согласен с (15-20), нечего изобретать велосипед. Думаю каждый из нас писал что то подобное в своей карьере, но я почему то не выкладываю свой бред 5 летней давности. Почему каждый думает, что он умнее других????

    Лично я убедился в том, что в 90%-95% случаев механизм реализованный 1С более правильный чем тот что предлагают бухгалтера, программисты и т.п. т.д…. как бы мы к 1с не относились, но они работают и работают достаточно эффективно!

    А если обсуждать XML так это вообще не тема 1С это глобальная тема. Лично я считаю что XML не любят те люди, кто им не умеет пользоваться!!! Именно таким был и я в свое время, но теперь я отношусь к этому совсем подругому чего и вам желаю….

    Reply
  23. Шёпот теней

    … «она его за муки полюбила, а он ее за состраданье к ним» …

    … вот и файл XML — некрасив, непонятен, необЪсним, но таАак дорог сердцу БОЛЬШИХ программистов …

    WiseSnake — принято …

    Reply
  24. Шёпот теней

    … беседа ушла не в те рамки …

    … данная обработки не представляет собой ничего глобального как только запись и чтение документа xls … очередная обработка 1с и ексель …

    … для обмена документами нашим бухгалтерам удобнее ТАКОЕ — они открывают XLS и сразу «видят» что в нём в отличие от XML …

    … кому, что «нДравится» пусть тот то и «юзает» …

    … вОт …

    Reply
  25. Шёпот теней

    в данной обработке показываю и делаю упор на двух способах записи в файл екселя:

    1. первый описан и известен

    2. второй — мною нигде ранее не встречался … в отличии от чтения (UserRange) …

    … и именно на 2 способе и хотелось заострить внимание …

    Reply
  26. artbear

    Минус за представление и описание разработки как противопоставление ХМЛ и ХЛС.

    Автор, исправь описание на свое же (25) без противопоставления ХМЛ и ХЛС, и будет нормальная, рабочая, нужная разработка 🙂

    Reply
  27. Шёпот теней

    1. размер XLS меньше чем XML

    2. читаемость XLS выше чем XML

    … где здесь НЕправда …

    Reply
  28. WKBAPKA

    2(29): Шепот — XML и XLS имеют разные предназначения и друг друга не подменяют. Незачот. Вот.

    Reply
  29. WKBAPKA

    минус ставлю не за разработку, возможно она заслуживает плюс и не один, минус за неадекватность в споре!

    Reply
  30. WKBAPKA

    2(28): если будешь использовать тот же DBF получишь еще более компактный файл, а также значительную скорость в работе. И он также открывается Excel.

    Reply
  31. Поручик

    >>>> сравниваются XML и XLS

    Лучше сравнивать что-то с пальцем, по крайней мере это однотипные вещи. Честно говоря, не ожидал от автора такого.

    Reply
  32. Поручик

    Извиняюсь, но минус за сравнение несравнимого.

    Reply
  33. Ish_2

    Извини,Шепот. Но тебе , на мой взгляд , убедительно показали неудачность противопоставления XML и XLS .

    Сузил бы тему. Сосредоточился бы на способе записи в П.С 2 и только на нём -был бы толк . Ты же полез в разлагольствования на тему «что эффективнее» ! .

    Зачем ?

    Оказалось к тому же , что все твои доводы в пользу XLS , опровергаются

    (32) . Действительно DBF и меньше по объему и в 1с есть встроенные средства работы с DBF , значительно ускоряющие процедуры поиска в DBF .

    Продолжая твою логику , приходишь к выводу :

    Зачем нам хвалёный Шепотом XLS ? — Даёшь DBF !!!

    Reply
  34. Шёпот теней

    В среде программистов сложились, под давлением разных обстоятельств в основном ничем не обоснованных (… нууу… у женщин есть же мода … вот и у программистов она то же есть, а там где мода там, как правило, отсутствует здравый смысл …) мнение о том, что XML это круто по сравнению с XLS … тем более, что ВСЕ так и говорят …

    XML — это иерархическая структура, предназначенная для хранения любых данных, визуально структура может быть представлена как дерево.

    Заметьте «как дерево» – много ли данных можно описать «как дерево». Сколько раз ВЫ видели в 1С «дерево»? и сколько раз ВЫ видели «таблицы»?

    Давайте посмотрим вокруг нас. 9 из 10 складских работников данные в 1С сверяют по своему екселю. А Почему? Потому, что данным в 1С они не верят а своему екселю верят.

    Опять XLS.

    Запишем наш документ, при обмене данными, в формате XLS и в формате XML. Мало того, что XML формат прочитать визуально плохо читаем и требует своего редактора. А если открывать в браузере или блокноте то назовите сколько бухгалтеров да и программистов это всё сможет понять. А XLS формат и прочитан будет и понят будет существенно быстрее. Ну, если конечно времени вагон и вам на роботе делать нечего, то можно заняться и XML. XML – это ведь круто.

    Понимаю, что в настоящий момент ругать XML это смерти подобно. Но. Посмотрите вокруг. Где XLS и где XML. Сколько тех и сколько других.

    Это то же самое что и сравнивать Делфи и ВБА. Программируешь на Делфи – круто. На ВБА – аааа, позор.

    Посмотрите вокруг. Работа с ворд и екселем это всё ВБА. Сколько у нас разработок и вопросов связанных с Екселем и Вордом. И сколько с Делфи. Ну, да. Сейчас мне скажут, что не надо путать палец с одним местом…

    Посмотрите вокруг и ВЫ увидите реалии, а не заоблачные фантазии.

    И опять же, сколько у нас разработок и вопросов связанных с Екселем и Вордом. И сколько с XML.

    Вообщем это у нас как с сексом и моралью. Все говорят о морали, но занимаются сексом.

    смЕЕЕшнос….

    Reply
  35. Трактор

    Похожую картинку увидел в рекламе гугела

    http://www.sadowajaimperija.ru/login.php?t&ref=gowru

    Reply
  36. Шёпот теней

    (38) … ага … это с игрушки …

    Reply
  37. WKBAPKA

    Шепот, извини, но буду говорить грубо. у тебя с головой все в порядке? похоже нет. сравнивать XML с XLS и приводить такие доводы, нужно иметь справку от психиатра. Нельзя, понимаешь, нельзя! разные вещи. Для чего Excel предусмотрен и XML. Это такие же разные вещие как твой хваленый XLS и HTML.

    Ты сайты на XLS пишешь? К чему этот гон. ты уже такой порожняк гонишь, что уже в одни ворота не влазит… у тебя что, осеннее обострение?

    Reply
  38. WKBAPKA

    ну реально, ну такой словесный пронос читать просто противопоказано. ты на Delphi хоть строчку кода написал? ты знаешь, что Delphi — это вобщем то обычный Паскаль, а круто писать на C++ и всегда так было, а Паскаль всегда был языком для обучения программированию. Тот же 1С написан на тех же сях. Это таже лабуда что ты гнал про управленческий учет.

    Excel — это Excel, а XML — это тебе не табличный редактор, это млин, просто стандарт. пользуйся или не пользуйся, никого не гребет.

    Reply
  39. WKBAPKA

    я как то по управленческому учету тебя к первоисточникам отсылал… тут Арчибальд мне сказал, что ты столько книг читаешь, что я за всю жизнь не осилю. То ли Арчибальд сильно ошибся, то ли ты его подставил. В теории, книгну по XML должен был прочесть.!!!

    Reply
  40. Шёпот теней

    господин — WKBAPKA …

    убедительная просьба покинуть мои ветки …

    Reply
  41. larisab

    (36) > … нууу… у женщин есть же мода … вот и у программистов она то же есть, а там где мода там, как правило, отсутствует здравый смысл …

    > Вообщем это у нас как с сексом и моралью. Все говорят о морали, но занимаются сексом.

    смЕЕЕшнос….

    Шепот, ты меня поражаешь!

    Мода есть… и она не только у женщин ;)…

    Отсутствие здравого смысла в моде…

    Тут ты просто убил, аж в самое сердце…

    Заниматься сексом аморально?!… Ваааащеееее нет слов…

    И дети — аморально?!!!

    У меня уже не первый раз складывается впечатление, что ты полный мизантроп и, что тебе лет 100… Нести такую чушь…

    И все это ради xls???? В больницу и срочно….

    Reply
  42. WKBAPKA

    сорри за резкое высказывание, нервы не железные… Шепот, покидаю, и больше ни в одну из твоих веток заходить не буду, мое психическое здоровье мне дороже.

    Reply
  43. WKBAPKA

    Мизантро́пия (греч. μίσος — «ненависть» и άνθρωπος — «человек») — это неприязнь, недоверие или ненависть к человечеству или предрасположенность к неприязни и/или недоверию к другим людям. Также — выражение неприязни и презрения к «общепринятым» правилам и «моральным ценностям», недоверие и презрение к господствующей религии и её догматам, желание во что бы то ни стало отгородить себя от внешних контактов с обществом, чаще всего — не беспочвенна и проявляется у творческих личностей и личностей, непонятых или отвергнутых остальным «социумом», не нашедших себе места в обществе и лишённых единомышленников (не путать с маргиналами). Термин также подходит к тем людям, которые добровольно избегают общения с другими людьми или становятся отшельниками из-за вышеупомянутых чувств.

    Reply
  44. Поручик

    Не лучше ли админам просто грохнуть эту темо-бредятину, дабы вновь пришедшие посетители не подумали, что попали на мисту или другое нехорошее место.

    Reply
  45. WKBAPKA

    2(47): поддерживаю

    Reply
  46. inse0f

    (12) на приведенном сайте написан бред сивой кобылы, человека которых вообще ничего не смыслит в сериализации, таких не исправишь, жаль что его в университете не воспитали к адекватности

    Reply
  47. Шёпот теней
    Reply
  48. Шёпот теней

    если, например, разделить таблицу на «данные» и «оформление» (визализация) — то XML это «данные» …

    любая структура описывается произвольно (тегами) … вот в этой произвольности и кроется достоинства и недостатки …

    для сборки, визуализации, нужно знать первоначальную структуру …

    … XML — это лишь одна из форм взаимодействия между программами …

    … это текстовый файл — и этот формат является бесплатным —

    видимо в этом его главное преимущество …

    .. но большое не бывает понятным- поэтому стали придумывать стандарты — «пространство имён» …

    … никто не мешает придумывать на его основе свои форматы и стандарты … что всегда и существовало у программистов …

    Reply
  49. WKBAPKA

    :))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

    весельчак…. какое формат хранения данных является платным )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

    Reply
  50. WKBAPKA

    все я покидаю эту ветку, бредятина

    Reply
  51. Шёпот теней

    если попытаться представить формат XML структурой — то это будет одномерный массив, или одноколоночная таблица …

    … в элемент массива или строки колонки можно положить одну текстовую строку …

    … уровень этой строки от «нулевой» строки измеряется количеством знаков табуляции в начале строки …

    … поэтому чтобы представить любые данные в формате XML вы сначала должны будете траспонировать их в одну колонку — естественно обратный процесс вас ждёт при «сборки» xml файла в программе получателе …

    … если вам это нравится … XML ваш надЁжный союзник …

    Reply
  52. WKBAPKA

    Шепот, признаю твое упорство с которым ты отстаиваешь свое мнение. Извини, что иногда резко высказываюсь, возможно мне не стоит так делать.

    В данном случае ты ошибаешся относительно одной колонки. Да и вообще, пойми, язык этот разрабатывался для других целей, и не заменяет Excel. Нельзя сравнивать не сравниваемые вещи. Каждый волен использовать свои методы обмена данными. Просто данный стандарт оказался удобнее, не для восприятия, а для работы.

    Reply
  53. Поручик

    И накурку искать не надо, здесь бесплатно дают.

    Reply
  54. Ish_2

    Шепот , давай сыграем на твоей поляне .

    Я хотел сказать на твоей длинной цитате :

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

    Другой прикладной задачей, требующей применения XML-технологии, является хранение документов, которые по требованию пользователя должны быть предоставлены в самых различных форматах. Типичным примером может служить техническая документация, которая в любой момент должна быть доступна в самых различных форматах — HTML, PostScript, PDF и др.»

    Где тут сказано , что XML лучше или хуже XLS ?

    Где тут сказано , что кладовщики не могут обмениваться файлами XLS ?

    Могут ! И для них это лучше , чем XML ! — Ведь с тобой никто и не спорит.

    Главная мысль в ТВОЕЙ цитате : сила и удобство XML в универсальности .

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

    Слабость XML — также в универсальности , т.е в каждом конкретном случае

    обмен данными через XML проиграет какому-то формату (XLS, например).

    Ты увидел конкретный случай и закричал : Ага ! Слабовато будет !

    Мы все тебя наперебой убеждаем : Шепот , ты забываешь об универсальности XML !

    Reply
  55. Hamlet

    Блин, и за шо такая рубка?

    Шепот написал загрузку/выгрузку в Эксель.

    В аннотации обосновал свое ё тем, что, с ЕГО точки зрения юзерам удобнее будет просматривать XLS а не XML. По ходу дела НЕОСТОРОЖНО зацепил холиварную тему XML. Зря, конечно.

    НИКТО здесь не сказал, что XML ХУЖЕ XLS!!! Ни не дай боже!

    И за вот это его здесь уже третий день…. 🙂

    Reply
  56. I_G_O_R

    жесткач полный…дню программиста посвящается

    Reply
  57. Шёпот теней

    (59) Hamlet : БОЛЬШОЕ, ОГРОМНОЕ СПАСИБО !

    с увАжением Александр Шишкин! (Шёпот теней) …

    Reply
  58. WiseSnake

    (59) Почему же … сказал, что XML едленнее, фалы больше, а формат нечитабельный…

    >>Заметьте «как дерево» – много ли данных можно описать «как дерево». >Сколько раз ВЫ видели в 1С «дерево»? и сколько раз ВЫ видели «таблицы»?

    А вот это интересное заявление :). Лично я очень редко вижу в 1С таблицы. Вы скажете, а как же табличная часть? Вы видимо забыли что в табличной части хранятся ССЫЛКИ! Разверните их и получите ТАКОЕ дерево, что не в сказке сказать не XLS описать ))))))))))))!!!

    P.S. С прошедшим Вас днем программиста!

    Reply
  59. Арчибальд
    Reply
  60. WiseSnake

    (63) < Естественно. WiseSnake – Программист. Он «умеет готовить» .xml. А юзерам как быть?>

    Позволю не согласится. Я могу Вам показать женщину около 50 лет, которая умеет читать и разбираться в xml чуть ли не лучьше меня!!! Причем ее даже не пугает не структурированный xml… Тот что открывается в ехсплорере… А когда я ей еще и редактор поставил, так ей вооще все нипочем…)))

    > Однако людей, которые не умеют пользоваться .xml, гораздо больше

    Учитывая вышесказанное, что им мешает в нем разобраться?

    > Т.е. Недостатки .xml – естественное продолжение его достоинств. А также наоборот. Чего же было копья ломать?

    А вот с этим полностью согласен! Это ИМХО и пытались Александру объяснить изначально. Что его сравнения не имеют смысла.

    Reply
  61. vasilykushnir

    (63) Я вообще удивляюсь, че они все так завелись. К своему стыду признаюсь, когда не нужны особые извраты, по максимуму использую DBF — быстро, просто и компактно. Каждому овощу — своя грядка.

    Reply
  62. Арчибальд

    (65) А у меня по этому поводу и тени стыда не появляется. Я два года импортировал документы с удаленной базы через xml (правила обмена). А теперь перешел на txt. И не краснею.

    (64) «Что им мешает в нем разобраться».

    Да ровно то же самое, что мешает американцам мерять расстояние в километрах, а не милях. Нет потребности такой.

    Reply
  63. larisab

    По этому поводу анектод есть:

    -Киргиз лучше, чем узбек!

    -Чем лучше?

    -Чем-чем, ЧЕМ узбек!

    Reply
  64. Арчибальд

    (67) Воистину :))

    Reply
  65. WiseSnake

    (66) Удивляет меня иногда народ русский… Но зато теперь мне понятно и почему у нас хорошие машины не выпускают — нет потребности такой… дороги то все равно плохие…))))

    Reply
  66. Арчибальд

    (69) Или наоборот: на кой нам дороги, если по ним все равно ездить не на чем :)))

    Reply
  67. WiseSnake

    (70) Правильно понимаешь! Вот тут и получается замкнутый круг :)))

    Так же как и с xml ;P

    Reply
  68. WKBAPKA

    Арчибальд как всегда, в своем репертуаре. Как у нас тут первый президент, между капельками, и на белом коне. Группа таблиц — это не база данных. Я пока не встречал в своей жизни что бы ктото строил базу данных с использованием xls (я знаю, что есть программы написанные полностью на Excel, я про использования формата для хранения базы данных).

    Ко всему прочему Арчибальд упомянул, что перешел на txt для реализации задачи обмена данными. Но ведь не на xls!

    Относительно колкостей в мой адрес. Что вам не понравилось в слове «элементарные»? Т.е. понятия типа две таблицы и отношение один ко многим по ключу, это что то из высшей школы?

    И вообще, это вторая часть. Первая была про управленческий учет. Таже ахинея неслась. Я понимаю, что у вас с Шепотом симпатия друг к другу, но не да такой же степени 🙂

    Вместо того что бы согласиться, что таки да, таки придумали люди тот же DBF и что перенос через XLS не оптимальный, требует наличия Офиса на компьютере, использование COM соединения, нет возможности строить индексы, не очевидные связи и т.д и т.п, нет, разведем демагогию.

    Reply
  69. WKBAPKA

    я теперь понимаю, главное поумничать. именно поэтому в этой стране из хорошего получаются только дети…

    Reply
  70. Арчибальд

    Ergo: если имеешь автобан в нужном направлении и Феррари под рукой — счастливого пути. А на рыбалку по тропинке — на велосипеде, на велосипеде 😀

    Reply
  71. Шёпот теней

    у нас не такое глобальное разделение труда как тАмА …

    … это у нАс программист 1С и жнец и на игра дудец … а у них каждый только для своего специалист …

    поэтому у нас главное удобство — сделать для всех а у них удобство — сделать строго под себя …

    наши тенденции такие же как тАмА — только результаты обратные …

    Reply
  72. Арчибальд

    (72) Я только проиллюстрирую иронию (а не колкость) из 63. Поскольку законы Ньютона знает (или должен знать) каждый семиклассник, следует вычеркнуть его из списка ученых.

    p.s. dbf постарше, чем xls. Лет этак на десяток.

    Reply
  73. Шёпот теней

    файлы ДБФ всем хороши… но для передачи документа надо будет делать столько

    файлов ДБФ сколько табличныхЧастей в документе + 1 на Реквизиты …

    … если же делать в одном ДБФ — то тогда почти нет смысла менять …

    … а xls позволяет сохранить документ «всё» в одном и в удобном для представления виде… наши бухи смотрят «файл» иговрят хотим то и то …в случае xml — это ступор …

    … опять же поиск по ИС — чего только не переносят при помощи XLS в 1С … а вот при помощи XML почти ничего …

    … вОт …

    Reply
  74. WKBAPKA

    для того что бы передать документ с табличными частями понадобиться всего две таблицы с отношением один ко многим.

    Арчибальд, я этот типа английский юмор не понимаю. Я три раза перечитал пост и не въехал.

    Reply
  75. WKBAPKA

    2(77): Есть такая конфигурация, называется «Конвертация данных». Данные переносятся исключительно через xml!

    Reply
  76. Шёпот теней

    передача текстового файла хороша была тем, на первых порах развития интернета,

    когда качество было не ахти, что потеря битов информации была не критичной при

    открытии файла …

    Язык HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1991—1992 годах

    .. ужжж потом придумали HTML. Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения).

    .. потом начались такие же войны за обладанием стандартА … и вот уже: Планируемая спецификация XHTML 2.0 разрывает совместимость со старыми версиями HTML и XHTML, что не очень устраивает некоторых веб-разработчиков и производителей браузеров.

    Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет.

    … этот лишь этап борьбы между конкурентами …

    … это всё текстовые файлы со своими правилами обмена… Арчибальд придумал свой … был бы за границей — ему бы кланялись — а у нас скажут — «теперь понятно почему у нас дороги плохие»…

    … вОт …

    Reply
  77. larisab

    (80)> был бы за границей — ему бы кланялись…

    Бред какой…

    Reply
  78. Арчибальд

    (78) Реляционная модель данных — это научное открытие. В терминах ВАК (или как там она теперь называется), «постановка и решение новой научной задачи» — предмет докторской диссертации. По той же классификации, Excel — методически новое решение известной задачи табличных вычислений, т.е. уровень кандидатской. Текстовый стандарт xml «потянет» разве что на дипломную работу. В контексте обсуждения xls & xml говорить об «элементарности» dbf, по меньшей мере, некстати.

    Reply
  79. Арчибальд

    (81) Да уж, это Шепот загнул далеко :)))

    Reply
  80. WKBAPKA

    2(82): Вы иногда читаете тот бред что пишите? Это ж надо, научное открытие… хех, ну и загнули. Так и представляется, как сидиту чудак в халате среди пробирок, и бац, ЭВРИКА !!!!!!!!!!!!!!!!!!!!!! теперь будем данные в формате DBF хранить. перфокарты так вообще инопланетная техналогия в этом случае.

    ребята, а где такой классный план продают, вижу вас прет не по детски 😉

    Reply
  81. Шёпот теней

    любой стандарт — это файл обмена …. такая же чехАрда очень долго тянулась и в графических стандартах …

    … разработать свой стандарт обмена в тестовом файле — эка не видаль … вот распротранить его это да! … это политика …

    … написать бухгПрограмму вопрос года + тестирование =года 2 а вот распространить её это дА! … это политика…

    … почему отделили данные от их отображения — данные это просто а вот итображение это сложно …. если вы работает в одной программе и пшите обмен для такой же — то нет смысла городить транспонирование … пиши как хочешь — стандарт отображения известен … а вот если надо написать что-то и не понятно где ЭТО откроется ? …

    тогда ДА! … тогда есть смысл делить данные и их отображение …

    .. вОт …

    Reply
  82. Арчибальд

    (84) Говоря Вашими словами, если ты такой умный, то почему не богатый? Почему Премия Тьюринга ($250000) за реляционную модель досталась Кодду, когда это так элементарно?

    Нет, ответ-то я предполагаю. «Поскольку кроме ЦФО нет предмета, достойного внимания…»

    Reply
  83. WKBAPKA

    гы. мне уже даже не смешно. знаете, сколько всего изобретается в области информатики. концепции, подходы и т.п. но называть это научным открытием… это перебор…

    А насчет ЦФО: если вы в этом ничего не шарите, то к чему этот цирк?

    Reply
  84. Ish_2

    (86) Эх .. Арчибальд , мы ведь уже гурьбой почти добили Шепота.

    Ты вмешался — и Шепот воспрял.

    Арчибальд ты пошел против коллектива!

    Reply
  85. larisab

    А про обработку кто-нибудь что-нибудь скажет?

    Вот у меня, например, прочитать файл — не может.

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

    Reply
  86. larisab

    а назначить лист не дает.

    Reply
  87. Арчибальд

    (88) Ты-то его, кстати, не бил. Так что нечего к «коллективу» примазываться.

    Заметь, я вмешался, только когда пОходя упомянули как элементарщину одну из важнейших инноваций 20 века. Воинствующее невежество. Зачем нам дуб, если у нас есть желуди…

    Reply
  88. vasilykushnir

    (89) Да бог с ней, с обработкой! Не до нее уже — в пылу спора вместе с водой младенца выплеснули.

    Reply
  89. larisab

    (92) Согласна

    Reply
  90. Ish_2

    (93) С чем согласна-то ?

    С тем «что Бог сней с обработкой » ? Прощаете Шепоту (89) ?

    А по мне так, пущай ответит !

    Reply
  91. larisab

    (94) Согласна с тем, что «в пылу спора вместе с водой младенца выплеснули»

    Reply
  92. Шёпот теней

    (90) … хм … поверил … скачал … проверил … рАботает …

    … не даёт открывать «пустые» листы … да не даёт … исправлю если это кому-то интресно …

    … иногда вылетает Ексель при открытии (когда заполнение листов не большое …) — это бывает (надо делать мАленькую задержку) — исправлю если это кому-то интресно …

    … не понял … повтори вопрос … где, что не работает ..?

    Reply
  93. WKBAPKA

    2(91): Толи я тупой, толи лыжи не едут. Пожалуйста, внимательно перечитайте, что я написал. Я написал «обладая ЭЛЕМЕНТАРНЫМИ ПОНЯТИЯМИ» в области реляционных баз данных. Я нигде не писал «как элементарщину одну из важнейших инноваций 20 века.». Там слова об этом не было. Если есть ко мне не приязнь, это не значит что имеешь права перекручивать мои слова.

    Еще раз цитирую себя:

    >>Используя элементарные понятия построения реляционных баз данных можно организовывать обмен и по сложнее, чем реализован у тебя.

    Если многоуважаемый Арчибальд усмотрел для себя наличие двух таблиц и связывающего их ключа для себя сложным и непостижимым, заслуживающего как минимум докторской диссертации, ну тогда у меня нет слов!

    Reply
  94. larisab

    (97) Не читает файл из 1 листа и их 2 листов. Список выбора пустой, мигет в текущей строке 0.

    У меня Excel 2007. Причем выгружает нормально и в формате xlsx и в xls. Но прочитать никакой не дает.

    Вот, может полезно будет.

    Reply
  95. maxkisa

    (28)

    Шёпот теней пишет:

    1. размер XLS меньше чем XML 2. читаемость XLS выше чем XML

    … где здесь НЕправда …

    1. Новые форматы от M$ — это разве не заархивированный XML? =)

    2. XML можно предстваить в читаемом виде — было бы желание =)

    Reply
  96. Шёпот теней

    (166) … понятно что «текстовый» файл сжимает очень и очень хорошо !!! XML — вот ОН и есть текстовый файл …

    а вот 2. XML можно предстваить в читаемом виде — было бы желание =)

    в читаемом виде хорошо ложатся древовидные структуры !!! согласен … а вот таблицы нужно постоянно при записи и чтении, транспонировать … ))) … хм … кому-то ЭТО интересно … !

    … вот …

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *