[1C-to-EXE] Компилятор 1С кода




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

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

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

<?php // Полная загрузка сервисных книжек, создан 2025-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='\

99 Comments

  1. Душелов

    Попытка реализации компилятора 😉

    Reply
  2. Душелов

    Проверка синтаксиса поверхностная, пока не заморачивался, как и все остальное, так что ошибки вполне могут выскакиват и в «рабочем» коде 😉

    Reply
  3. JohnyDeath

    Василий, а где это можно применить?

    Reply
  4. Душелов

    (3) Пока нигде 😉 Как вариант далее — разбор того же epf-а, генерирование формы (уже windows-приложение, а не консольное), отработку событий. Ну и, теоретически, работа с данными в sql-ном режиме 😉 Предварительно, структуру метаданных получив.

    Reply
  5. Abadonna

    (3) по секрету… в оконцове должен стать КЗК-8 😉

    Reply
  6. Душелов

    +4 ну ипользовать можно будет, когда работу с файлами добавлю — возможность писать на 1С-е небольшие утилитки, по обработке файлов 🙂 с компиляцией в самостоятельные приложения.

    Reply
  7. Душелов

    (5) Тссссс…. 🙂

    Reply
  8. German

    Однозначно революционная вещь

    Reply
  9. German

    Лучше бы генерил ВК(dll), exe то никуда не пришьешь.

    Reply
  10. Душелов

    (9) Да это не сложно 😉 В планах это реализовать.

    Reply
  11. nikstinger

    Цитата с Bash.org.ru:

    MerryMaker: Смотрю рекламу VoIP-провайдера: «Просто подключите стационарный телефон к интернет-шлюзу, и звоните без ограничений».

    MerryMaker: 10 лет назад я выходил в инет через телефон, а не наоборот…

    и гланды удалять можно через ж*** только зачем?!… неужели С++, Делфи да того же Бейсика для работы с файлами, SQL и прочего не хватает?

    Reply
  12. Душелов

    (11) Не поверишь! Мне — хватает. Я цели преследую совершенно другие.

    Reply
  13. nikstinger

    =) тогда не вопрос) за идею однозначно +!

    Reply
  14. O-Planet

    (9) И будет Golden Key…

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

    Reply
  15. Душелов

    (14) А каков принцип работы гкея? Полноценное конвертирование кода 1С в язык высокого уровня или просто прятание модуля в глубь библиотеки?

    Reply
  16. O-Planet

    Первое — КЗК. У меня — второе. Скажем, есть Ном=СоздатьОбъект(«Справочник.Номенклатура»); Я в модуле заменяю на Ном=GK(2313);

    Reply
  17. Душелов

    (16) Ну в целом понятно… Я полностью конвертирую код 1С в язык ВУ 😉

    А заглохнет или нет — посмотрим 🙂

    Reply
  18. cs25

    Класс !!!

    Reply
  19. O-Planet

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

    Reply
  20. Душелов

    (19) Я знаю, сколько человек разрабатывает платформу, и ты будешь удивлен этому количеству ;))

    Я понимаю, что это работа не на 2 недели… Понемногу, постепенно… 🙂

    Reply
  21. CheBurator

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

    Reply
  22. Душелов

    (14) А на счет блокнотика я подумаю… Мой дебаггерский вариант примерно напоминает этот блокнотик 😉

    Reply
  23. Душелов

    (21) Я тоже думал на счет этой темы…

    Reply
  24. O-Planet

    (20) Я не говорю о кодерах только. Их, как правило, не больше 2-х ))

    Reply
  25. seermak

    (20) а сколько (для общего развидия:))

    Reply
  26. Душелов

    (24) Ну давай ориентироваться на кодеров 😉

    (25) в (24) примерно угадал… Хотя сейчас, ситуация, конечно может быть другая… С учетом появления 8.2.

    Reply
  27. coder1cv8

    Прикольная игрушка! Душелов радует как обычно! ) Жирный плюс!

    Но как я и говорил на форуме это возможно, но не реально. Написание полноценного компилятора любой обработки в EXE сопоставимо по трудозатратам с переписыванием всей платформы с нуля. Одному человеку это не по силам, даже если это Душелов! ))

    Reply
  28. Fuego

    Ставлю плюсик за одержимость идеей! :)) Молодчик! Чё сказать?.. 🙂

    Reply
  29. Душелов

    (27) Я знаю, что одному не под силу… Но никто и не говорит, что я буду один 😉

    Идея есть. Возможность реализации в принципе есть… А там посмотрим 🙂

    Reply
  30. vovan519

    (0) плюс

    (19) Не грузи Душелова. У него есть то, что теряют большенство программистов с возрастом. Это азарт и вдохновение. Те, кто хоть раз ощущал ЭТО, когда наплевать на деньги, на сон, на еду, когда не думаешь о том что получится или нет, когда не думаешь о признании, думаю поймут меня.

    В общем Душелов красавчег.

    Reply
  31. O-Planet

    (26) Не угадал, а знаю, потому что участвовал в разработках ПО (конечно, не 1С) Просто тянуть команду из более трех программеров, на самом деле, очень затратно: такие проекты требуют хорошей организации. Просто на каждого дополнительного программера требуется несколько менеджеров. На это тратится будет только Билл Гейтс. У нас рассуждают примерно так: «Какой отдел ПО?! Мы вон сейчас Шурику, сыну главбухши, дадим, он за месяц все напишет, лишь бы ему курсовую зачли».

    Reply
  32. O-Planet

    (30) Ха. Мне не говори про потерю азарта и вдохновения. «С возрастом» оно лишь прибавилось. Но появилось и еще одно немаловажное качество: умение рассчитывать затраты. Потом, я не говорю, что проект обречен. Просто он очень затратен. Тут на одном вдохновение и азарте не выедешь. Все это исчезает при пятой, десятой, двадцатой серьезной затыке. Начинаются разговоры о нехватке времени, о глобальных катаклизмах и т.д. Кстати, кто-нибудь скажет, как поживает проект «Апельсин»?..

    Reply
  33. coder1cv8

    (29) А как ты собираешься реализовать работу с БД? Для такого компилятора жизненно необходимо ориентироваться именно на файловую базу (*.1CD) я считаю! А если тебе по силам организовать такое взаимодействие, то стоит не об этих игрушках, а о серьезных вещах задуматься!!! Например, альтернативный «клиент» для файловой базы. )

    Reply
  34. Душелов

    (33) С sql-ной версией в целом все понятно, а вот с файловой — тут уже надо ждать других специалистов, которые смогут разобрать этот файл.

    Reply
  35. O-Planet

    (33) Это — как раз не вопрос. Можно пристегнуть любую имеющуюся.

    Reply
  36. Душелов

    (32) Затраты кроме моеги личного времени… Я просто люблю программировать и изучать что-то новое 🙂 И не я один… И с годами эта страсть все сильнее и сильнее… :)))

    Reply
  37. Душелов

    Может к теме вернемся? Кто-нибудь уже посмотрел? Попробовали что-нибудь набросать простенькое?

    Reply
  38. O-Planet

    (33) Хм… Не сразу вьехал… А зачем 1CD не является защищенной авторским правом? Т.е. можно с ней работать вне платформы? Может, лучше собственную структуру данных иметь для собственного проекта?

    Reply
  39. Душелов

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

    Reply
  40. coder1cv8

    (34) В том-то и дело, что такой инструмент имеет смысл только для файловой базы! Зачем чё-то компилировать под SQL-ную базу, если проще написать приложение непосредственно работающее с таблицами???

    (35) Не согласен.

    Reply
  41. coder1cv8

    (38) Вот с авторскими правами косячек, я думаю, будет! )

    Reply
  42. o.nikolaev

    Ого! (+)

    Reply
  43. АЛьФ

    Совет: чтобы не париться с синтаксисом и разбором кода, можно конвертить не исходник, а р-код, который 1С генерит при поставке без исходников. ИМХО так будет и в реализации проще, и надежней.

    Reply
  44. Душелов

    (43) Спасибо за совет, поковыряюсь!..

    Reply
  45. CheBurator

    (30) > Те, кто хоть раз ощущал ЭТО, когда наплевать на деньги, на сон, на еду, когда не думаешь о том что получится или нет, когда не думаешь о признании, думаю поймут меня.

    ..да! это знакомое состояние… только вот семья как-то не сильно приветсвует…

    Reply
  46. Душелов

    (45) Жена сама из-за ноутбука или книжек не вылазит — ей удобнее, хоть от меня отвлечься можно, своими делами заняться :)))

    Reply
  47. CheBurator

    (46) Я рад за тебя! это тебе с женой повезло! 😉

    Reply
  48. LenaTorpeda

    Качаю что попало.Зачем, к чему это приложить? Может потом пойму:)

    Учусь,одним словом 🙂

    Reply
  49. MMF

    Вот когда реализуешь работу с прикладными объектами вот тогда это будет ОГОГО. А пока что фигня какая-то

    Reply
  50. Душелов

    Вообщем, все новости и прочее, буду постить тут: http://infostart.ru/community/groups/36/

    Reply
  51. CheBurator

    (48) угумс.. у меня тоже асяким барахлом род терабайт забито…

    Reply
  52. PeRom

    Молодец Василий! Ой не зря всё это затеяно — главное не результат, а динамика!

    Reply
  53. WiseSnake

    Если честно не понимаю за что плюсы?

    Мож кто объяснит темному?

    Не проще на языке высокого уровня сразу программу написать?

    Этот компилятор даже к рукаву не пришьешь…

    Базу 1С он умеет использовать?

    Отчет на нем самый простецкий можно сконвертить?

    А для того чтобы написать рабочий exe или dll надо практически туже платформу 1С написать только сбоку…

    Темный я какой то…

    Reply
  54. Yashazz

    Если не заглохнет, то… То это волшебно и революционно! Наконец-то можно будет писать независимые приложения, как в нормальной среде и языке разработки! Спасибо за подвижничество и героизм.

    Мечтал о таком, но сам никогда б не взялся…

    Reply
  55. O-Planet

    Может, тотализатор? 🙂

    Reply
  56. WiseSnake

    Ставлю 100 евров на то что загнется :)))))

    Если Василий напишет работающую вещь то этих денег будет не жалко!!!!!!!!!!!!!

    Reply
  57. andrewalexk

    (0)

    🙂

    а вот интересно..

    получится сгенерить файл монополия.epf?

    Reply
  58. Душелов

    (56) Загнется на каком этапе? 😉

    (57) Это что? Игрушка что ли?

    Reply
  59. CheBurator

    Если Василий напишет автономную среду разработки, поддерживающую работу в полном (или почти полном) объеме с md и +платформу исполнения (или в экзешник или как сейчас 1ска — по выбору разработчика) — то и мне, вообщем-то 100 евро не жалко…

    Reply
  60. WiseSnake

    (58) Это сложный вопрос… я вообще то думал что это шутка ;), но фиг его знает слово не воробей…

    Например дается пол года.

    Если будет возможность exeшнику обращатся с базой (чтение, запись) хотя бы по основным объектам метаданных использовать глобальные процедуры общих модулей. То я признаю поражение.

    Reply
  61. Душелов

    (60) Запись в бд — это вряд ли (самое трудное)… А вот хотя бы на чтение…. 😉

    Reply
  62. Душелов

    (59) Один я этого не напишу, тут помощники нужны…

    — Ты за сколько времени карету починить сможешь?

    — За два месяца

    — А за три?

    — Могу и за три

    — А за шесть сможешь?

    — Ну коли постараться и за шесть смогу

    — А за год?

    — Ну за год — это сложно, тут помощники нужны!

    Пр: А за два?…

    Стр: …

    Reply
  63. zaic

    56. У него как-то сразу получаются работающие вещи ..). Мастер он.

    Интересно, как это будет по размеру, надобность в кзк2 отпадет или как, получится ли коммерческий продукт и т.д. Во всяком случае хочется пожелать успехов в этом проекте.

    Reply
  64. CheBurator

    (63) присоединяюсь…

    Reply
  65. WiseSnake

    (62) И я о том же…

    + Как к бесплатному(он же планируется бесплатный) аналогу отнесутся 1С, возможны палки в колеса, в этом я уверен.

    Это реальный свободный проект типа openoffis.

    Это круто и тут нужна серьезная организация действий…

    Ищи единомышленников… Я бы помог, но знаю языки ВУ не на том уровне который здесь необходим… Возможно со временем 😉

    Reply
  66. WiseSnake

    (63) zaic вещь то неработающая, не разделяю оптимизма, пока это только баловство

    Reply
  67. WiseSnake

    Мне больше интересно, как у тебя, Василий, получается так «завести» людей, вызвать всеобщий психоз :)???

    Поделись секретом 😉

    Reply
  68. Душелов

    (67) Какой психоз? Где? ;)))

    Reply
  69. Душелов

    Я просто реализовываю мечты, когда был чистым одинэсником… Хотелось этого, того и еще вот этого… А сейчас просто занялся реализацией 😉

    Reply
  70. WiseSnake

    Я так примерно и объяснил себе происходящее… Плюсуют мечты… ))))

    Как сам то оцениваешь судьбу разработки? Как думаешь насколько тебя хватит?

    Reply
  71. Душелов

    (70) Как минимум — базовые возможности платформы- работа с файлами, xml, дбф, с инетом и прочее — что не зависит от конфигурации и данным можно будет в xml хранить.

    К чему стремиться — разбор обработок(модуль и форму), разбор конфигурации и чтение из SQL — это все вполне реально.

    Reply
  72. AmoreMe

    Есть просьба выложить (тестовый).exe файл… Сдается мне, что даже в первом приближении компиляцией это назвать нельзя?! Если это DotNet то там предварительная компиляция в MSIL, а это увы не то же самое, что машинный код! Хотя посмотрим дизассемблером видно будет. Сам «скомпилить» не могу по тех. причинам! Да странное конечно желание у автора возникло… (Это всё равно, что назад на дерево:) Собственно не компилятор это думаю к интерпретаторам ближе, ну поправьте если что! А… автор ведь на шарпе пишет?! Ну так можно не смотреть там компиляция на стадии выполнения идет как и в Бэйсике.NET теперь…

    Reply
  73. Душелов

    (72) Так понятно же, что нужен .Net. 😉

    А почему странное желание то?

    Можно назвать и интерпретатором, хотя микрософт за компиляцию считает. 🙂

    Reply
  74. Душелов
  75. andrewalexk

    (58)

    🙂

    ну да

    монополька

    с анимацией

    никаких чтений из БД

    тем более записи…

    поиском можно найти..

    Reply
  76. AmoreMe

    Компиляция это необратимый процесс перевода текста программы в машинный код… Байт — код как и на Яве не то! Окончательная компиляция на стадии выполнения идет. Именно поэтому некоторые части программы могут быть не скомпилированы совсем(За ненадобностью)! Странно потому, что надо наоборот подниматься по лестницы абстракции выше, тенденция такая вроде нынче! Или я не прав?

    Reply
  77. Душелов

    (76) Как бы спорить об определениях не вижу смысла 🙂

    Кому интересно, могут почитать http://ru.wikipedia.org/wiki/Компиляция_(программирование)

    А что в целом-то не устраивает? 🙂

    Reply
  78. Душелов

    (75) Что-то не найду совсем.

    Reply
  79. Abadonna

    (48)>Может потом пойму:)

    Размечталась…

    Reply
  80. AmoreMe

    Почему не утраивает? Устраивает всё… Истину ищем! Про компиляцию.

    Reply
  81. AmoreMe

    Привет Abadonna! Старая школа с нами?! Что про компиляцию то думаешь?

    Reply
  82. Душелов

    (80) Ага, а 1С — язык программирования, и программисты 1С — программисты 😉

    Тем для холиваров полно :)))

    Reply
  83. andrewalexk

    (78)

    🙂

    давай мылу

    вышлю

    Reply
  84. Abadonna

    (81)>Старая школа с нами?!

    Открою секретик 😉 Нет ни старой, ни новой. Я инженер-механик, специалист по динамике и прочности машин и механизмов, большой любитель сопромата. Серьезно

    Reply
  85. Olga_siberia

    (84)хорошо,что не компроматов!!

    Reply
  86. AmoreMe

    Да это не важно кто в какой садик ходил… Главное все здесь собрались… И любители сопро и просто мата… Правда иных уж нет , а те уже далече!

    Reply
  87. Abadonna

    (85) И ты ошиблась :))))))) Я ж не Гений 1С, а просто гений. Одинаково хорош во всех областях :))))) (Фиксин, это не в твой огород, просто каламбур)

    Reply
  88. AmoreMe

    О и ты Оля!

    Reply
  89. Abadonna

    У меня комп сгорел сегодня (один из трех, но основной), вот я и хохмлю, что б не плакать 😉

    Reply
  90. Душелов

    (83) vasil(сабака)dushelov.ru

    Reply
  91. berezdetsky

    (73) MSIL именно компилируется и именно в машинный код — при первом запуске на клиентской машине. Со всей возможной для данной конкретной машины оптимизацией.

    Reply
  92. Душелов

    (91) я для подобного native generatorom пользуюсь: http://msdn.microsoft.com/ru-ru/library/6t9t5wcf.aspx

    Reply
  93. GSoft

    идея хорошая +1

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

    Reply
  94. AmoreMe

    (91) Ну а я о чём? Только не весь он компилируется, это было бы слишком тормозно, в том и фишка! А «настоящий» экзешник скажем из С или Асма уже в «байтиках» скомпилен тоесть и весь… Чуете разницу?

    Reply
  95. AmoreMe

    Ну опять же оптимизация хоть и является неотемлемой частью современных оптимизирующих компиляторов (Intel C++ компилер мне очень нравится) но всё же кодер то тоже не лаптем щи хлебает… И может как помочь ему так и забить на это дело просто удалив дебажную инфу!

    Reply
  96. AmoreMe

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

    Reply
  97. Душелов

    (96) А чем 1С не устраивает? 🙂

    Reply
  98. AmoreMe

    Так вроде я его и имел ввиду… Просто компиляции тут нет (Простите за занудство).

    Reply
  99. Serginio

    (30) Да ладно мне 52 годика, а энтузиазм еще не растерял http://infostart.ru/public/393228/

    Reply

Leave a Comment

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