Может ли 1С выйти на рынок B2C




Принцип обмена данными из 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='\

72 Comments

  1. MotorBox

    Чтобы из продукта 1С можно было выйти на на рынок B2C нужно прежде всего чтобы руководство 1С задушило собственную жабу и вернуло неограниченное лицензирование как это было в 1С 77. Никто не будет возится с частными клиентами если для каждого надо докупать новую лицензию на подключение.

    Reply
  2. genayo

    Все это хорошо, конечно, но зачем пытаться натянуть сову на глобус?

    Reply
  3. KroVladS

    (1)

    Никто не будет возится с частными клиентами если для каждого надо докупать новую лицензию на подключение.

    Да именно так, вопрос с лицензированием самый острый и непонятный.

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

    О каком B2C говорить?

    Reply
  4. корум

    (4) «если вы такой умный, то почему же такой бедный?».

    Подход 1с привёл 1с к успеху.

    Reply
  5. WanGoff

    (4) весь Ваш ответ сводит на Нет буква Г. Коверкать фамилии это плохо и некрасиво.

    Reply
  6. WanGoff

    (1) да, это важный комментарий.

    Лицензии сильно ограничивают модель монетизации.

    Reply
  7. MotorBox

    (6)Не хотел коверкать ни чьих фамилий. Просто описка. Нуралиев естественно.

    Reply
  8. MotorBox

    (5)На «если вы такой умный, то почему же такой бедный?» мне всегда хочется ответить «если вы такой богатый, то почему такая сволочь».

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

    А к успеху 1С привела та же стратегия что и Майкрософт. Причем и претензии к ним во многом похожие. Перевес маркетинга над разработкой приводит к одинаковым результатам.

    Но я уверен что если бы 1С выбрали правильную платформу то успех у них был бы в двое больше. Не топтались бы на территории бСССР, а давно бы двинулись в остальной мир.

    Reply
  9. WanGoff

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

    Reply
  10. WanGoff

    (11) курица или яйцо.

    Reply
  11. TODD22

    (9)

    Достали любители измерять интеллект деньгами.

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

    Reply
  12. spezc

    (4) смешно))) пишите еще

    Reply
  13. WanGoff

    (4) Кстати, а что лучше в ИТ за эти годы?

    Касперский? Он не создал отрасль. Что еще?

    Reply
  14. DrAku1a

    (4) Вот так и хочется сказать матом — Чем, …, Вам не угодил язык 1С? Что корявого в языке 77?

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

    Reply
  15. MotorBox

    (16)Если критерием брать только размер то наверно да, 1С в России лучший. Но я считаю это как считать лучшим транспортом самый большой паровоз когда уже есть самолеты, болиды формулы 1 и т.д. Т.е. среди больших паровозов он может и самый лучший, но не среди всех видов транспорта.

    1С выбрал удачную модель маркетинга, франшиза 1С здорово выстрелила. Но торговая сеть Магнит, например, тоже франшиза и тоже хорошо получилась. Иногда франшиза удачно входит в рынок, но это происходит только благодаря грамотной коммерческой политике. ИТ здесь не при чем.

    А вот перспективы 1С как ИТ продукта в мировом масштабе весьма туманны. Во всяком случае для прорыва им необходимы серьезные перемены в платформе. Перемены конечно у них уже начались, управляемые формы например, но не поздно ли. Лучше кардинальные перемены было начать с 1С 8.0. Результаты были бы уже совсем другие.

    Reply
  16. TODD22
    Но я считаю это как считать лучшим транспортом самый большой паровоз когда уже есть самолеты, болиды формулы 1 и т.д. Т.е. среди больших паровозов он может и самый лучший, но не среди всех видов транспорта.

    И что из транспорта по вашему лучше самолёт, паровоз или болид формулы 1? Может надо сравнивать сопоставимые вещи? Или интеллектуалам всё равно и они с лёгкостью сравнивают мягкое и тёплое?

    Reply
  17. MotorBox

    (17)

    Вам не угодил язык 1С? Что корявого в языке 77?

    Знаете, когда я видел язык запросов в клюшках мне тоже очень хотелось матерится. Такое впечатление что тот кто его придумал никогда не слышал даже про SQL. Спасал только 1С++. Но я всегда поражался почему 1С++ не принадлежал 1С, перекупить не могли, денег не хватило ? Очень перспективная вещь была.

    И потом, если 1С 77 был такой замечательный язык что же они его в 1с8 так сильно поменяли ? Поменяли, да только побоялись довести перемены до логического конца. Чего боялись ? ХЗ…

    Reply
  18. MotorBox

    (19)

    Или интеллектуалам всё равно и они с лёгкостью сравнивают мягкое и тёплое?

    Если продолжать аналогию с транспортом то интеллектуалам должно быть очевидно, что прежде чем строить паровоз надо вспомнить, что есть и другие виды дорог. ЖД с другой шириной колеи, хотя бы. Кроме ЖД существует множество шоссейных дорог и водных путей по которым паровоз вообще не пройдет. И вообще в мире от паровозов давно отказались, на самых современных ЖД всю гоняют поезда на скорости 300 км/ч на электро тяге, а кое где и на магнитных подушках.

    Если все это вспомнить то станет совершенно понятно что строить надо не паровоз а хотя бы высокоскоростной электровоз.

    Reply
  19. D_e_X_T_e_R

    Если бы 1С пошел в Java, то в 1с бы сейчас писали индусы…Даже подумать страшно)))

    Reply
  20. MotorBox

    (21)Да перспективы бы открылись бы страшные, я бы даже сказал бы завораживающие ;). Где то писали бы индусы, а в Европе, например, не индусы. Да и индусы ведь разные бывают.

    Reply
  21. red80

    (4) Вы все это время знали как и что надо делать и ничего не делали? Это с вашего попустительства узколобый НурГалиев надругался над программированием используя русскоязычные конструкции, пренебрег свободным и демократичным java, считерил использовав франшизу, захватил российский рынок автоматизации и закрыл страшные перспективы?

    (22) Я вот не интеллектуал, объясните мне почему нефть не транспортируют самолетами? Они же быстрее и лучше. Почему поезда на магнитных подушках не гоняют в Кукуево?

    Понты и сопли с пузырями.

    Reply
  22. Dementor
    Reply
  23. TODD22

    (22)

    Если все это вспомнить то станет совершенно понятно что строить надо не паровоз а хотя бы высокоскоростной электровоз.

    Так это же вы сравнили паровоз и самолёты….

    на самых современных ЖД всю гоняют поезда на скорости 300 км/ч на электро тяге, а кое где и на магнитных подушках.

    А тепловозы уже совсем не используют?

    Инструменты надо под задачи подбирать, а не на оборот….

    Reply
  24. MotorBox

    (25)

    Java пытаются заменить на такие новинки как Groovy, Kotlyn

    Вообще то не переходят, а только изучают целесообразность перехода. Чем это кончится еще не известно.

    Но все равно — вы только подтверждаете мои слова. Весь мир развивается. Двигается вперед, а в 1С словно только что распечатали мешок с журналами 20ти летней давности.

    Вот хотя бы — современного программирования не существует без ООП. Во многих языках программирования вводится лябда выражения, а 1С только-только узнали что будущее за мобильными платформами. Отставание 1С заложено в самой его парадигме.

    Где в 1С ООП ? Когда 15 лет назад программистам т.с. не 1С сказали что 1С называет язык 1С77 «объектно ориентированным» те сильно смеялись. Такое впечатление что в 1С не знают что такое ООП.

    Целый пласт последних достижений современного программирования закрыт для 1С из за отсталой парадигмы.

    Reply
  25. neikist

    (28) Вот кстати да, отсутствие ООП и анонимных функций удручает(

    Reply
  26. Dementor

    (28)

    Вообще то не переходят, а только изучают целесообразность перехода.

    Кто-то как раз переходит, а другие уже давно перешли. Если вы, конечно, про мировое сообщество программистов говорите, а не про парочку ваших знакомых, которые не могут освоить новую технологию. О «живости» Groovy и Scala говорит масса хендхантеровских объявлений (я в этой теме не кручусь, но тем не менее это коснулось даже одного из самых известных сайтов бесплатного изучения иностранных языков Duolingo.com — они прямо сейчас переводят ядро своих сервисов с тормознутого PHP с его неповоротливой ООП-парадигмой на более эффектную и эффективную Scala, которая была изначально создана на замену Java).

    Количество появляющихся проектов на Kotlin с выходом в релиз в прошлом году вообще похоже на снежную лавину. Язык оказался настолько популярным и востребованным, что Google официально объявили об его поддержке — плагин для Kotlin официально добавлен в Android Studio 3 и заключен договор с JetBrains о совместном развитии языка.

    Reply
  27. Dementor

    (28)

    Вот хотя бы — современного программирования не существует без ООП.

    И как же в таких условиях возникли и существую Lisp/Clojure, Erlang и Haskell — они же чистая функциональщина??? Или тоже новинка последнего десятилетия — Node.js на базе полу-процедурном и полу-функциональном JavaScript — как он смел вообще появится? Почему, когда пытаются сделать устойчивые системы, которые справляются со сверхвысокими нагрузками, то берут именно Erlang и JavaScript вместо сервера Tomcat для любимого вами Java? Задумайтесь над этими вопросами: может ООП вовсе не серебрянная пуля, а просто нишевое решение для определенного класса задач?

    (28)

    Где в 1С ООП ? Когда 15 лет назад программистам т.с. не 1С сказали что 1С называет язык 1С77 «объектно ориентированным» те сильно смеялись. Такое впечатление что в 1С не знают что такое ООП.

    Целый пласт последних достижений современного программирования закрыт для 1С из за отсталой парадигмы.

    Чем же парадигма Предметно-ориентированного программирования ущербна? Может вы просто привыкли микроскопом забивать гвозди? 🙂

    Я уже понял, что «нет пророка в своем отечестве», и потому предлагаю вам посмотреть на компанию SAP. Ну, вот почему они не взяли и не стали использовать Java в 90-х? Почему они сидели на своем допотопном ABAP (упрощённая версия Кобола), который даже на фоне встроенного языка 1С смотрится каким-то пережитком прошлого — не более 10 символов в названиях процедур, не более 128 символов для поля ввода и далее в таком же духе (не говоря про интерфейсы от которых несет консольными 80-ми)? Да на фоне этого эталона бизнес-программирования с их чистой процедурщиной язык 1С смотрится как верный наследним SmallTalk 🙂

    И все же, почему в SAP стали применять Java только с более-менее стабильных релизов во второй половине 2000-х? Может по той причине, что руководство SAP так же как и руководство 1C знает, что нельзя бросаться в омут сырых технологий, которые как сейчас появились, так завтра могут бесследно пропасть. А технологическое развитие платформы для бизнес-программ штука на миллионы долларов и на много лет разработки.

    Reply
  28. Dementor

    (28)

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

    Весь мир узнал о том, что будущее за мобильными платформами после выхода хайпового iPhone и появления устройств на Android. Но еще в досмартфонную эру 1С уже вышла на рынок мобильных устройств (где в то время царевал Microsoft с его ОС для КПК). Уже в середине 2000-х был выпущен конфигуратор для КПК, который успешно продавался и на базе которого делались мобильные решения для торговых агентов и кладовщиков.

    И, между прочим, раз вас потянуло в сторону функциональщины, то познакомьтесь с управляемыми формами — сплошное использование объектов типа ОписаниеОповещения — как раз фишка из мира парадигмы функционального программирования — использование функций как параметров. Платформа 1С где-то могла застрять только у вас в воображении. Развитие не прекращается ни минуты (как пример, грядущий в конце августа локальный сервер для службы сообщений со штатной возможностью общения прямо внутри платформы). И если вы не видите телодвижений в интересной для вас области, то только потому, что аналитики уже просчитали выгоды и признали интересные вам направления нерентабельными.

    Reply
  29. Gkmy

    (4)

    ИМХО, 1С имел шанс стать лучшим что случилось с ИТ в постсоветском пространстве … В годы создания 1С 77 уже существовала Java. Если бы 1С вы выбрал Java в качестве языка программирования … Прежде всего Java позволила бы войти сообщество Java, использовать множество мировых наработок, облегчило бы масштабирование, облегчило бы выход на мировой рынок …

    Ну и чем вам вот это:

    о=СоздатьОбъект(«MSScriptControl.ScriptControl»);о.Language=»JScript»;
    р=о.Eval(»
    |(function(){
    | var робот={};
    | робот.цвет=’синий’;
    | робот.дистанция=0;
    | робот.идти=function(м){
    |  this.дистанция+=м;
    | }
    | return робот;
    |})();
    |»);
    Сообщить(«цвет робота: «+р.цвет); // синий
    р.идти(20);
    р.идти(30);
    Сообщить(«робот прошёл: «+р.дистанция); // 50
    

    Показать

    ни Java в 1С?

    Reply
  30. Andromancer

    Я так понимаю, автор имел в виду SWOT-анализ, а не SWAT.

    Reply
  31. WanGoff

    (34) да, именно так)

    Reply
  32. MotorBox

    Не вижу смысла отвечать каждому и вообще продолжать спор. И так понятно что вы все как «члены секты поклонников 1С» не хотите в упор видеть серьезных недостатков в вашем кумире. Имеете право. Только для меня очевидно что 1С в современном виде достиг пика своего развития и все больше превращается в монстра. Дальше без прорывных реформ, ИМХО, 1С обречен на постепенный или быстрый спад.

    Самое главное, пойдя по пути превалирования экономики над разработкой 1С сформировала свою отдельную среду разработчиков 1С которая почти оторвана от всего остального ИТ сообщества. Нет, 1с программист как бы тоже программист, но только все остальное ИТ смотрит на 1с свысока. Вы спросите ну и что, скажете вам плевать на их снобизм. Да, но вы не понимаете что этот отрыв лишает среды 1с активного взаимного обмена высоко профессиональными специалистами который мог бы тащить 1с на волне самых современных технологий, а не быть в роли вечно догоняющего. Я не спорю, в 1с есть отличные специалисты хорошо ориентирующиеся в современном ИТ, но их немного. Сам 1С не стимулирует своих сторонников к этому взаимному обмену. Я думаю что он очень много от этого теряет. Вот почему я не считаю что 1С — это лучшее, что случилось с ИТ в постсоветском пространстве.

    Reply
  33. корум

    Забавно читать бурчание на 1с-ников от дизайнера

    Reply
  34. Созинов

    (4) Да очень хотелось бы java или С# (хотя нет, я бы лучше на python писал), но задачи были другие и как показало время — решение было верное, да и большого значения это не имеет, т.к. текущий язык позволяет использовать возможности платформы на все 100%. По поводу вашего «имел шанс» — на текущий момент 1С уже приблизился к корпоративному стандарту де-факто. Если не смотреть Москву И Санкт-Петербург, то 1С по моим ощущением занимает более 50% рынка корпоративных систем (бухгалтерия, зарплата, erp, документооборот …) (не владею статистикой), при этом продолжает теснить конкурентов. Это и хорошо и плохо — 1С-кам работы будет больше, но без мощной конкуренции платформа будет медленно развиваться.

    Reply
  35. Созинов

    (25) Дмитрий, можете подсказать где почитать про обратную кодовую совместимость 7.7 и 8. На 7-ке мало писал и мне показалось что между 7 и 8 громадная пропасть. Хочу для себя уточнить это вопрос и освежить в памяти 7-ку. Заранее спасибо.

    Reply
  36. Ta_Da

    (39)

    можете подсказать где почитать про обратную кодовую совместимость 7.7 и 8.

    скорее всего имелось в виду «если бы в 8ке в качестве встроенного языка использовалась Java», т.к. 7.7 и 8.x по синтаксису совпадают не больше чем js и, например, C — только на уровне базовых конструкций

    Reply
  37. Dementor

    (39) тут я погорячился. Раз вы хорошо разбираетесь в Python, то тут разница как между 2.7 и 3.0

    Навскидку из различий — работа со ссылками и объектами уже не через единый идентификатор (что сильно сбивало с толку). Появились булевские типы True/False (хотя по старинке можно использовать 0 и 1 — они будут неявно преобразованы). Полностью переделали язык запросов…

    Но и многие базовые вещи остались без изменений — синтаксис управляющих конструкций, ключевые слова, предопределенные функции языка, предопределенные реквизиты базовых метаданных; сначала пропали, а потом вернулись общие реквизиты и так далее). Для облегчения перевода систем на 7.7 в поставке 8-ки с самых первых версий был конвертер. Я его не пробовал, но экспериментаторы говорили, что после небольшой шлифовки напильником, этим даже можно было пользоваться.

    Reply
  38. tenikov

    (41)

    после небольшой шлифовки напильником, этим даже можно было пользоваться

    Если только для не рисовать заново формы объектов.

    И то, в большинстве случаев (реализации в 1С 7.7 ТЧ справочников или нескольких ТЧ в документах, например) проще и правильней было написать с нуля.

    Reply
  39. Созинов

    (41) Спасибо.

    Reply
  40. vano-ekt

    (33) тем что js<>java

    (4) ничего страшного, лет через 10 танками и ракетами убедим писать на русском.

    Чем он, кстати, вам не угодил? И почему вы на нем тут пишите? Это всего лишь самый распространенный язык в Европе

    Reply
  41. neikist

    (44) Вот интересно, почему все когда приводят контраргументы против нападок на язык 1с начинают с «Чем русский хуже английского?». При том что претензии к языку обычно по причине слишком простого синтаксиса, без многих возможностей присущих другим языкам.

    Reply
  42. vano-ekt

    (45) так в (4) же не про возможности, а про русскость зачем-то упомянуто

    Прежде всего помешал велосипед в виде собственного языка программирования на русском языке
    Reply
  43. vano-ekt

    а далее предложение заменить велосипед 1С на велосипед Sun Microsystems / Oracle

    к чему это всё?

    Reply
  44. MotorBox

    (44)Дело не в русском языке, а векторе развития 1С.

    Английский язык уже стал стандартом в сфере ИТ, это уже свершилось и ничего с этим не сделаешь.

    Reply
  45. Dementor

    (48) а русский язык стал стандартом для космоса и что? Тайконавтика не стоит на месте. Китайцы «обвели» станцию Мир и запустили ее в на орбиту, но при этом все надписи там уже не на русском, а на китайском. Сейчас они усиленно клепают свои версии Зенитов и Протоны. Еще немного и в освоении космоса китайский станет на одну ступень с русским языком — и у исследователей с NASA и с ESA будет выбор к кому идти для путешествия на орбиту. Ничего не стоит на месте.

    И если вернуться к ИТ и посмотреть правде в глаза, то не английский язык стал стандартом, а латинский алфавит, который привычен для европейских народностей и более удобен для письма для азиатских государств, чье иероглифическое письмо мягко говоря неудобное для быстрого ввода на ПК и потому заменен на латинские сокращения, и у которых после нахождения под властью британской короны диалекты английского стали вторыми разговорными (а ведь именно индусы, китайцы и вьетнамцы считаются поставщиками кадров мирового ИТ и главными центрами программного аутсорсинга). Посмотрите листинги европейцев на гитхабе — это только видимость «английскости», но по факту названия переменных, процедур и комментарии на немецком и прочих местных языках. Я так искал там для себя «шаблон» в рамках одного проекта и потом долго сидел со словарем и пытался въехать в логику программы.

    Reply
  46. Dementor

    (48)

    Дело не в русском языке, а векторе развития 1С.

    Я вам уже писал и еще раз повторюсь. Были даже не сотни, а тысячи компаний, которые делали в СНГ софт на «английском языке» с прицелом на мировую экспансию. Только единицы из них дожили до наших дней. А в то же время 1С со своим «русскоязычным ноу-хау» выстрелила и превратилась в огромную и известную корпорацию, двигатель прогресса мирового ИТ (как минимум, представители IBM и Postgres согласовывают с ними свои доработки в своих СУБД; и, подозреваю, что ситуация с Oracle и Microsoft — аналогична) и в отличии от той же Oracle имеет значительно большую степень лояльности и одобрения от своего комьюнити разработчиков (последняя совсем не от доброты душевной решила подарить опенсорсному сообществу права на JavaEE).

    Reply
  47. kolya_tlt

    (1) очень зря вы так говорите о жадности 1С. каждую партнёрку франчи просят сделать, чтобы платформу 1С не было возможности взломать, на что БГ сказал, что такого не будет и не просите.

    Reply
  48. piskunov.maksim.a

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

    Reply
  49. vano-ekt

    и кстати, 1С не ограничивает в выборе при написании синтаксиса

    хочешь пиши ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент

    не хочешь — DataCompositionResultSpreadsheetDocumentOutputProcessor

    Reply
  50. Darklight
    Reply
  51. Darklight

    А насчёт языка — в последние годы наблюдаю тенденцию — компания 1С активно осваивает Java (и JavaScript). В первую очередь, конечно в применении для разработки своих полупродуктов и отдельных систем. Думаю, когда выйдет 1С: Предприятие 9 (!) она будет в большей мере я построена на Java и использовать JavaScrip (а не нс C++ как сейчас). Возможно это станет отправной точкой, когда на языке Java (JavaScript) можно будет напрямую писать прямо внутри программных модулей, не привлекая сторонние компоненты. И функции, объекты 1С, включая метаданные, будут напрямую доступны в Java-коде. Оригинальный язык 1С, скорее, всего при этом сохранится, но переймёт какие-то фичи Java-возможностей. И, наверное 9-я платформа всё же станет почти ООП (хоть и не чистой ООП, а лишь гибридной — ведь 8-я платформа отчасти тоже ООП, просто свои объекты создавать «трудно» и нет все ключевые парадигмы ООП реализуются: я могу представить себе на 8-ке только инкапсуляцию, без наследования и полиморфизма)!

    Но…. думаю что 1С: Предприятие 9 вряд ли выйдет в обозримом будущем…. 🙁

    Reply
  52. Dementor

    (55)

    Думаю, когда выйдет 1С: Предприятие 9 (!) она будет в большей мере я построена на Java и использовать JavaScrip (а не нс C++ как сейчас).

    Интерпретируемый во время выполнения язык на базе других интерпретируемых языков? Да упаси Господь! Хотя возможность делать вставки на JavaScript мне нравится. В конце-концов, они же добавили чисто js-кий JSON.

    (55)

    я могу представить себе на 8-ке только инкапсуляцию, без наследования и полиморфизма)!

    Что же это у вас с воображением? 😉

    Создадим обработку «Загрузка из Excel», в которой пропишем все нужные реквизиты и методы для того, что бы найти на диске, открыть и прочитать книгу Excel, а далее из полученных данных сконструировать таблицу значений. Далее создаем еще парочку обработок «Загрузка клиентов из Excel» и «Загрузка товаров из Excel», в которых в основных формах сделаем основным реквизитом объект обработки «Загрузка из Excel», что автоматически добавить в текущий контекст все нужные реквизиты и методы. Далее пишем свой метод Загрузить(), в котором сначала дергает метод Загрузить() родительской обработки, а далее из таблицы значений начинаем записывать объекты в базу. Вот вам и наследование и полиморфизм чистой воды 🙂

    Reply
  53. MotorBox

    (51)Все жадные. Иначе в коммерции не возможно.

    1С сам себе своей лицензионной политикой отрезает жирный кусок рынка мобильных платформ и В2С клиентов. Хотя бы из жадности подкорректировали бы свою политику.

    А насчет того что «

    чтобы платформу 1С не было возможности взломать

    «, ИМХО, это просто не возможно, да и цена входа для новичков в 1С сильно возрастет, а в 1С похоже понимают что значительная часть новичков-халявщиков со временем станет источником дохода.

    Reply
  54. MotorBox

    (53)Так а что же они сами не пишут в типовых конфах DataCompositionResultSpreadsheetDocumentOutputProcessor?

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

    Reply
  55. MotorBox

    (55)

    Думаю, когда выйдет 1С: Предприятие 9 (!) она будет в большей мере я построена на Java и использовать JavaScrip

    Да вы оптимист. Я на такое надеялся 15 лет назад когда ожидалась 1с8.

    С тех пор, видимо, руководство 1с закусило удила и скачет в одном только им ведомом направлении. Гордость за корпоративный стандарт застит глаза, а концептуальные перемены чем дальше тем страшнее и дороже. Мне все больше видится, что 1с обречена на консервацию в своей собственной среде как в болоте.

    Reply
  56. Darklight

    (56) С точки зрения ООП это не является наследованием и полиморфизмом. Это обёртка (Wrap) — но врапы к не являются частью парадигмы ООП.

    Вот если бы можно было создать обраотку «на основании» имеющийся — и сразу перенять её функции и переменные (и реквизиты, формы, макеты….) , причём не скопировать, а именно иметь возможность их использовать, но не имея их внутри (чтобы если в исходной обработке поменяется логика — она отразилась и на наследнице) — вот это будет наследование. Да, ну про возможность переопределения функций и переменных…. внутри новой обработки тоже надо упомянуть. Правда расширения 1С переопределения могут делать, но они переопределят именно исходные функции, а не вновь созданные.

    А полиморфизм сразу тянет за собой виртуальные методы (не в том смысле, как понимается слово «виртуальные» в 1С), чтобы можно было переопределить функция, и если она используется в других алгоритмах, наследованных из старой обработки — они уже использовали новую версию (и контекст данных новой версии, которых не было в старой). При этом внутри новой версии можно было бы обратиться к старой версии. Опять таки немного напоминает расширения 1С, но лишь немного.

    Ну а если сюда ещё бы свойства (которые ge/set) добавить, делегаты (функции высшего порядка), и свои события (объектов а метеоданных) и вложенные классы (шаблоны для создания классов) — было вообще зашибенно.

    В общем наряду с общими модулями и обработками 1С не хватает ещё одного объекта конфигурации — «Класс» — по сути та же обработка, только с наследованием, полиморфизмом, свойствами и событиями (впрочем свойства и события, как и составные реквизиты — они же вложенные классы) я бы всем объектам метаданных бы добавил. Впрочем, наследование и полиморфизм оно и многим другим объектам метаданных было бы тоже очень хорошо иметь —

    представьте, что Вам нужно сделать новый документ, очень похож на один из типовых — так просто от наследуйте его от типового — добавьте и переопределите методы и реквизиты, программно перенастройте типовую форму и макеты — и всё — делов «на 5 минут» — и практически 100% поддержка всего типового функционала при обновлениях (без необходимости его сопоставления). Очень круто!

    Увы, 1С как всегда идёт своим «кривым путём» и с большим трудом перенемает мировой опыт программирования, накопленный десятилетиями!

    Ну и для клиент-сервеного взаимодействия сериализоваться такие объеккты-классы-обработки должны, чтобы передаваться с клиента на сервер и обратно — без этого — это вообще будет полный геморой. На C# кстати процессом сериализации объекта класса даже самостоятельно можно управлять (описывает особенности серилизации его реквизитов внутри этого класса — ах как этого не хватает в 1С).

    Reply
  57. Darklight

    (59) Когда-то я так думал про 1С 7.7 Но вышла 8-ка

    Рано или поздно выйдет 9-ка

    Не в ней, так в 10-ке уж точно — будет та ещё революция! Лет через 25-50 😀

    Reply
  58. Darklight

    (57)Для новичков в 1С уже давно есть бесплатная учебная версия — очень правильное решение! Для профессионалов есть NFR решения!

    Reply
  59. Darklight

    (60)Кстати, конечно не в классическом ООП, но есть ещё понятие «Интерфейс» (не тот, что главное меню в 1С), которое сейчас в ООП языках активно развивается до понятия «Контракт». Это тоже очень мощная вещь и её тоже очень не хватает в 1С.

    Это когда какой-то объект (кстати не обязательно класс) имеет схему(ы) возможного собственного использования (грубо говоря набор функций и свойств, которые другие алгоритмы могут у него использовать). И эти схемы как бы глобальны — т.е. объект реализует некий ранее определённый Контракт (буду говорить о Контрактах как о более продвинутом механизме, чем Интерфейс ), который говорит остальным — что этот объект его (Контракт) поддерживает (значит реализует его функциональность) — значит его можно использовать согласно схеме этого контракта (обращаться по определённым в Контракте законам, вызвать методы и свойства) . При этом внутри объект сам подстраивает своё взаимодействие, чтобы оно соответствовало протоколу этой схемы — использующие его алгоритмы не видят как он на самом деле устроен. У него может и не быть таких свойств и методов, как в они описаны в контракте — но объект их как-бы эммулирует для тех, кто будет использовать его через этот контракт. Но Контракты так же описывают и ограничения использования, скажем — если на вход функции подаются неправильные параметры — их контроль пройдёт ещё на уровне контракта, будет сгенерирована соответствующая ошибка несоответствия формату. То же касается и выходных данных функций.

    В простейшем виде это позволяет иметь маркеры того, что объект имеет определённые возможности своего использования (и для этого не нужно анализировать тип объекта и структуру его наслдедования); а так же позволяет обращаться к его функциям и свойствам через «псевдонимы» других имён, общих для всей конфигурации.

    Объект может реализовывать множество разных контрактов — подразумевая разное взаимодействие!

    Это ОЧЕНЬ мощный механизм современного ООП и в 1С этого так же сильно не хватает. Это является часть технической унификации использования алгоритмов, чтобы не писать кучи разных ветвлений и конвенций, передаваемых из алгоритма в алгоритм, данных , о месту использования алгоритмов.

    Reply
  60. MotorBox

    (62)А я не только о 1с программистах. Многие начинающие предприниматели не торопятся покупать 1с бухгалтерию просто потому что получится или нет еще не известно, а куда потом девать купленную 1с ? Самое простое поставить ломаную 1с, а потом если бизнес пошел можно и купить официально.

    Reply
  61. MotorBox

    (61)Ну насчет 1с77 я ничего такого не думал, когда я с ней связался она уже была. Но вот 1С++, ОпенКонф и др. мне внушали большие надежды.

    Удивляло только что 1с не включает их в платформу официально. Выход 1с8 в том виде в каком он вышел убил все надежды. Да и 1С++ с ОпенКонф тоже практически убил, конечно кто то кто не отказался еще от 1с77 используют их, но будущего у этих разработок нет.

    Я убежден что это кардинальная ошибка 1с. Правильно было бы дать возможность развиваться таким разработкам. Это пошло бы 1с только на пользу.

    Как я уже писал здесь 1с все больше превращается в нечто монструозное. Например последняя пустая типовая конфигурация для бухгалтерии занимает почти гигабайт. Стремление все контролировать и сделать универсальную конфу которая удовлетворит всех тупиковый путь. Не возможно все контролировать и всем понравиться.

    Reply
  62. Darklight

    (64) Конфигурация «Бухгалтерия для обучения» не годится? Да, она не бесплатная, вроде, но стоит сущие копейки. Даже Бухгалтерия Проф и Торговля- стоит не так дорого для предпринимателя (а есть и Базовые версии которые ещё дешевле — для ознакомления вполне годятся), чтобы не посмотреть то, на чём больше половины России и другие страны СНГ и не только уже работают

    Reply
  63. Darklight

    (65) Для 1С8 есть Снегопат и другие, думаю, с официальным выходом EDT неофициальных расширений платформы 1С: Предприятие 8 многократно увеличится (на это, видимо, и сделан расчёт с реализацией EDT). Сам давно уже думаю о создании такого вот расширения, чтобы можно было и синтаксис языка расширить, и структуру метаданных. Идей очень много — и всё вполне реализуем. Среда разработки нужна только удобная — ECLIPSE волне сгодится.

    Reply
  64. MotorBox

    (67) Эклипс мне показался громоздким и тормозным. Впрочем, посмотрим что у них получится. Не понятно только чего 15 лет ждали.

    Reply
  65. Darklight

    (68) Зато это одна из самых популярных сред разработок. Он бесплатный, кроссплатформенный и позволяет глубоко себя настраивать и расширять, он знаком гигантскому сообществу программистов по всему миру. И, он вполне удобный. Это уже очень много. Остальное — дело привычки и рук программистов, что допишу для него нужные фичи, чтобы разработка на 1С в этой среде была комфортной!

    Reply
  66. tailer2

    (25)

    Если бы платформа 8 вышла без обратной кодовой совместимости с 7.7

    ой

    Reply
  67. tailer2

    (27)

    в чем стратегическая ошибка 1С

    гы

    «ошибка» — в дешевизне (просто неприличной) сервис-инжиниринга

    но это же — позволило захватить монополию, разумеется — в пределах снг

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

    что реально мешает выходу на зарубеж — это проблемы работы со скулем

    сделали же какой-то псевдо-скуль для файловой, ну и продвигали бы его как самостоятельный скуль-сервак

    Reply
  68. tailer2

    (54) ну, да

    как-то так всё

    Reply
  69. MotorBox

    (69)

    Зато это одна из самых популярных сред разработок. Он бесплатный, кроссплатформенный

    Да я не спорю. Просто был опыт работы на эклипсе. Как знать, может он стал заметно лучше, или м.б. 1С его усовершенствует до блеска.

    Будем посмотреть. Выводы делать рано.

    Reply
  70. MotorBox

    (71) Не согласен. Ошибка (без кавычек) не в самом сервисе и не скуле какой бы он не был, а в целях которые ставила перед собой 1С. Очевидно что монополия в СНГ для 1С и была целью. Ну достигли они этой монополии и что ? Ничто не вечно, так или иначе и эта монополия рухнет, а что останется?

    По моему это не дальновидно.

    Нужен был не универсальный супер продукт который заткнет все дыры и выдавит всех конкурентов, а создавать надо было «операционную среду» 1С в рамках которой все желающие могли бы решать свои задачи и расширять ее возможности. «Операционную среду» не в смысле конкурента MS Windows, а гибкий программный комплекс для профессионалов, а не чугунный конструктор для экономистов-недопрограммистов.

    Reply
  71. Lucechiaro

    (53) Туше! 🙂

    Reply
  72. belomorinka

    Ну свое тоже надо делать.

    Reply

Leave a Comment

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