Несколько сильных сторон 1С в сравнении с SAP




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

97 Comments

  1. gradi

    Автору спасибо за столь подробное освещение вопроса.

    Reply
  2. Swetlana

    использование SAP чисто зависит от собственника, если он иностранец и ему необходимо давать отчеты в формате SAP

    Reply
  3. planar74

    «А теперь сравните это со стоимостью лицензии 1С – это всего лишь 120 евро. К тому же, если сейчас евро еще подрастет, будет еще меньше.»

    Не подскажите, что это за продукт такой от 1С, стоимостью 6500 рублей? Если это дополнительная лицензия, то она продается только вместе с продуктом, стоимость которого, как минимум 13000 рублей (1 рабочее место) или 228 евро по текущему курсу.

    «Или, если вы программируете на 1С, то вы, наверное, быстро разберетесь и в Delphi, и в C#»

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

    По поводу статьи. Осталось только произвести сравнительное нагрузочное тестирование 1С и SAP. Что-бы при сходных БД и там и там было по (скажем) 2000 пользователей одновременно. Потянет 1С? Вряд ли. Вы сравниваете оптический и электронный микроскопы, кто круче. А у них абсолютно разные предназначения. SAP — корпоративная система, для очень крупных предприятий. 1С в этом вопросе просто не может тягаться. Ее ниша — средний бизнес.

    Reply
  4. kser87

    это всем известное решение УПО (Управление проектной организацией). — приятно такое читать)

    Reply
  5. kser87

    (5) planar74, . Осталось только произвести сравнительное нагрузочное тестирование 1С и SAP. Что-бы при сходных БД и там и там было по (скажем) 2000 пользователей одновременно. Прямо в тот момент, когда я пишу это сообщение, в конфе, с которой я работаю, сидят в районе 4000 — 4500 активных пользователей. Еще есть претензии к производительности?

    Reply
  6. Lenten

    проинтервьюировал знакомого саповца на предмет статьи

    [11:49:02] 1с: нака на досуге

    [11:49:02] 1с: http://infostart.ru/public/351872/

    [12:01:12] сап: [thyz

    [12:01:15] сап: херня

    [12:01:21] сап: у меня не такой САП как там описан )

    [12:01:25] сап: статься 80-х годов ?)

    [12:04:34] сап: или даже так

    [12:04:47] сап: парень писал сравнения текущего 1С с сапом 20 лет назад

    [12:04:53] сап: хитер

    [12:04:59] сап: как и все вы проныры 1с ники

    [12:08:57] 1с: а как выглядит интерфейс сап?

    [12:10:04] сап: ну я б те прислал скрин но я иду на совещания ща и сап закрыт

    [12:10:14] 1с: вооот отмазы

    [12:10:15] сап: но в целом он ERP да, он убог

    [12:10:21] сап: а вот биви мимишный

    [12:10:37] сап: там есть тема интерфейса его в народе кличут САП — 1С )

    [12:10:42] 1с: там правда нельзя искать по наименованию

    [12:10:50] сап: смотря что

    [12:10:53] сап: обычно можно

    [12:11:19] 1с: В любом окошке, где вы что-то выбираете (контрагента, договор, организацию), вы не увидите название, увидите только код

    [12:11:22] 1с: вот это

    [12:12:09] сап: хз в ерп может быт ьв биви все есть если основные анные заполнены

    [12:12:12] сап: типа наименований

    [12:12:47] сап: хватит

    [12:12:59] сап: ты же читал что мы тебе приведем в любой момент 10 плюсов

    Показать

    в общем не все так однозначно

    Reply
  7. comol

    (1) kembrik, Не потому что

    SAP — это активы

    а скорее потому что

    у нас стоит ERP система

    . Да, многие компании ставят SAP только во имя «Удивить инвесторов». А вы бы удивились сколькие из них при этом свой учет ведут в 1С :)))))))

    Reply
  8. comol

    (8) Lenten,

    текущего 1С с сапом 20 лет назад

    IDES 13 года был… SAP развивается не так как 1с , поэтому можно сказать «Самый свежак»

    В остальном всё так… в отдельных продуктах бывает улучшают интерфейс, в отдельных транзакциях добавляют поиск по наименованию и т.п…. SAP же тоже развивается :))))

    Reply
  9. ture

    Чувствую, что нагорело у автора на сап.

    Да. Много в нем пустого, много надумано маркетологами, много вообще нет и не будет. Почему? — Узкий круг задач, очень узкий — это не автоматизированная поддержка бизнеса, это просто чтоб бухи отчитывались, а остальное — это интерфейсы и эксперименты.

    Кстати программеры сап не жалуются тут. Знаете почему? — Потому что они жалуются на других языках.

    Reply
  10. comol

    (4) Swetlana,

    ему необходимо давать отчеты в формате SAP

    И ему необходимо давать отчеты на английском языке по правилам МСФО :). SAP тут конечно не причём.

    Reply
  11. comol

    (5) planar74,

    Что-бы при сходных БД и там и там было по (скажем) 2000 пользователей одновременно. Потянет 1С? Вряд ли

    До сих пор ещё с улыбкой иногда читаю такие посты :)))). Воспринимайте уже 1С как среду разработки. В 8.3 есть нормальный кластер, на этом можно сказать дискуссии «Потянет ли 1С» можно закрыть. 1С потянет то что потянет СУБД. В высоконагруженных проектах как в SAP так и в 1C. Нужны соответствующие специалисты… просто в 1С их до последнего времени практически не было…

    Reply
  12. comol

    (10) ture,

    Потому что они жалуются на других языках

    в основном на хинди, кстати :))))

    Reply
  13. comol

    (5) planar74, Мы

    стоимость которого, как минимум 13000 рублей

    и 2000 доп лицензий к нему :))). Среди 2000 * 6500 и 13000 наверное про 13000 можно и забыть уже.

    Reply
  14. TODD22

    (9)

    А вы бы удивились сколькие из них при этом свой учет ведут в 1С :)))))))

    Знакомо… а потом ещё каждый месяц пишут пояснительные записки почему у них в SAP одни цифры а в 1С другие 🙂

    Reply
  15. eugeniezheludkov

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

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

    ПС: в статье АВАР похож немного на старинный бэйсик (почему-то вспомнил ПК 01 ЛВIВ) где был оператор DATA

    ППС: а еще если там действительно наименования таблиц и еще многое ограничено 8-ю символами, то существует ли среди АВАРовцев какой-нибудь codestyle, naming convention?

    Reply
  16. Lenten

    (17)

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

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

    а еще если там действительно наименования таблиц и еще многое ограничено 8-ю символами

    Код 8 символов, наименование 60. Но ща добавили еще какой то реквизит 100+ символов. Так что не проблема

    существует ли среди АВАРовцев какой-нибудь codestyle, naming convention

    на каждом проекте свое

    ——

    но это относится к BW системе. В ERP может быть подругому

    Reply
  17. planar74

    (7) kser87, Потрясающе! Порядка 50 серверов в кластере?

    Reply
  18. Dach

    (7) категорически требуем статью о том, как там у вас все устроено! архитектура, СУБД, регламенты, что и как крутится! Очень интересно!

    Reply
  19. comol

    (17) eugeniezheludkov,

    codestyle, naming convention

    это целая история… достаточно сказать что в SAP есть и код написанный в 80-х и в 2015. Часть даже с ООП :))) какой уже там conestyle….

    Reply
  20. comol

    (17) eugeniezheludkov,

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

    Ну это как раз правильно… ABAP ближе к событийной модели чем 1С… это не совсем подписки на события конечно…

    Reply
  21. kser87

    (19) planar74, о количестве серверов ничего не знаю=)

    Reply
  22. kser87

    (21) Dach, на конференции инфостарта про эту базу рассказывали

    Reply
  23. aexeel

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

    У САП-а есть следующие неоспоримые преимущества:

    1. он сильно повышает капитализацию компании

    2. он дает работу куче хороших людей

    Во всем остальном, даже в сравнении с 7.7 — прошлый век. Поразили следующие особенности:

    1. неоднократно абаперы показывали «типовые» фрагменты кода из серии «Если 1 = 0 Тогда …». Говорили, что так индусы, которым платят за строчки кода, себе на лишнюю корочку хлеба зарабатывают.

    2. есть в системе такой чудный мех-м, называется ассайны (assign), когда из одной подпрограммы (транзакции на местном диалекте) можно изменить значение переменной в другой подпрограмме. Жесть полная.

    3. разработка печатных форм в редакторе ПДФ; любое мелкое изменение — работы на половину дня.

    Reply
  24. awk

    (25) aexeel,

    любое мелкое изменение — работы на половину дня

    Самое ценное. Есть время откатить назад, до внедрения. :)))

    Reply
  25. kser87

    (25) aexeel, на счет «Если 1 = 0 Тогда». Видел в 1С такую конструкцию: #Если Клиент и Не Клиент Тогда…

    Reply
  26. Код Шредингера

    К сожалению, начиная с раздела «Особенности работы с SAP», эту статью можно прокомментировать картинкой

    Я пройдусь по мелочам, все расписывать оооочень лень

    1) sap netweaver продается то ли с 2005 то ли с 2007 года

    2) выравнивание != корреспонденция счетов.Корреспонденция счетов — таки да, в русском аддоне. Выравнивание — это операция связывания платежа и задолженности (условно говоря, т.к. на самом деле, области применения данной операции несколько шире), она сразу же реализована в системе и не требует устанавливать что-то дополнительно.

    3) поиск документа по различным полям вполне себе есть, на приведенном скриншоте кнопка «список документов». Там достаточно широкий набор полей для сааамого разнообразного поиска

    4) дебиторы-кредиторы вполне себе объединяются в 1 справочник бизнес-партнеры. Да-да. Есть такая функциональность, кажется уже лет 10 как есть.

    5) то как выглядят отчеты… Мнээээ… Ну приведенный скриншот — один из варинатов того, как он может выглядеть. Стандарт (это очень похоже на 1с-ую типовую конфигурацию) поддерживает в зависимости от версии: SAPScript, SmartForms, Adobe PDF Forms (это все входит в исходную лицензию, из приведнного допплаты требует только интерактивный ПДФ). С помощью абапера делается выгрузка в эксель заданной формы. У BW есть еще возможность докупать кристалрепорт и много чего еще другого

    6) se80 — это не конфигуратор. Это среда разработчика. Конфигурация (настройка проектного решения под конкретного заказчика) выполняется в другом месте (могу указать и путь по меню, но жто долго, поэтому ограничусь полюбившимся вам термином «код транзакции» SPRO).

    7) свистелки-перделки для прогеров (подсветка синтаксиса, автодополнение и проч.) есть уже примерно 7 лет. Просто нужно что бы система была нужной версии + настроить рабочее место под себя

    8) в части программирования: ООП используется в полный рост уже лет 5. Новые решения (см. к примеру TM — transportation managment) практически полностью на нем реализованы

    Продолжать можно долго.. Хочется сказать только: зачем же вы так с совой? Ну зачем сову и — на глобус? Есть гораздо более натяжимые предметы!

    Reply
  27. comol

    (28) Код Шредингера,

    выравнивание != корреспонденция счетов

    . Написал для урощения… на докладе чуть подробнее эту тему проговаривали. Всё равно там «чёрт ногу сломит»…

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

    конечно есть — в отдельной транзакции. А чтобы открыть — другая транзакция :))), а чтобы нормально поискать и открыть — 3-я транзакция, причём начинающаяся на букву «z» (не типовая т.е.)

    Стандарт (это очень похоже на 1с-ую типовую конфигурацию

    вы тот ужас на скриншоте сравнили с отчетами на СКД в типовых 1с? :))))

    Adobe PDF Forms

    о дааа сколько я слышал про отчеты в PDF, в штатном IDES не нашел, к сожалению… очень бы хотелось ещё этот ужас показать :)))

    это не конфигуратор. Это среда разработчика

    О_о… Конфигуратор = среда разработчика, не? Я в 1С конфигуратор в смысле… так понятнее же людям будет

    автодополнение и проч.

    скрин в intellisense в ABAP в студию. Я достаточно долго «кодил» вместе с проф абаперами… ни у одного ничего приличного не видел

    ООП используется в полный рост уже лет 5

    Опять лишь улыбка… а 90% кода ERP написано видимо лет 15 назад… вот не нашел я там ООП, кроме отдельных модулей…

    Продолжать можно долго

    Можно кое что отрыть конечно из сильных сторон… Но не по тем пунктам которые вы написали…

    Reply
  28. alex_sh2008

    (33)

    вы тот ужас на скриншоте сравнили с отчетами на СКД в типовых 1с? :))))

    Смех не уместен, посмотрите если еще не видели у SAP, Crystal Reports.

    Reply
  29. comol

    (34) alex_sh2008,

    видели у SAP, Crystal Reports

    Вот тут смех уместен? 🙂 Читаем: http://en.wikipedia.org/wiki/Crystal_Reports, узнаём, что оказывается:

    1) Было куплено BO в 2003

    2) Саму BO SAP купили в 2007

    3) Это вообще не то о чём речь идёт в статье, это к SAP BI относится.

    4) Вообще я ещё школьником на Crystal Reports отчетики из Delphi делал :), могу подтвердить к SAP они мало отношения имеют

    5) Ну и вообще это движок отчетности, отвязанный от конкретной системы… поэтому ИМХО с СКД в 1с всё-таки намного удобнее…

    Reply
  30. alex_sh2008

    (97) Не понял к чему вы это, де факто у SAP есть отчетность на основе Crystal Reports, а как она появилась не важно, таким же методом у SAP появилась ООП после покупки Sybase и Power Builder. И по большому счету системы отчетности на основе СКД, OLAP, редко когда нужны в жизни.

    Reply
  31. comol

    (99) alex_sh2008, Вы не поняли. BO это и есть OLAP, с SAP ERP которую мы обсуждаем она имеет мало общего… это отдельная OLAP система в которой есть Crystal Reports. Их можно с одинаковым успехом использовать как с SAP ERP так и с 1C :)))))

    Reply
  32. kser87

    (99) alex_sh2008, «И по большому счету системы отчетности на основе СКД, OLAP, редко когда нужны в жизни.» это шутка что-ли? СКД сейчас используют все, у кого стоит версия платформы нужная

    Reply
  33. alex_sh2008

    (102) Я до вас пытаюсь до нести что в обычной ситуации не нужна такого рода система, достаточно простой отчетности. По этой причине в SAP существует система отчетности Crystal Reports как отдельный компонент.

    Reply
  34. free11

    (5) planar74, «Осталось только произвести сравнительное нагрузочное тестирование 1С и SAP. Что-бы при сходных БД и там и там было по (скажем) 2000 пользователей одновременно. Потянет 1С? Вряд ли.»

    Бред. Даже не хочется это комментировать.

    Reply
  35. qwinter

    (134) free11, а чего тестировать то?))) Вы параметры сервера под SAP на 2000 пользователей видели хоть раз?))))

    Небольшая ссылка на чем именно работает такие системы SAP http://www.oracle.com/ru/engineered-systems/exadata/overview/index.html

    И ДА, 1С тоже прекрасно на этом работает)))

    P.S. Системные требования для 50 пользователей многих здесь ну очень удивят)))

    Reply
  36. comol

    (136) qwinter, (молча пустил слюну)…

    Reply
  37. AlexO

    (5) planar74,

    Ее ниша — средний бизнес.

    Я бы даже сказал — мелкий бизнес. Средний 1С тоже не вытягивает, тем более — если база имеет историю в несколько лет.

    Жаль, что многие товарищи об этом не знают.

    Reply
  38. AlexO

    (7) kser87,

    Еще есть претензии к производительности?

    Есть. Потому что производительность определяется не «сидением в кафе».

    Вообще, кто работает с крупными системами — говорить о производительности 1С моветон.

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

    в конфе, с которой я работаю, сидят в районе 4000 — 4500 активных пользователей.

    Ну и пусть сидят. Производительность-то тут причем? 1С загибается при расчетах даже, когда там один пользователь — ту же себестоимость считает (про партионную. уже и не говорим — 1С сама признала насаждением РАУЗ, что не сдюжила) по РАУЗ десятками часов.

    Reply
  39. vovan_victory

    (1) kembrik, из Ваших слов можно понять только одно: 1С покупают для работы, а САП для пантов. И в таком случае , САП можно сравнить с дорогим автомобилем, который был куплен за несколько лямов. Прошло несколько лет, это авто(уже с пробегом) стало стоить дешевле,но все равно цена красивая. Тут владелец понимает, что за те деньги, которые она стоит сейчас , он ее не продаст. Жаба душит. По этому владелец остается хотя с дорого(сравнительно), но старой машиной. А на рынке то уже другие технологии, другие продукты, но позволить себе еще одно такое внедрение машину владелец уже навряд ли может. Да и собственно зачем? IPO то уже случилось!!

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

    Reply
  40. peper-

    (17) eugeniezheludkov,

    Вас обманули. 🙂

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

    Неправда. Модулей форм в понимании 1С там вообще нет. Надо напомнить, что SAP это тяжелый сервер и тонкий клиент (раньше вообще был как мейнфрейм). Поэтому вся диалоговая логика тоже обрабатывается на сервере. В «старом-добром» ABAP Dynpro это выглядит вот так help.sap.com. Кстати, а почему вы, если интересно, не пользуетесь help.sap.com — у них все в открытом доступе. Просто инфы очень много…

    Но последние несколько лет SAP очень активно продвигает WebDynpro (а теперь еще и SAPUI5/HTML5) в качестве технологий разработки GUI. Там все сильно иначе и чем дальше, тем больше диалогового кода выполняется на клиенте, т.е. в браузере. Другое дело, что олдскульные ABAPеры держатся за старый ABAP Dynpro (несмотря на то, что он отнюдь не красавец). Зато работает как часы.

    ППС: а еще если там действительно наименования таблиц и еще многое ограничено 8-ю символами, то существует ли среди АВАРовцев какой-нибудь codestyle, naming convention?

    Ограничения в 8 символов на длину имени таблицы давно нет. Автор просто некомпетентен в вопросе и питается слухами и мифами.

    Reply
  41. peper-
    Reply
  42. AlexO

    (474) peper-,

    Но я в них верю.

    С чего такая уверенность?

    Reply
  43. peper-

    (475) AlexO, я за ними давно наблюдаю. 🙂 Еще с 6-й версии. Сам настраивал/разрабатывал 7.7, 8.0, 8.2, 8.3. Прогресс есть и он очевиден.

    Reply
  44. AlexO

    (476) peper-,

    Прогресс есть и он очевиден.

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

    Но — если «прогресс есть и он очевиден», то вы вполне тоже можете выступить «за 1С», будет даже интересно выслушать, что такого удобного и великолепного внесла 1С в мир программирования (или, еще интереснее — в мир СУБД) :))

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

    Reply
  45. comol

    (472) peper-,

    Ограничения в 8 символов на длину имени таблицы давно нет

    Я где-то писал что есть? Я просто привёл названия основных таблиц :)))) А дальше делайте выводы. А они печальны. Судя по всему процентов 99 так таблиц были созданы с этим ограничением :). И оно «совсем не мешает», особенно учитывая «Богатые инструментальные средства и удобные синтаксические конструкции » ABAP -а, Уже лучше бы сдались и писали на C# + LinQ. удобнее раз в 5 ИМХО

    Reply
  46. alex_sh2008

    (484) Вы не забывайте что SAP уже работала тогда когда 1С еще в помине не было, и были базы файловые базы данных, и второе то что имена таблицы 8 символов это наоборот хорошо, чем меньше количество символов имени таблицы, индекса, поля, тем лучше. Сравнение на уровне сколько символов в имени таблице выеденного яйца не стоит, а вы все спорите на тему сколько знаков после запятой, да сколько символов в таблице, что более серьезных сравнение нет, где 1С сможет выиграть?

    Reply
  47. kser87

    (485) alex_sh2008, что проще для понимания? ИмпортСправочникаСтруктураКомпании или что-то вроде ImCatStE? 1С сделана для людей и это одно из главных его преимуществ.

    Reply
  48. alex_sh2008

    (486) kser87, 1С сделана для наших людей, и это не преимущество, а недостаток. В 1С почти все проблему решаются программированием без программирования программы выпускаемые 1С пустышки, ну за исключением бухгалтерии может быть,

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

    И опять же это все мелочи, какие руки так и работает все.

    А вот на счет производительности при той функциональности которая есть у SAP, 1С на такой функциональности резко отстанет, даже если ее повесить на HP ConvergedSystem 500, транслятор ни когда не будет работать быстрее компилятора.

    Reply
  49. kser87

    (488) alex_sh2008, еще один «специалист» в 1С. все программы «пустышки», кроме бухгалтерии?)) ничего, что самая популярная конфигурация это Управление Торговлей? Чисто управленческая система. Бухней там даже не пахнет. Главная причина по которой программистами САП пользуются с осторожностью заключается в то, что таковых крайне мало и стоят они дорого. Дорого они стоят потому, что их мало. Руки тут ни при чем.

    Про функциональность спорить пока не буду. Дождусь пока ваша статья пройдет модерацию.

    Что касается производительности. Умоляю, не нужно мне про это говорить. Я работаю с самописной конфой на 1С 8.2, в которой 3,5- 4 тыс активных пользователей прямо сейчас. На этом спор про производительность можно заканчивать. 1С работает нормально и с большими БД.

    Reply
  50. AlexO

    (490) kser87,

    Я работаю с самописной конфой на 1С 8.2, в которой 3,5- 4 тыс активных пользователей прямо сейчас. На этом спор про производительность можно заканчивать. 1С работает нормально и с большими БД.

    Ну да, зачем с вами спорить — вы понятия не имеете, сколько пользователей у вас работает на самом деле, что происходит в системе и в базе, и какими костылями и сколькими «ручными» человеко-днями «подпинывается» ежедневно.

    Reply
  51. alex_sh2008

    (490) kser87,

    Что касается производительности.

    Вы плохо читали мой пост, я говорил при одинаковом функционале, а не про то какую вы используете у себя самописку. И второе SAP это система на 10тыс и более пользователей, и не только торговля, а гораздо по больше функциональности напичкано.

    Reply
  52. alex_sh2008

    (490) kser87,

    Дождусь пока ваша статья пройдет модерацию.

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

    Reply
  53. qwinter

    (488) alex_sh2008,

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

    Вы сами то поняли какую чушь написали?)))

    Reply
  54. alex_sh2008

    (506) qwinter, А вы поняли что я написал?

    Reply
  55. qwinter

    (508) alex_sh2008, Для справки, все языки программирования исполняются трансляторами. А трансляторы (в общем виде) делятся на компиляторы и интерпретаторы.

    Что же касается SAP и 1С то они оба являются интерпретаторами компилирующего типа.

    Reply
  56. alex_sh2008

    (509) qwinter,

    Для справки, все языки программирования исполняются трансляторами. А трансляторы (в общем виде) делятся на компиляторы и интерпретаторы.

    Я вроде как на сайте программистов или нет?

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

    Reply
  57. AlexO

    (510) alex_sh2008,

    Я вроде как на сайте программистов или нет?

    Вы разговариваете с тру-одноэсниками, выпускниками всевозможных бауманок и московских университетов. Так что вот таков уровень.

    Reply
  58. qwinter

    (510) alex_sh2008, судя по Вашим вопросам, Вы однозначно не на программистском сайте. К тому же кто-то явно не умеет читать. Я вроде уже написал, что и SAP и 1С являются интерпретаторами компилирующего типа. По простому, это значит, что они генерируют и хранят байт-код для виртуальной машины (можете называть это сжатием кода, это уже как Вам проще).

    Reply
  59. alex_sh2008

    (525) qwinter, Еще раз повторю дайте мне байт-код простой инструкции написанной на 1С.

    Пример Java:

    outer:

    for (int i = 2; i < 1000; i++) {

    for (int j = 2; j < i; j++) {

    if (i % j == 0)

    continue outer;

    }

    System.out.println (i);

    }

    Байт-код:

    0: iconst_2

    1: istore_1

    2: iload_1

    3: sipush 1000

    6: if_icmpge 44

    9: iconst_2

    10: istore_2

    11: iload_2

    12: iload_1

    13: if_icmpge 31

    16: iload_1

    17: iload_2

    18: irem

    19: ifne 25

    22: goto 38

    25: iinc 2, 1

    28: goto 11

    31: getstatic #84; //Field java/lang/System.out:Ljava/io/PrintStream;

    34: iload_1

    35: invokevirtual #85; //Method java/io/PrintStream.println:(I)V

    38: iinc 1, 1

    41: goto 2

    44: return

    Показать

    Reply
  60. vovan_victory
  61. alex_sh2008

    (527) vovan_victory, Вы статью внимательно нет прочтите, ни слова про компиляцию в 1С, а переход сделан на теорию компиляции в байт-код на примере .NET CLR и JVM.

    Reply
  62. qwinter

    (526) alex_sh2008, старый, престарый пример, вам от этого стало легче?

    к=3;

    строка=»йцукен»;

    к_симв_строки=Лев(строка,к);

    {1,

    {«Cmd»,15,0,

    {1,2},

    {2,0},

    {4,0},

    {16,0},

    {1,3},

    {2,1},

    {4,1},

    {16,0},

    {1,4},

    {2,2},

    {2,1},

    {2,0},

    {57,0},

    {16,0},

    {22,0}

    },

    {«Const»,2,

    {«N»,3},

    {«S»,»йцукен»}

    },

    {«Var»,3,

    {«к»,0,-1},

    {«строка»,0,-1},

    {«к_симв_строки»,0,-1}

    }

    }

    Показать

    Reply
  63. alex_sh2008

    (529) qwinter, Возможно

    Reply
  64. comol

    (485) alex_sh2008, 8 символов в таблице это лишь пример рудиментов. 50 символов — для аналитических разрезов… названия транзакций и т.п….

    Reply
  65. peper-

    (484)

    Именно что писали…

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

    И кто тут тролль? Или вам важно только вбросить?

    Повторюсь еще раз (пока мою статью не опубликовали). Да, ранее имена таблиц и полей были в SAP ограничены. Причем разработчики обходились не 8, а даже 4-5 букквами. MARA-MATNR, KNA1-KUNNR и т.п. Но тогда это было необходимо, так как были ограничения как в подложенных под SAP СУБД, так и в самой ABAP-платформе. Теперь же менять это нет ни смысла, ни возможности. Только дилетанту может показаться, что это плевое дело — переименовать в SAP все таблицы, ракурсы БД, структуры, поля, да еще и в коде все это учесть (особенно динамическом). Вы просто не понимаете (и по всему судя не хотите понять), насколько большая это система. Таблиц — более 300 тысяч, кода — миллиарды строк. И ради чего переименовывать? Чтобы недоучкам-самоделкиным было удобнее копаться в «кишках БД», куда их с таким уровнем вообще лучше было бы не допускать. И на каком языке, позвольте узнать, вы бы хотели видеть длинные имена таблиц/полей в SAPе? Уж не на великом и могучем ли? А вот немцы, почему-то, захотели на своем. Имеют права, полагаю. В SAP, кстати, встроен очень хороший механизм локализации (в отличие от 1С, где он пока все еще очень убог).

    Вы, уважаемый, либо учите матчасть прежде чем вбрасывать, либо используйте известный способ сойти за умного. 😉

    Reply
  66. comol

    (565) peper-,

    Теперь же менять это нет ни смысла, ни возможности

    Я всего лишь об этом и пишу… это называется «закостенело»…

    Reply
  67. peper-

    (568) Вы обосновать необходимость увеличения длины имен таблиц и их перевода не можете, но требуете этого. Полагаю, что это у вас что-то там «закостенело». Вы, похоже, не только дилетант, но и демагог приличный.

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

    Reply
  68. AlexO

    (572) peper-, .. и будете скоро вместе с вашими «злейшими друзьями» лишь перекидываться картинками да внедрять 1С вместо САП.

    Кстати, с чего пошло про «выпускников»-то — вы, может, и не заметили, но в данной ветке (и не только тут) половина называет себя выпускниками — и далее по списку: им.Баумана, Ломоносова, ИТМО и прочими НГТУ…

    Так что это не я из пальца взял.

    Reply
  69. peper-

    (574) AlexO, и чего? Я сам Экономику и Информатику в Стали и Сплавов заканчивал. И в 98-м году пробился в SAP на курсы потому, что писал диплом «по мотивам» внедрения SAP в ОЭМК. Получается, что весьма даже полезно было учиться в «московском ВУЗе». Но и другим завидывать не стоит. У САПа сейчас есть отделения не только в Москве, но и в Питере, и в Екатеринбурге. Что не устраивает? А уж с 1С — вообще раздолье. Можно учиться и работать практически в любом городе страны. Было бы желание учиться и работать.

    Reply
  70. AlexO

    (577) peper-,

    Можно учиться и работать практически в любом городе страны. Было бы желание учиться и работать.

    Это смешно только дилетантам. Мне не смешно. Совсем.

    Reply
  71. Зеленоград

    (1) kembrik,

    Активы, насколько я понимаю, можно продать. Какой ROI от покупки платежей за SAP?

    Reply
  72. peper-

    (939) Зеленоград, ROI не имеет отношения к продаже актива. Если вы инвестируете в строительство завода и закупку оборудования для него, то ROI будет от продажи выпускаемой им продукции, а не от распродажи купленного оборудования и пустого здания. Оценивать окупаемость инвестиций в ИТ вечная головная боль. При этом, конечно, эффективность этого всеми автоматизаторами преувеличивается. Но это не означает, что все предприятия должны забить на автоматизацию и работать на счетах и гроссбухах.

    Reply
  73. ture

    Что думали это всё?

    REPORT ture.
    data: begin of rec,
    name(25) type c,
    id type i,
    end of rec.
    
    move ‘Серега-Перец’ to rec-NAME.
    move 1 to rec-ID.
    
    * дальше ошибка, не умеет типа этот «простой» английский язык печатать структуры, надо громоздить кучу write на каждое поле!!!!
    write / rec.

    Показать

    Reply
  74. ture

    У меня стойкое чувство, что этот хваленый сап даже до 1с77 не дотягивает!

    Вот пример работы с внутренними таблицами:

    REPORT  ZTURE2.
    
    «внутренняя таблица
    types: begin of z_line,
    id(5) type n,
    ii type i,
    name(25),
    end of z_line.
    data tab_1 type z_line occurs 10 WITH HEADER LINE. «WITH HEADER LINE — это место под текущий элемент таблицы
    
    DO 12 TIMES.
    data: line type z_line, tmp1(25), tmp2(25).
    line-ID = sy-index.
    line-ii = sy-index.
    line-name = ‘-‘.
    append line to tab_1.
    enddo.
    
    «вставляем заполняем и вставляем строку в 4 позицию, сдвигая остальные ниже
    tab_1-ID = ’99’.
    tab_1-II = -199.
    tab_1-NAME = ‘Уши Оленя’.
    insert tab_1 index 3.
    
    «обход таблицы, если указано WITH HEADER LINE
    loop at tab_1.
    «sy-TABIX хранит текущее значение строки внутренней таблицы
    write: / sy-TABIX, tab_1-ID, tab_1-II, tab_1-NAME.
    endloop.
    
    «произвольный доступ на чтение, если указано WITH HEADER LINE
    read table tab_1 index 5. «помещает 5-ю строку в заголовок
    write: / ,/ sy-TABIX, tab_1-ID, tab_1-II, tab_1-NAME.
    
    «поиск нужной строки по условиям
    read table tab_1 with key id = ’99’.
    if sy-SUBRC = 0.
    write: / ,/ sy-TABIX, tab_1-ID, tab_1-II, tab_1-NAME.
    else.
    write: / ,/ ‘строка не найдена’.
    endif.
    
    write / ‘-‘.
    «проверяем
    loop at tab_1.
    write: / sy-TABIX, tab_1-ID, tab_1-II, tab_1-NAME.
    endloop.

    Показать

    Сейчас Вы спросите — «А как изменить у произвольной строки конкретное поле?» Ага! я, вот, то же бы спросил, да олени попрятались.

    Reply
  75. ture

    Так, для истории. Переписал под копирку. Стало так:

    REPORT  YTURE2.
    » Описание типов
    TYPES: phone_t(10) type  n,
    BEGIN OF person_t,
    id              TYPE n,
    first_name(20)  TYPE c,
    last_name(20)   TYPE c,
    full_name(100)  TYPE c,
    age             TYPE i,
    date            TYPE d,
    phone           TYPE phone_t OCCURS 1,
    END OF person_t.
    » Объявление переменных
    DATA: pr TYPE person_t.
    DATA: tab_pr TYPE TABLE OF person_t.
    » Делаем константу (вида всюду)
    CONSTANTS: CNT TYPE i VALUE 100.
    
    » Исполнение
    START-OF-SELECTION.
    » Заполнение таблицы (отдельной формой)
    PERFORM fill_data.
    » Отображение таблицы (отдельной формой)
    PERFORM output.
    
    » Описание формы заполнения
    FORM fill_data.
    data phone type phone_t.
    DO CNT TIMES.
    pr-id = sy-index.
    pr-first_name = ‘Жека’.
    pr-last_name = ‘Ну понятно… ture’.
    » соединяем строки
    pr-full_name = |{ pr-first_name } { pr-last_name } — { sy-index } прикольно тут! |.
    pr-age = 15.
    pr-date = sy-datum.
    DO sy-index TIMES.
    phone = ‘989157777700’ + sy-index.
    APPEND phone to pr-phone.
    ENDDO.
    APPEND pr TO tab_pr.
    ENDDO.
    ENDFORM.
    
    » Описание формы отображения
    FORM output.
    DATA: gr_table      TYPE REF TO cl_salv_table.
    
    * ALV Output
    TRY.
    cl_salv_table=>factory( IMPORTING
    r_salv_table = gr_table
    CHANGING
    t_table      = tab_pr ).
    CATCH cx_salv_msg.
    ENDTRY.
    
    * Display ALV
    gr_table->display( ).
    
    ENDFORM.  

    Показать

    Появились колонки! Весьма порадовало. Но без заголовков и осмысленного порядка (вложенные таблицы похерились, что опечалило).

    (1057) Сортировка слиянием там на плюсах в несколько потоков. Разные сортировки придумывают, потому что нет идеальной (многое определяется содержанием сортируемых данных). Еще есть вопрос по автодополнению (есть комбинация клавиш?) и подсветке переменных (подсветки что нет?) …Ага как раз на помойке и работаю. Вот нашел книжку по сап, решил почитать…

    Значится сегодня я узнал, что переменные объявленные где-то выше (и не важно в какие блоки завернуты) видны аш в формах (помните, я говорил, что названия не соответствуют смыслу — вот это оно и есть). О чудо! Цикл do … times стал проглатывать переменные. Под формами надо разуметь паскалевские процедуры. Почему Паскаль? ну мы же все видим код выше написан человеком, явно пишущим его ежедневно… блок описания типов, блок объявлений переменных, основная программа и в завершение описание процедур (за ними располагать код нельзя.. пока).

    Reply
  76. peper-

    (1066) (1067) ture,

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

    Ну а желающие смогут найти в SAP и форматирование кода, и подсветку синтаксиса, и понять, почему в моем примере я типизировал компоненты (домены и элементы данных это весьма мощная и удобная возможность SAP-овской платформы, но «это ж надо понимать!»), и как для ALV включить сортировку/фильтр/группировку и прочие возможности… А кроме того, смогут выяснить, что мой пример был написан просто, чтобы показать насколько сильно вы не понимаете то, что делаете. Если бы я написал его сразу как класс с двумя методами (вместо FORM/PERFORM), то вам было-бы трудно сопоставить с ним свои потуги, что было чревато опасными последствиям для неокрепшего ума, про тяжелое состояние которые вы нам тут сообщили

    Ну а что касается английского языка, то его незнание является для программиста большим минусом, чем отсутствие компьютера. Возняк программы писал на бумаге. И речь тут вообще не про SAP. Документация и подавляющее большинство достойных книг по языкам программирования, инструментам разработки, библиотекам и SDK выходят только на английском. И неважно, говорим мы о PHP, Java, C++, C#, Objective C, Swift или чем-то еще. Да, на русском есть 1С. Но это малость ограничивает не только возможности получения знаний, но и возможности их применения при последующем трудоустройстве. Поэтому, если вы не можете иьне готовы научиться читать на английском (пусть и техническом, говорить с носителями вас никто не заставляет), то все опять может скатиться к «дворнику». Помните, что в этом случае у индусов всегда будет перед вами как-минимум одно преимущество — они уже читают и говорят на английском (хотя я их английским таким не считаю). 🙂

    Засим, ture, оставляю вас один на один с SAP, ABAP и документацией. http://help.sap.com/pcat_techplatform вам в помощь. И Google…

    Reply
  77. ture

    (1076) peper-,

    Если бы я написал его сразу как класс с двумя методами

    Ну ка изобрази в виде класса. Чтоб взглянуть глазком. Чтоб примерно представлять на каком я уровне — то опирайся на то, что я пойму «самый жуткие» перлы на с++ с кучей разных прагм или технологий. Короче напиши не для дебилов.

    Reply
  78. peper-

    (1103) ture, э, нет, на «слабо» не получится. Но ссылку на справку так и быть подкину. Там и пример есть простенький. ABAP Objects.

    Единственное что все-таки надо отметить, что это последняя на данный момент версия NetWeaver (7.5), а какая у вас я не знаю. Если что-то постарше, то, например, объявление переменных в строке (вида DATA(counts) = counter->get_counts( )) может быть еще не доступно.

    Если почитаете немного справку выше/ниже, то узнаете, что классы/методы можно создавать в графическом виде (что удобно, если класс навороченный и в нем много свойств и методов), так и чисто из кода (как в примере). При этом оба варианта взаимозаменяемы. Но графически сильно удобнее для обзора приличной по размеру разработки.

    Reply
  79. ture

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

    REPORT  YTURE_CLASS.
    
    «описание типов
    class person_t DEFINITION.
    «выжен порядок секций
    PUBLIC SECTION.
    TYPES phone_t(10) type n.
    «конструктор (перегрузка конструктора запрещена, на параметры могут быть не обязательные)
    METHODS constructor IMPORTING name type c OPTIONAL
    age  type i OPTIONAL
    phone type PHONE_T DEFAULT ‘9151234567’.
    
    «методы (перегрузка запрещена)
    METHODS write.
    METHODS add_phone IMPORTING num type PHONE_T.
    PRIVATE SECTION.
    «константы
    CONSTANTS LEN type i VALUE 50.
    «члены данных
    data: name(LEN) type c VALUE ‘Ну понятно… ture’,
    age       type i VALUE 25,
    t_phone   type TABLE OF phone_t.
    ENDCLASS.
    
    «Исполняемый фрагмент
    data: obj_1 type ref to person_T,
    obj_2 like OBJ_1,
    obj_3 like OBJ_2.
    CREATE OBJECT OBJ_1 EXPORTING name = ‘Серёга, опять ты!’
    age  = 30.
    CREATE OBJECT OBJ_2 EXPORTING name = ‘Диман’
    phone = ‘9159876543’.
    CREATE OBJECT OBJ_3.
    
    call METHOD OBJ_1->ADD_PHONE EXPORTING num = ‘7777777777’.
    
    data t_persons type TABLE OF REF TO person_t.
    APPEND: obj_1 to t_persons,
    obj_2 to t_persons,
    obj_3 to t_persons.
    
    data: obj type ref to person_T.
    loop at t_persons into OBJ.
    CALL METHOD OBJ->WRITE.
    ENDLOOP.
    
    
    «реализация после исполняемого фрагмента
    class person_t IMPLEMENTATION.
    METHOD CONSTRUCTOR.
    if name is SUPPLIED.
    «это this такой
    me->name = name.
    ENDIF.
    if age is SUPPLIED.
    me->age = age.
    ENDIF.
    APPEND phone to T_PHONE.
    ENDMETHOD.
    METHOD write.
    write: / ‘имя = ‘, NAME, ‘ возраст = ‘, AGE.
    data phone type PHONE_T.
    loop at T_PHONE into phone.
    WRITE: / ‘тел: ‘, phone.
    ENDLOOP.
    ENDMETHOD.
    METHOD add_phone.
    data temp type PHONE_T.
    «table_line как алиас
    READ TABLE T_PHONE WITH KEY table_line = num into TEMP.
    if sy-SUBRC <> 0.
    APPEND num to T_PHONE.
    endif.
    ENDMETHOD.
    ENDCLASS.

    Показать

    Ржать мочи нет, уже тоскливо стало от такого языка.

    Reply
  80. peper-

    (1192) ture, ну вы ж опеределитесь, тоскливо или ржать? Но резкая смена настроения знак не очень хорошего эмоционального состояния. Надо заканчивать с ABAP кому-то. Однако, стоит, наверное, вам еще кое-что пояснить.

    Вы требуете от встроенного языка SAP, созданного для того, чтобы писать бизнес-приложения, и заточенного на работу с СУБД и обработку данных, возможностей языка уровня C++ или ObjC или Swift. Однако, ни на ABAP, ни на 1С не пишут 3D-игр, драйверов или ОС реального времени. У них другие задачи и другие возможности. Ни прямого доступа к памяти, ни перегрузки, ни много чего еще вы тут не найдете. Зато, выбрать из СУБД набор строк и столбцов и вывести их в отчет можно всего несколькими строками кода. Как показывает практика, кажущаяся ограниченность не мешает им успешно справляться со своими задачами и быть весьма популярными (как и решениям, на них написанным). А если вам интересны «шашечки, а не ехать», то можете обратить внимание, например, на Microsoft Axapta (для примера). Язык там (X++) покажется вам намного более современным. Вот только успехи Axapta на рынке РФ очень далеки от тех, которыми могут похвастаться 1С и SAP. Вот и думайте…

    Reply
  81. ture

    (1194) peper-, этот x++ что предок c#? Код легко читаем (ну мне), язык с-подобный, но с гнильцой. В принципе, да …я б его как два пальца. Жаль что сап выбрали.

    И что реально за сап платить будут немерено, если освоить? И долго его еще осваивать такому дебилу как я? Курсов я не читал, т.е. открывал пару раз, где по русски написано. Тестовая среда у меня кажись куцая (модуля ms sql нету), но пока вроде хватало. Да… интерес угасает по экспоненте, т.к. не ясна конечная цель… уже засомневался в денежной отдаче от этой затеи, выглядит как пустая трата времени. Вот ты сап освоил? что в Европе работу не можешь найти или в Москву переехать? или просто сапа мало?

    Reply
  82. peper-

    (1197) ture, опять откуда-то выводы делаете странные. Кто сказал, что я не могу в Европу переехать или тем более в Москву? Первая проблема в том, что чтобы в Москву переехать, мне надо сначала из нее уехать, так как я тут родился и вырос. 🙂 Вторая проблема в том, что чтобы переехать в Европу нужно не быть привязанным к России и Москве, а у меня тут семья, родители и куча друзей. При этом, переехав в Европу я вряд-ли буду зарабатывать больше, чем сейчас, так как ставка у меня уже несколько лет как европейская (до падения курса рубля, во всяком случае была), а вот 6% налогов вам в Европе никто не предложит. Немцы, например, получают на руки чуть ли не менее 50% своего оклада (точно не помню, но наши коллеги жаловались и такими порядками оперировали). Да, там спокойно, стабильно (но без Путина), дешевые кредиты, безопасность, хорошие продукты питания и вообще (ну, так было во всяком случае, до последнего времени), но вас там никто не ждет особо. Там таких своих много, а также еще и много индусов, которые готовы делать эту работу пусть и не так качественно, как немцы, зато в 3-4 разв дешевле. И именно с ними вам придется конкурировать. У меня из SAP несколько коллег уехали в Германию и Канаду, но подавляющее большинство не рвется «туда». А я в Европу в командировки езжу и отдыхать. Пока достаточно. 🙂

    Что касается «за SAP будут платить немеряно», то это отнюдь не факт. SAP это в первую очередь не среда разработки, а большой набор готовых решений (чего тут всем и пытаюсь уже несколько месяцев разъяснить). И хорошо (иногда даже чересчур) платят именно квалифицированным консультантам по решениям, знающим что они могут и как их настраивать. И программисты на ABAPе ценятся в первую очередь не языком владеющие, а решения саповские (ERP/SCM/CRM/BI) изнутри знающие («Где что лежит? Как оно работает в стандарте? Как его можно расширять и дополнять?»). У вас, судя по всему, нет доступа к ERP, а стоит «голая» платформа Netweaver не знаю какой версии. Изучать ее, конечно, можно (в т.ч. не только ABAP и словарь данных, но и BI, например, и разные Workflow и прочие платформенные возможности и сервисы, ссылки на которые я давал), но реального опыта доработки решений ERP это вам не даст. Увы, но для этого нужны SAPовские курсы, которые в случае оффлайна стоят весьма дорого (мой «букет» до и во время работы в SAP где-то тысяч на 50 (евро) тянет), а в том случае, если найдется тыренные PDF-ки в Интернете (а они есть, просто места знать надо), то пройти их самому весьма трудно — нужна специальная учебная система (IDES), да еще и версии соответствующей курсам и развернутые пояснения преподавателя. Так как SAP большой и зело непростой. Да еще плюс терминология специфическая и много концепций, нашему брату неведомых. Без чужой помощи это все дается с огромным трудом… Это я вам как (бывший) преподаватель САП-курсов говорю. Так что советовать вам что-то не берусь… Но можете посетить sap.ru и посмотреть раздел Работа для стажеров.

    Reply
  83. AllexSoft

    (1198) peper-,

    Увы, но для этого нужны SAPовские курсы, которые в случае оффлайна стоят весьма дорого (мой «букет» до и во время работы в SAP где-то тысяч на 50 (евро) тянет), а в том случае, если найдется тыренные PDF-ки в Интернете (а они есть, просто места знать надо), то пройти их самому весьма трудно — нужна специальная учебная система (IDES), да еще и версии соответствующей курсам и развернутые пояснения преподавателя. Так как SAP большой и зело непростой. Да еще плюс терминология специфическая и много концепций, нашему брату неведомых. Без чужой помощи это все дается с огромным трудом

    не считаете это минусом? ну у кого есть свободные, ну хотя бы тысячу евро? в 1С курсы намного доступнее и официальные по цене (кстати довольно качественно сделанные), да и неофициальных и просто бесплатно книг на просторах интернета полным полно..

    Reply
  84. peper-

    (1205) AllexSoft, считаю. Но, с другой стороны, я не вижу разницы между обучением в престижном вузе, обучением на МБА или обучением на курсах SAP. Они все стоят денег. И все являются основой (но не гарантией) для хорошо оплачиваемой работы и успешной карьеры. Кроме того, за курсы SAP пользователи сами не платят обычно. Моё обучение оплачивал SAP. Тем не менее, да, доступность обучения по SAP ниже, чем по 1С. Ну так и количество внедрений этих решений в России на порядки отличается. Значит и спецов нужно разное количество.

    Reply
  85. alex_sh2008

    (1207) peper-,

    Но, с другой стороны, я не вижу разницы между обучением в престижном вузе, обучением на МБА или обучением на курсах SAP

    Разница очень большая, SAP всего лишь программное решение и цены на обучение искусственно закручены, обучение же в вузе или МБА дает гораздо больше знаний.

    Reply
  86. peper-

    (1209) alex_sh2008, установление цен как на само ПО, так и на обучение ему вопрос сложный. Многим и Windows кажется слишком дорогой, а кому-то и игры за 1 доллар. Но если покупают, значит спрос есть. А не будут покупать, так цены снизят. Что касается стоимости обучение по SAP, то затраты на него отбились в моем случае раз 30. И сегодня продолжаю использовать полученные по SAP знания ежедневно. А вот время и деньги, потраченные на обучение меня 20 лет назад политэкономии или обработке металлов давлением, вряд-ли отобьются когда-нибудь вообще.

    Reply
  87. alex_sh2008

    (1210) peper-,

    А вот время и деньги, потраченные на обучение меня 20 лет назад политэкономии или обработке металлов давлением, вряд-ли отобьются когда-нибудь вообще.

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

    Reply
  88. ture

    (1213) alex_sh2008,

    Учится надо не ради корочек, а ради знаний

    Вроде стар для папаши от 3 до 12, а от 14 до 17 песенка уже другая

    Учится надо, чтоб в вуз попасть, который даст хороший старт в жизни
    Reply
  89. peper-

    (1213) alex_sh2008, я учился на экономике и информатике в МИСиС. И экономику, и информатику я вроде знаю. Но «металлургия» мне не пригодилась. Но в SAP я попал именно оттуда. 🙂

    Reply
  90. alex_sh2008

    (1219) peper-, Мне в принципе без разницы какая система учета 1С, SAP, Axapta, если желание есть достичь цели то изучить не сложно, за свою деятельность я познакомился с порядка 5 отраслями, хотя сам начинал свой путь в радиоэлектронике :), а сейчас вообще занят только в малом и среднем бизнесе, поэтому SAP интересен с точки зрения концепций и методик, по большому счету эти две вещи актуальны хоть в малом, хоть в большом бизнесах

    Reply
  91. peper-

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

    Reply
  92. user932667

    (8) Доброго всем дня!

    Год 2018й. Отвечая на ваш пост 2015 года., могу сказать, что ничего, из описанного в статье, в SAP не изменилось. Смотрю на скриншоты как на экраны пользователей которых мы сопровождаем. С момента начала внедрения в 2007г. все неизменно, включая «нежные» эпитеты, которыми пользователи скрашивают свою работу, в этих «чУдных» электронных табличках :))

    Reply
  93. Infector

    (7) все чаще кажется, что проблема с производительностью 1С как связки типовой конфигурации и платформы обусловлена двумя факторами:

    1. Возможности платформы заставляют выпендриваться разработчиков конфигураций, а головы менеджеров и руководителей повышать детализацию и точность учета — т. е. наворачивать дополнительные измерения и записи таблиц (а иначе никакой детализации не получится), прикручивать дополнительные регистры.

    2. Оставляется много возможностей для рукоблудства и конструкций вроде

    Пока Выборка.Следующий() Цикл
    ОбластьМакета.Параметры.Единица = Выборка.Ссылка.Номенклатура.ЕдиницаХраненияОстатков
    КонецЦикла;
    

    3. Отдельные объекты странного и непредсказуемого поведения, при том что обращение к API Windows решает задачу намного проще эффективнее. (Это все я про Интренет-почту)

    Reply
  94. TODD22

    (1341)

    2. Оставляется много возможностей для рукоблудства и конструкций вроде

    Криво написать можно и в SAP и на любой другой платформе(языке).

    Reply
  95. Infector

    (1342)если альтернативная платформа тоже умеет выполнять неявные запросы к СУБД. А если требует городить руками

    select top1 ……. where …. то абсолютное непотребство смогут писать только самые отмороженные.

    Reply
  96. TODD22

    (1349)

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

    select top1 ……. where …. то абсолютное непотребство смогут писать только самые отмороженные.

    Да ладно… а то говнокода на SQL не пишут.

    если альтернативная платформа тоже умеет выполнять неявные запросы к СУБД.

    Так надо знать механизмы платформы, а не сваливать всё на «неявные запросы». Для этого вроде как есть курсы, методички, книги.

    Reply
  97. Infector

    (134)для корректного сравнения следует решение из SAP воспроизвести на 1С. Или из типовой конфигурации повыкидывать «лишние» «свистелки-перделки». В таком случае можно говорить о том какая платформа насколько шевелится. А если имеем документ «на все случаи жизни», который при проведении пишет более 10 регистров о чем тут говорить? Естественно оно медленнее, но и решение созданное средствами платформы явно более замороченное. На 1С простые и надежные как автомат Калашникова конфигурации пишут под себя и свои нужды отдельные предприятия. Но из коробки такого давно нет.

    Reply

Leave a Comment

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