<?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='\
Чтобы из продукта 1С можно было выйти на на рынок B2C нужно прежде всего чтобы руководство 1С задушило собственную жабу и вернуло неограниченное лицензирование как это было в 1С 77. Никто не будет возится с частными клиентами если для каждого надо докупать новую лицензию на подключение.
Все это хорошо, конечно, но зачем пытаться натянуть сову на глобус?
(1)
Да именно так, вопрос с лицензированием самый острый и непонятный.
Даже в мобильной платформе где вроде как заявили что для бесплатных приложений лицензия не требуется, 1с не может однозначно заявить что так будет всегда.
О каком B2C говорить?
(4) «если вы такой умный, то почему же такой бедный?».
Подход 1с привёл 1с к успеху.
(4) весь Ваш ответ сводит на Нет буква Г. Коверкать фамилии это плохо и некрасиво.
(1) да, это важный комментарий.
Лицензии сильно ограничивают модель монетизации.
(6)Не хотел коверкать ни чьих фамилий. Просто описка. Нуралиев естественно.
(5)На «если вы такой умный, то почему же такой бедный?» мне всегда хочется ответить «если вы такой богатый, то почему такая сволочь».
Естественно это я не вам, а так вообще. Достали любители измерять интеллект деньгами.
А к успеху 1С привела та же стратегия что и Майкрософт. Причем и претензии к ним во многом похожие. Перевес маркетинга над разработкой приводит к одинаковым результатам.
Но я уверен что если бы 1С выбрали правильную платформу то успех у них был бы в двое больше. Не топтались бы на территории бСССР, а давно бы двинулись в остальной мир.
(9) нет. Кроме платформы есть компетенции по предметке и менеджменту. Они не зависят от платформы и до сих пор в целом слабее чем у западных.
(11) курица или яйцо.
(9)
Не меньше чем интеллектуалы без денег рассуждающие о том как в жизни преуспеть….
(4) смешно))) пишите еще
(4) Кстати, а что лучше в ИТ за эти годы?
Касперский? Он не создал отрасль. Что еще?
(4) Вот так и хочется сказать матом — Чем, …, Вам не угодил язык 1С? Что корявого в языке 77?
Коряво бывает сам код написан — это уже зависит от разработчиков. Иногда посмотришь на то как напишут на Java, и хочется вырвать руки разработчику из … того места, откуда они у него растут и ввернуть их обратно в плечи.
(16)Если критерием брать только размер то наверно да, 1С в России лучший. Но я считаю это как считать лучшим транспортом самый большой паровоз когда уже есть самолеты, болиды формулы 1 и т.д. Т.е. среди больших паровозов он может и самый лучший, но не среди всех видов транспорта.
1С выбрал удачную модель маркетинга, франшиза 1С здорово выстрелила. Но торговая сеть Магнит, например, тоже франшиза и тоже хорошо получилась. Иногда франшиза удачно входит в рынок, но это происходит только благодаря грамотной коммерческой политике. ИТ здесь не при чем.
А вот перспективы 1С как ИТ продукта в мировом масштабе весьма туманны. Во всяком случае для прорыва им необходимы серьезные перемены в платформе. Перемены конечно у них уже начались, управляемые формы например, но не поздно ли. Лучше кардинальные перемены было начать с 1С 8.0. Результаты были бы уже совсем другие.
И что из транспорта по вашему лучше самолёт, паровоз или болид формулы 1? Может надо сравнивать сопоставимые вещи? Или интеллектуалам всё равно и они с лёгкостью сравнивают мягкое и тёплое?
(17)
Знаете, когда я видел язык запросов в клюшках мне тоже очень хотелось матерится. Такое впечатление что тот кто его придумал никогда не слышал даже про SQL. Спасал только 1С++. Но я всегда поражался почему 1С++ не принадлежал 1С, перекупить не могли, денег не хватило ? Очень перспективная вещь была.
И потом, если 1С 77 был такой замечательный язык что же они его в 1с8 так сильно поменяли ? Поменяли, да только побоялись довести перемены до логического конца. Чего боялись ? ХЗ…
(19)
Если продолжать аналогию с транспортом то интеллектуалам должно быть очевидно, что прежде чем строить паровоз надо вспомнить, что есть и другие виды дорог. ЖД с другой шириной колеи, хотя бы. Кроме ЖД существует множество шоссейных дорог и водных путей по которым паровоз вообще не пройдет. И вообще в мире от паровозов давно отказались, на самых современных ЖД всю гоняют поезда на скорости 300 км/ч на электро тяге, а кое где и на магнитных подушках.
Если все это вспомнить то станет совершенно понятно что строить надо не паровоз а хотя бы высокоскоростной электровоз.
Если бы 1С пошел в Java, то в 1с бы сейчас писали индусы…Даже подумать страшно)))
(21)Да перспективы бы открылись бы страшные, я бы даже сказал бы завораживающие ;). Где то писали бы индусы, а в Европе, например, не индусы. Да и индусы ведь разные бывают.
(4) Вы все это время знали как и что надо делать и ничего не делали? Это с вашего попустительства узколобый НурГалиев надругался над программированием используя русскоязычные конструкции, пренебрег свободным и демократичным java, считерил использовав франшизу, захватил российский рынок автоматизации и закрыл страшные перспективы?
(22) Я вот не интеллектуал, объясните мне почему нефть не транспортируют самолетами? Они же быстрее и лучше. Почему поезда на магнитных подушках не гоняют в Кукуево?
Понты и сопли с пузырями.
(22)
Так это же вы сравнили паровоз и самолёты….
А тепловозы уже совсем не используют?
Инструменты надо под задачи подбирать, а не на оборот….
(25)
Вообще то не переходят, а только изучают целесообразность перехода. Чем это кончится еще не известно.
Но все равно — вы только подтверждаете мои слова. Весь мир развивается. Двигается вперед, а в 1С словно только что распечатали мешок с журналами 20ти летней давности.
Вот хотя бы — современного программирования не существует без ООП. Во многих языках программирования вводится лябда выражения, а 1С только-только узнали что будущее за мобильными платформами. Отставание 1С заложено в самой его парадигме.
Где в 1С ООП ? Когда 15 лет назад программистам т.с. не 1С сказали что 1С называет язык 1С77 «объектно ориентированным» те сильно смеялись. Такое впечатление что в 1С не знают что такое ООП.
Целый пласт последних достижений современного программирования закрыт для 1С из за отсталой парадигмы.
(28) Вот кстати да, отсутствие ООП и анонимных функций удручает(
(28)
Кто-то как раз переходит, а другие уже давно перешли. Если вы, конечно, про мировое сообщество программистов говорите, а не про парочку ваших знакомых, которые не могут освоить новую технологию. О «живости» Groovy и Scala говорит масса хендхантеровских объявлений (я в этой теме не кручусь, но тем не менее это коснулось даже одного из самых известных сайтов бесплатного изучения иностранных языков Duolingo.com — они прямо сейчас переводят ядро своих сервисов с тормознутого PHP с его неповоротливой ООП-парадигмой на более эффектную и эффективную Scala, которая была изначально создана на замену Java).
Количество появляющихся проектов на Kotlin с выходом в релиз в прошлом году вообще похоже на снежную лавину. Язык оказался настолько популярным и востребованным, чтоGoogle официально объявили об его поддержке — плагин для Kotlin официально добавлен в Android Studio 3 и заключен договор с JetBrains о совместном развитии языка.
(28)
И как же в таких условиях возникли и существую Lisp/Clojure, Erlang и Haskell — они же чистая функциональщина??? Или тоже новинка последнего десятилетия — Node.js на базе полу-процедурном и полу-функциональном JavaScript — как он смел вообще появится? Почему, когда пытаются сделать устойчивые системы, которые справляются со сверхвысокими нагрузками, то берут именно Erlang и JavaScript вместо сервера Tomcat для любимого вами Java? Задумайтесь над этими вопросами: может ООП вовсе не серебрянная пуля, а просто нишевое решение для определенного класса задач?
(28)
Целый пласт последних достижений современного программирования закрыт для 1С из за отсталой парадигмы.
Чем же парадигма Предметно-ориентированного программирования ущербна? Может вы просто привыкли микроскопом забивать гвозди? 🙂
Я уже понял, что «нет пророка в своем отечестве», и потому предлагаю вам посмотреть на компанию SAP. Ну, вот почему они не взяли и не стали использовать Java в 90-х? Почему они сидели на своем допотопном ABAP (упрощённая версия Кобола), который даже на фоне встроенного языка 1С смотрится каким-то пережитком прошлого — не более 10 символов в названиях процедур, не более 128 символов для поля ввода и далее в таком же духе (не говоря про интерфейсы от которых несет консольными 80-ми)? Да на фоне этого эталона бизнес-программирования с их чистой процедурщиной язык 1С смотрится как верный наследним SmallTalk 🙂
И все же, почему в SAP стали применять Java только с более-менее стабильных релизов во второй половине 2000-х? Может по той причине, что руководство SAP так же как и руководство 1C знает, что нельзя бросаться в омут сырых технологий, которые как сейчас появились, так завтра могут бесследно пропасть. А технологическое развитие платформы для бизнес-программ штука на миллионы долларов и на много лет разработки.
(28)
Весь мир узнал о том, что будущее за мобильными платформами после выхода хайпового iPhone и появления устройств на Android. Но еще в досмартфонную эру 1С уже вышла на рынок мобильных устройств (где в то время царевал Microsoft с его ОС для КПК). Уже в середине 2000-х был выпущен конфигуратор для КПК, который успешно продавался и на базе которого делались мобильные решения для торговых агентов и кладовщиков.
И, между прочим, раз вас потянуло в сторону функциональщины, то познакомьтесь с управляемыми формами — сплошное использование объектов типа ОписаниеОповещения — как раз фишка из мира парадигмы функционального программирования — использование функций как параметров. Платформа 1С где-то могла застрять только у вас в воображении. Развитие не прекращается ни минуты (как пример, грядущий в конце августа локальный сервер для службы сообщений со штатной возможностью общения прямо внутри платформы). И если вы не видите телодвижений в интересной для вас области, то только потому, что аналитики уже просчитали выгоды и признали интересные вам направления нерентабельными.
(4)
Ну и чем вам вот это:
Показать
ни Java в 1С?
Я так понимаю, автор имел в виду SWOT-анализ, а не SWAT.
(34) да, именно так)
Не вижу смысла отвечать каждому и вообще продолжать спор. И так понятно что вы все как «члены секты поклонников 1С» не хотите в упор видеть серьезных недостатков в вашем кумире. Имеете право. Только для меня очевидно что 1С в современном виде достиг пика своего развития и все больше превращается в монстра. Дальше без прорывных реформ, ИМХО, 1С обречен на постепенный или быстрый спад.
Самое главное, пойдя по пути превалирования экономики над разработкой 1С сформировала свою отдельную среду разработчиков 1С которая почти оторвана от всего остального ИТ сообщества. Нет, 1с программист как бы тоже программист, но только все остальное ИТ смотрит на 1с свысока. Вы спросите ну и что, скажете вам плевать на их снобизм. Да, но вы не понимаете что этот отрыв лишает среды 1с активного взаимного обмена высоко профессиональными специалистами который мог бы тащить 1с на волне самых современных технологий, а не быть в роли вечно догоняющего. Я не спорю, в 1с есть отличные специалисты хорошо ориентирующиеся в современном ИТ, но их немного. Сам 1С не стимулирует своих сторонников к этому взаимному обмену. Я думаю что он очень много от этого теряет. Вот почему я не считаю что 1С — это лучшее, что случилось с ИТ в постсоветском пространстве.
Забавно читать бурчание на 1с-ников от дизайнера…
(4) Да очень хотелось бы java или С# (хотя нет, я бы лучше на python писал), но задачи были другие и как показало время — решение было верное, да и большого значения это не имеет, т.к. текущий язык позволяет использовать возможности платформы на все 100%. По поводу вашего «имел шанс» — на текущий момент 1С уже приблизился к корпоративному стандарту де-факто. Если не смотреть Москву И Санкт-Петербург, то 1С по моим ощущением занимает более 50% рынка корпоративных систем (бухгалтерия, зарплата, erp, документооборот …) (не владею статистикой), при этом продолжает теснить конкурентов. Это и хорошо и плохо — 1С-кам работы будет больше, но без мощной конкуренции платформа будет медленно развиваться.
(25) Дмитрий, можете подсказать где почитать про обратную кодовую совместимость 7.7 и 8. На 7-ке мало писал и мне показалось что между 7 и 8 громадная пропасть. Хочу для себя уточнить это вопрос и освежить в памяти 7-ку. Заранее спасибо.
(39)
скорее всего имелось в виду «если бы в 8ке в качестве встроенного языка использовалась Java», т.к. 7.7 и 8.x по синтаксису совпадают не больше чем js и, например, C — только на уровне базовых конструкций
(39) тут я погорячился. Раз вы хорошо разбираетесь в Python, то тут разница как между 2.7 и 3.0
Навскидку из различий — работа со ссылками и объектами уже не через единый идентификатор (что сильно сбивало с толку). Появились булевские типы True/False (хотя по старинке можно использовать 0 и 1 — они будут неявно преобразованы). Полностью переделали язык запросов…
Но и многие базовые вещи остались без изменений — синтаксис управляющих конструкций, ключевые слова, предопределенные функции языка, предопределенные реквизиты базовых метаданных; сначала пропали, а потом вернулись общие реквизиты и так далее). Для облегчения перевода систем на 7.7 в поставке 8-ки с самых первых версий был конвертер. Я его не пробовал, но экспериментаторы говорили, что после небольшой шлифовки напильником, этим даже можно было пользоваться.
(41)
Если только для не рисовать заново формы объектов.
И то, в большинстве случаев (реализации в 1С 7.7 ТЧ справочников или нескольких ТЧ в документах, например) проще и правильней было написать с нуля.
(41) Спасибо.
(33) тем что js<>java
(4) ничего страшного, лет через 10 танками и ракетами убедим писать на русском.
Чем он, кстати, вам не угодил? И почему вы на нем тут пишите? Это всего лишь самый распространенный язык в Европе
(44) Вот интересно, почему все когда приводят контраргументы против нападок на язык 1с начинают с «Чем русский хуже английского?». При том что претензии к языку обычно по причине слишком простого синтаксиса, без многих возможностей присущих другим языкам.
(45) так в (4) же не про возможности, а про русскость зачем-то упомянуто
а далее предложение заменить велосипед 1С на велосипед Sun Microsystems / Oracle
к чему это всё?
(44)Дело не в русском языке, а векторе развития 1С.
Английский язык уже стал стандартом в сфере ИТ, это уже свершилось и ничего с этим не сделаешь.
(48) а русский язык стал стандартом для космоса и что? Тайконавтика не стоит на месте. Китайцы «обвели» станцию Мир и запустили ее в на орбиту, но при этом все надписи там уже не на русском, а на китайском. Сейчас они усиленно клепают свои версии Зенитов и Протоны. Еще немного и в освоении космоса китайский станет на одну ступень с русским языком — и у исследователей с NASA и с ESA будет выбор к кому идти для путешествия на орбиту. Ничего не стоит на месте.
И если вернуться к ИТ и посмотреть правде в глаза, то не английский язык стал стандартом, а латинский алфавит, который привычен для европейских народностей и более удобен для письма для азиатских государств, чье иероглифическое письмо мягко говоря неудобное для быстрого ввода на ПК и потому заменен на латинские сокращения, и у которых после нахождения под властью британской короны диалекты английского стали вторыми разговорными (а ведь именно индусы, китайцы и вьетнамцы считаются поставщиками кадров мирового ИТ и главными центрами программного аутсорсинга). Посмотрите листинги европейцев на гитхабе — это только видимость «английскости», но по факту названия переменных, процедур и комментарии на немецком и прочих местных языках. Я так искал там для себя «шаблон» в рамках одного проекта и потом долго сидел со словарем и пытался въехать в логику программы.
(48)
Я вам уже писал и еще раз повторюсь. Были даже не сотни, а тысячи компаний, которые делали в СНГ софт на «английском языке» с прицелом на мировую экспансию. Только единицы из них дожили до наших дней. А в то же время 1С со своим «русскоязычным ноу-хау» выстрелила и превратилась в огромную и известную корпорацию, двигатель прогресса мирового ИТ (как минимум, представители IBM и Postgres согласовывают с ними свои доработки в своих СУБД; и, подозреваю, что ситуация с Oracle и Microsoft — аналогична) и в отличии от той же Oracle имеет значительно большую степень лояльности и одобрения от своего комьюнити разработчиков (последняя совсем не от доброты душевной решила подарить опенсорсному сообществу права на JavaEE).
(1) очень зря вы так говорите о жадности 1С. каждую партнёрку франчи просят сделать, чтобы платформу 1С не было возможности взломать, на что БГ сказал, что такого не будет и не просите.
1С действительно жадные, но движутся они в правильном направлении. Перспективы у них действительно радужные, потенциал огромен. Даже тот факт что наши программисты уже на западе пользуют 1С затачивая ее под нового заказчика уже о многом говорит.
и кстати, 1С не ограничивает в выборе при написании синтаксиса
хочешь пиши ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент
не хочешь — DataCompositionResultSpreadsheetDocumentOutputProcessor
А насчёт языка — в последние годы наблюдаю тенденцию — компания 1С активно осваивает Java (и JavaScript). В первую очередь, конечно в применении для разработки своих полупродуктов и отдельных систем. Думаю, когда выйдет 1С: Предприятие 9 (!) она будет в большей мере я построена на Java и использовать JavaScrip (а не нс C++ как сейчас). Возможно это станет отправной точкой, когда на языке Java (JavaScript) можно будет напрямую писать прямо внутри программных модулей, не привлекая сторонние компоненты. И функции, объекты 1С, включая метаданные, будут напрямую доступны в Java-коде. Оригинальный язык 1С, скорее, всего при этом сохранится, но переймёт какие-то фичи Java-возможностей. И, наверное 9-я платформа всё же станет почти ООП (хоть и не чистой ООП, а лишь гибридной — ведь 8-я платформа отчасти тоже ООП, просто свои объекты создавать «трудно» и нет все ключевые парадигмы ООП реализуются: я могу представить себе на 8-ке только инкапсуляцию, без наследования и полиморфизма)!
Но…. думаю что 1С: Предприятие 9 вряд ли выйдет в обозримом будущем…. 🙁
(55)
Интерпретируемый во время выполнения язык на базе других интерпретируемых языков? Да упаси Господь! Хотя возможность делать вставки на JavaScript мне нравится. В конце-концов, они же добавили чисто js-кий JSON.
(55)
Что же это у вас с воображением? 😉
Создадим обработку «Загрузка из Excel», в которой пропишем все нужные реквизиты и методы для того, что бы найти на диске, открыть и прочитать книгу Excel, а далее из полученных данных сконструировать таблицу значений. Далее создаем еще парочку обработок «Загрузка клиентов из Excel» и «Загрузка товаров из Excel», в которых в основных формах сделаем основным реквизитом объект обработки «Загрузка из Excel», что автоматически добавить в текущий контекст все нужные реквизиты и методы. Далее пишем свой метод Загрузить(), в котором сначала дергает метод Загрузить() родительской обработки, а далее из таблицы значений начинаем записывать объекты в базу. Вот вам и наследование и полиморфизм чистой воды 🙂
(51)Все жадные. Иначе в коммерции не возможно.
1С сам себе своей лицензионной политикой отрезает жирный кусок рынка мобильных платформ и В2С клиентов. Хотя бы из жадности подкорректировали бы свою политику.
А насчет того что «
«, ИМХО, это просто не возможно, да и цена входа для новичков в 1С сильно возрастет, а в 1С похоже понимают что значительная часть новичков-халявщиков со временем станет источником дохода.
(53)Так а что же они сами не пишут в типовых конфах DataCompositionResultSpreadsheetDocumentOutputProcessor?
Да и я уже говорил, дело не в том русский там язык или не русский, а в направлении развития. Если 1С четко выберет направление на вхождение в мировой мейнстрим, а не брожение в своем узком болоте, то переход к английскому неизбежен, а программирование на национальных языках можно оставить как опцию.
(55)
Да вы оптимист. Я на такое надеялся 15 лет назад когда ожидалась 1с8.
С тех пор, видимо, руководство 1с закусило удила и скачет в одном только им ведомом направлении. Гордость за корпоративный стандарт застит глаза, а концептуальные перемены чем дальше тем страшнее и дороже. Мне все больше видится, что 1с обречена на консервацию в своей собственной среде как в болоте.
(56) С точки зрения ООП это не является наследованием и полиморфизмом. Это обёртка (Wrap) — но врапы к не являются частью парадигмы ООП.
Вот если бы можно было создать обраотку «на основании» имеющийся — и сразу перенять её функции и переменные (и реквизиты, формы, макеты….) , причём не скопировать, а именно иметь возможность их использовать, но не имея их внутри (чтобы если в исходной обработке поменяется логика — она отразилась и на наследнице) — вот это будет наследование. Да, ну про возможность переопределения функций и переменных…. внутри новой обработки тоже надо упомянуть. Правда расширения 1С переопределения могут делать, но они переопределят именно исходные функции, а не вновь созданные.
А полиморфизм сразу тянет за собой виртуальные методы (не в том смысле, как понимается слово «виртуальные» в 1С), чтобы можно было переопределить функция, и если она используется в других алгоритмах, наследованных из старой обработки — они уже использовали новую версию (и контекст данных новой версии, которых не было в старой). При этом внутри новой версии можно было бы обратиться к старой версии. Опять таки немного напоминает расширения 1С, но лишь немного.
Ну а если сюда ещё бы свойства (которые ge/set) добавить, делегаты (функции высшего порядка), и свои события (объектов а метеоданных) и вложенные классы (шаблоны для создания классов) — было вообще зашибенно.
В общем наряду с общими модулями и обработками 1С не хватает ещё одного объекта конфигурации — «Класс» — по сути та же обработка, только с наследованием, полиморфизмом, свойствами и событиями (впрочем свойства и события, как и составные реквизиты — они же вложенные классы) я бы всем объектам метаданных бы добавил. Впрочем, наследование и полиморфизм оно и многим другим объектам метаданных было бы тоже очень хорошо иметь —
представьте, что Вам нужно сделать новый документ, очень похож на один из типовых — так просто от наследуйте его от типового — добавьте и переопределите методы и реквизиты, программно перенастройте типовую форму и макеты — и всё — делов «на 5 минут» — и практически 100% поддержка всего типового функционала при обновлениях (без необходимости его сопоставления). Очень круто!
Увы, 1С как всегда идёт своим «кривым путём» и с большим трудом перенемает мировой опыт программирования, накопленный десятилетиями!
Ну и для клиент-сервеного взаимодействия сериализоваться такие объеккты-классы-обработки должны, чтобы передаваться с клиента на сервер и обратно — без этого — это вообще будет полный геморой. На C# кстати процессом сериализации объекта класса даже самостоятельно можно управлять (описывает особенности серилизации его реквизитов внутри этого класса — ах как этого не хватает в 1С).
(59) Когда-то я так думал про 1С 7.7 Но вышла 8-ка
Рано или поздно выйдет 9-ка
Не в ней, так в 10-ке уж точно — будет та ещё революция! Лет через 25-50 😀
(57)Для новичков в 1С уже давно есть бесплатная учебная версия — очень правильное решение! Для профессионалов есть NFR решения!
(60)Кстати, конечно не в классическом ООП, но есть ещё понятие «Интерфейс» (не тот, что главное меню в 1С), которое сейчас в ООП языках активно развивается до понятия «Контракт». Это тоже очень мощная вещь и её тоже очень не хватает в 1С.
Это когда какой-то объект (кстати не обязательно класс) имеет схему(ы) возможного собственного использования (грубо говоря набор функций и свойств, которые другие алгоритмы могут у него использовать). И эти схемы как бы глобальны — т.е. объект реализует некий ранее определённый Контракт (буду говорить о Контрактах как о более продвинутом механизме, чем Интерфейс ), который говорит остальным — что этот объект его (Контракт) поддерживает (значит реализует его функциональность) — значит его можно использовать согласно схеме этого контракта (обращаться по определённым в Контракте законам, вызвать методы и свойства) . При этом внутри объект сам подстраивает своё взаимодействие, чтобы оно соответствовало протоколу этой схемы — использующие его алгоритмы не видят как он на самом деле устроен. У него может и не быть таких свойств и методов, как в они описаны в контракте — но объект их как-бы эммулирует для тех, кто будет использовать его через этот контракт. Но Контракты так же описывают и ограничения использования, скажем — если на вход функции подаются неправильные параметры — их контроль пройдёт ещё на уровне контракта, будет сгенерирована соответствующая ошибка несоответствия формату. То же касается и выходных данных функций.
В простейшем виде это позволяет иметь маркеры того, что объект имеет определённые возможности своего использования (и для этого не нужно анализировать тип объекта и структуру его наслдедования); а так же позволяет обращаться к его функциям и свойствам через «псевдонимы» других имён, общих для всей конфигурации.
Объект может реализовывать множество разных контрактов — подразумевая разное взаимодействие!
Это ОЧЕНЬ мощный механизм современного ООП и в 1С этого так же сильно не хватает. Это является часть технической унификации использования алгоритмов, чтобы не писать кучи разных ветвлений и конвенций, передаваемых из алгоритма в алгоритм, данных , о месту использования алгоритмов.
(62)А я не только о 1с программистах. Многие начинающие предприниматели не торопятся покупать 1с бухгалтерию просто потому что получится или нет еще не известно, а куда потом девать купленную 1с ? Самое простое поставить ломаную 1с, а потом если бизнес пошел можно и купить официально.
(61)Ну насчет 1с77 я ничего такого не думал, когда я с ней связался она уже была. Но вот 1С++, ОпенКонф и др. мне внушали большие надежды.
Удивляло только что 1с не включает их в платформу официально. Выход 1с8 в том виде в каком он вышел убил все надежды. Да и 1С++ с ОпенКонф тоже практически убил, конечно кто то кто не отказался еще от 1с77 используют их, но будущего у этих разработок нет.
Я убежден что это кардинальная ошибка 1с. Правильно было бы дать возможность развиваться таким разработкам. Это пошло бы 1с только на пользу.
Как я уже писал здесь 1с все больше превращается в нечто монструозное. Например последняя пустая типовая конфигурация для бухгалтерии занимает почти гигабайт. Стремление все контролировать и сделать универсальную конфу которая удовлетворит всех тупиковый путь. Не возможно все контролировать и всем понравиться.
(64) Конфигурация «Бухгалтерия для обучения» не годится? Да, она не бесплатная, вроде, но стоит сущие копейки. Даже Бухгалтерия Проф и Торговля- стоит не так дорого для предпринимателя (а есть и Базовые версии которые ещё дешевле — для ознакомления вполне годятся), чтобы не посмотреть то, на чём больше половины России и другие страны СНГ и не только уже работают
(65) Для 1С8 есть Снегопат и другие, думаю, с официальным выходом EDT неофициальных расширений платформы 1С: Предприятие 8 многократно увеличится (на это, видимо, и сделан расчёт с реализацией EDT). Сам давно уже думаю о создании такого вот расширения, чтобы можно было и синтаксис языка расширить, и структуру метаданных. Идей очень много — и всё вполне реализуем. Среда разработки нужна только удобная — ECLIPSE волне сгодится.
(67) Эклипс мне показался громоздким и тормозным. Впрочем, посмотрим что у них получится. Не понятно только чего 15 лет ждали.
(68) Зато это одна из самых популярных сред разработок. Он бесплатный, кроссплатформенный и позволяет глубоко себя настраивать и расширять, он знаком гигантскому сообществу программистов по всему миру. И, он вполне удобный. Это уже очень много. Остальное — дело привычки и рук программистов, что допишу для него нужные фичи, чтобы разработка на 1С в этой среде была комфортной!
(25)
ой
(27)
гы
«ошибка» — в дешевизне (просто неприличной) сервис-инжиниринга
но это же — позволило захватить монополию, разумеется — в пределах снг
разумеется же, модель бизнеса неприменима вовне
что реально мешает выходу на зарубеж — это проблемы работы со скулем
сделали же какой-то псевдо-скуль для файловой, ну и продвигали бы его как самостоятельный скуль-сервак
(54) ну, да
как-то так всё
(69)
Да я не спорю. Просто был опыт работы на эклипсе. Как знать, может он стал заметно лучше, или м.б. 1С его усовершенствует до блеска.
Будем посмотреть. Выводы делать рано.
(71) Не согласен. Ошибка (без кавычек) не в самом сервисе и не скуле какой бы он не был, а в целях которые ставила перед собой 1С. Очевидно что монополия в СНГ для 1С и была целью. Ну достигли они этой монополии и что ? Ничто не вечно, так или иначе и эта монополия рухнет, а что останется?
По моему это не дальновидно.
Нужен был не универсальный супер продукт который заткнет все дыры и выдавит всех конкурентов, а создавать надо было «операционную среду» 1С в рамках которой все желающие могли бы решать свои задачи и расширять ее возможности. «Операционную среду» не в смысле конкурента MS Windows, а гибкий программный комплекс для профессионалов, а не чугунный конструктор для экономистов-недопрограммистов.
(53) Туше! 🙂
Ну свое тоже надо делать.