T1CLister: Универсальный плагин для просмотра файлов 1С. Версия 1.7 beta (для Total Commander)




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

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

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

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

    ВНИМАНИЕ: в последних стандартных поставках тотала идет плагин ieview, который решил, что файлы 1С ему как раз по зубам 😉 либо убейте, либо поставте ниже T1CLister

    Reply ↓
  2. Kavar

    в СТАНДАРТНЫХ поставках тотала ieviev не идет 😉

    Это сборки какие-то.

    Reply ↓
  3. support

    Достойная разработка, +1

    Reply ↓
  4. Kavar

    Ждем аналога для 1С 8.х )

    Reply ↓
  5. Abadonna

    >в СТАНДАРТНЫХ поставках тотала ieviev не идет 😉

    Это НОРМАЛЬНАЯ сборка от SamLab

    Reply ↓
  6. imsoftware

    Полезная штука, достойна плюсика 😉

    Reply ↓
  7. Ворона

    предлагаю убрать слово универсальный…либо расшифровать… 😉

    Reply ↓
  8. Abadonna

    (7) Последний выпад госпожи, которой посвящен плагин, считать недействительным, на молдавские дрова хайлайтер не рассчитан 🙂

    Reply ↓
  9. support

    вот это старт! сразу в ленту «популярное», притом заслуженно.

    ура, система работает!

    Reply ↓
  10. Ворона

    тогда посвящение убери

    Reply ↓
  11. bkn

    Пожелание: хорошо бы еще авторегистрацию сделать… А так ВЕШЬ!!!

    Reply ↓
  12. ValeraH

    Отлично работает и в Portable Total Commander, установленном на флешке. Единственное изменение, после установки следует влезть в wincmd.ini на флешке и заменить начало адреса на %COMMANDER_PATH%, т.к. флешка на разных компьютерах подключается под разными буквами. Зато теперь пришел, воткнул флешку и всё работает 🙂

    Мелкое замечание: в readme стоило бы добавить порядок установки плагина (не все с давних пор отслеживают его развитие)

    Пожелание: порадовало появление форм, и сразу появилось желание видеть и печатные формы. 🙂

    Reply ↓
  13. Abadonna

    (12) добавил порядок установки

    Reply ↓
  14. CheBurator

    Лучше бы этот функционал в КомпаундЭксплорер перетняулибы…

    Reply ↓
  15. ValeraH

    Опа, на USERS.USR интересный глюк проявился. У нас 4 базы 1СТорговли ещё со времен 7.0 развиваются. И есть пара пользователей у которых пароль с тех пор не менялся. Соответственно в программе Ускова «Admin 1С» хеш пароля 4-значный, а в вашей — пустые фигурные скобки. Это у меня уже догадки, что, возможно, с этим связано. А глюк вот в чем состоит.

    Имена пользователей идут в правильном порядке, зато всё остальное — хеш, каталог, полное имя, интерфейс перепутаны по строкам со страшной силой. (в «Admin 1С» всё как надо).

    При этом в базах, которые начинались в 7.7 (Бухгалтерия) всё в порядке.

    Reply ↓
  16. Abadonna

    (15) Думал, будет больше глюков, как-никак beta. Кинь на мыло users.usr — гляну

    (14) Чебурашка, рано или поздно надо будет с фара и подфарников соскакивать 😉 Добавлю в КомпаундЭксплорер, но это ж не выход 🙂

    Reply ↓
  17. CheBurator

    осталось добавить дизайн форм и макетов отчетов — и…?

    Reply ↓
  18. vasilykushnir

    Ставлю +1, еще не опробовав… Ибо уверен, что весчь рулезная.

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

    Reply ↓
  19. АЛьФ

    Однозначный плюс.

    А можно сделать, чтобы форма показывалась сразу, а слои закладками были?

    Reply ↓
  20. Abadonna

    (19) А можно сделать, чтобы форма показывалась сразу, а слои закладками были?

    Приделаю, спасибо за идею

    Reply ↓
  21. ValeraH

    1. USERS.USR отправил.

    2. С формами иногда возникает такой глюк. Во внешнем отчете с одним слоем показывает два : 0, Основной, после чего при попытке открыть выскакивает

    Plugin error:

    List index out of bounds (14)

    Как пример файл с диска ИТС:

    ИТС:1CItsEXEEXTREPSUNIPROCSRVDLG.ERT

    Reply ↓
  22. Abadonna

    (21) по п.2 я знаю — еще не разобрался в чем дело

    Reply ↓
  23. Abadonna

    (21) Версия 1.1.8.2. Исправлена ошибка в выводом некоторых форм, было связано с многострочными описаниями полей, парсинг строки выдавал глюки

    По usr — пока лень разбираться с дремучими копиями от версии 7.0 😉

    (19) Поставил в очередь

    Reply ↓
  24. ValeraH

    Только что обнаружил, что плагин ещё и на 1cv7.mlg кидается! 🙂

    Правда выдает при этом пустой экран, приходится нажимать Опции / Только текст.

    А один раз даже пароль запросил. :[]

    Reply ↓
  25. vasilykushnir

    (24) А у меня конфа под паролем, но он МД открыл и даже не муркнул.

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

    Сделай «услугу» Альфу, чтобы он еще и ЕМД открывал…:-)

    Reply ↓
  26. Abadonna

    А с какиз фигов он должен mlg открывать? Даже не заявлен….

    Reply ↓
  27. Abadonna

    (25) DD и старый казал, ты не в курсах что ли….

    Reply ↓
  28. ValeraH

    Не заявлен то не заявлен, а вот кидается, хотя я его и не прошу открывать mlg. Закрыл стационарный TC, запустил с флешки (там другая версия), все равно при выделении 1cv7.mlg и нажатии F3, выскакивает окошко Lister(T1clister) с пустым экраном и только после двух щелчков по меню открывает как раньше.

    Reply ↓
  29. Abadonna

    НЕ МОЖЕТ ОТ КИДАТЬСЯ! ТАМ И БЛИЗКО ЭТО НЕ УКАЗАНО. Смотри, что у тебя еще его пробует

    Reply ↓
  30. poppy

    У меня тоже пытается открыть файл mlg. Где указано, какие файлы он должен открывать?

    Reply ↓
  31. АЛьФ

    Подтверждаю. Действительно кидается на mlg.

    Reply ↓
  32. Abadonna

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

    Reply ↓
  33. dimang

    Плагин классный. А также, если автору интересно — при просмотре DD нажал Процедуры и функции, выскочило AV.

    Reply ↓
  34. Abadonna

    (30) и (31) действительно кидался на mlg — обработку выключил, а в заявленных оставил, сорри, поправил.

    (33) и это было, пытался поискать язык 1С, где его м помине нет…

    Кроме того пытался найти найти форму Глобального модуля, вот ты я похохотал, если б нашел 😉

    Еще одну забавную вещь в MD нашел — существую потоки и идентификаторами, каких не заявленными в MMDS.

    Вот какие рано или поздно лечить придется… по избежание… Вот и думаю, куда лечилку привертеть — в плагин или CE? Глюки еще обязательно будут пишите, я не могу всё отследить, например даже в голову не могло придти ткунь процедуры и функции на поле редактора на DD. НО все это приветствуется, жаль луший в мире тестер Чебур так уж Тотал не любит

    Reply ↓
  35. CheBurator

    Почитай асю на досуге — я там высказал пожелание про CE — думаю, оно уместно будет и для Листера

    Reply ↓
  36. Abadonna

    Серега, оптимизаторе я просто поленился сделать проверку на КОНКРЕТНЫЕ документы, проверяю тупо — ДОКУМЕНТ — пропускаем…. Оно можно, но уж накладно, меня в последнее время обвиняют, что я танки делаю. И поему, я танкист по военной специальности и механик по основной не могу их изобретать? Ну не люблю я писать всякие там запросы на 1С, лениво и неинтересно. Кто-то на этом деньги делает — да ради Бога! Я ж кому не написал, что код из пяти строчек — задача для прыщавого первокурсника. Мои любимые предки на воротах известных заведений писали — «каждому свое».

    Reply ↓
  37. support

    Аркадий, не обращай внимания на идиотов. Ты делаешь классные вещи!

    Reply ↓
  38. German

    (4) неким подобием можно считать EI — тоже самое только выполняется в 1С

    Reply ↓
  39. Abadonna

    (19) пожелание выполнил, если слои с закладками совпадают — вообще как «настоящая» выглядит.

    Выложу чуть позже, подточить надо

    Reply ↓
  40. CheBurator

    Несомненно нужна поддержка ALS!!!

    Reply ↓
  41. Abadonna

    Версия 1.6

    Исправлены баги с показом некоторых форм.

    Диалог выбора слоя для показа теперь не появляется, слои располагаются в закладках формы

    Reply ↓
  42. JohnyDeath

    >Диалог выбора слоя для показа теперь не появляется, слои располагаются в закладках формы

    А я-то думаю, почему на рис. 6 — всё в слоях, а у меня всё ещё просит выбрать слой при открытии формы! )

    Оказывается, что сия фича до сегодняшнего дня была только у тебя! 😉

    Reply ↓
  43. Abadonna

    (39) «(19) пожелание выполнил, если слои с закладками совпадают — вообще как «настоящая» выглядит.

    Выложу чуть позже, подточить надо»

    Изучайте цитаты классиков 😉

    Reply ↓
  44. JohnyDeath

    Аркадий, а можно сделать так, чтоб при открытии формы фокус задавался на эту форму (в данный момент он переключается на текст модуля обработки)?

    + В многослойных отчетах/обработках форма не закрывается по «Esc», чего не скажешь об однослойных.

    Reply ↓
  45. JohnyDeath

    (44) >в данный момент он переключается на текст модуля обработки

    ошибся. Он вообще теряется.

    Reply ↓
  46. Abadonna

    там с фокусами происходили какие-то фокусы… не помню точно, но что-то потом происходило с переключением в панели нескольких листретов с формами. Я еще поэксперементирую…

    Reply ↓
  47. JohnyDeath

    А эскейпы в многослойных?

    Reply ↓
  48. Abadonna

    В многослойный честно-дубово забыл сделать обработку FormKeyDown 🙁

    Вот она и не закрывется по esc. Завтра посмотрю фокусы и обработку приделаю…

    Reply ↓
  49. CheBurator

    Где-то я что-то пропустил… MXL показывает?

    Reply ↓
  50. vasilykushnir

    (49) Пропустил… пост 18.

    Reply ↓
  51. aVtor1

    Уточните пожалуйста версии тотала к которым подходит плагин!! У меня Тотал 7.0

    плагин работать не хочет.

    Reply ↓
  52. Abadonna

    (51) У меня Total 7.0 — вовсю работает. Проверь правильность установки и отследи не перехвытывают ли какие другие утановленные плагины файлы с этими расширениями. Например, IEView всё время на 1С-кие файлы набросится желает

    Reply ↓
  53. vasilykushnir

    (51) в списке плагинов сия приблуда должна стоять первой, тогда ей по цымбалам, кто на кого хочет набросится. Тотальник версия 7.01 — полет нормальный.

    Reply ↓
  54. ilya1979

    чумовая вещь. спасибо огромное. +

    Reply ↓
  55. aVtor1

    спасибо господа.

    Reply ↓
  56. aVtor1

    Поставил первой в списке плагинов. Все заработало.

    Reply ↓
  57. Abadonna

    Версия 1.6.12.8, по замечаниям JohnyDeath:

    Фокус на форму, закрытие многослойной по Escape

    Reply ↓
  58. CheBurator

    Когда этот функционал будет добавленв СЕ? а то дискриминация какая-то получается…

    Reply ↓
  59. Abadonna

    Опрос общественного мнения:

    ввиду тотальной нелюбви Чебурашки к Тоталу он буквально насильно заставляет меня превратить плагин в отдельно работающее приложение.

    СтОит?

    Reply ↓
  60. vasilykushnir

    (59) Ну так выведи в Опрос.

    Но предварительно скажу свое мнение (ничуть не хочу обидеть сторонников фара, вернее противников тотала): а нафига попу наган? — у него ж кадило есть…

    А надо обоснование? Получите!:

    Самый главный аргумент против — если делать отдельной приблудой, то к ней надо присобачивать файловый навигатор (а нафига? тем более еще и за него на тебя диких собак натравят — всем не угодишь). А тотал уже есть самый лучший навигатор. Делайте выводы, господа….

    Reply ↓
  61. antik69

    Спасибо, работает и работать удобно.

    Reply ↓
  62. Abadonna

    Добавлен просмотр als-файлов

    Reply ↓
  63. CheBurator

    > А тотал уже есть самый лучший навигатор

    Гонишь! 😉

    Конечно, хотелось бы видеть автономным приложением… и не надо никакого «файлового навигатора»… добавить функционал в СЕ — будет самое оно…

    Reply ↓
  64. Abadonna

    (63) Мне проще переделать плагин в приложение, чем переделывать СЕ. СЕ всё-таки специфическая прога, вспомогательный инструмент для разработки

    Reply ↓
  65. CheBurator

    ну тогда — в приложение…

    Reply ↓
  66. Abadonna

    Версия 1.7.2.2

    Добавил (чисто-конкретно ;)) для себя и любителей IDE Dephi — просмотр и редактирование файлов .pas и .dpr

    P.S. Пожелания по по другим языкам рассматриваются в свете денежного эквивалента ящика пива 😉

    Reply ↓
  67. Abadonna

    (65)>ну тогда — в приложение…

    Чебур, спецом для тебя сделаю приложением, но без хайлайтера, а синий фон и белый шрифт, как в твоем любимом убогом фаре. Идет?

    Reply ↓
  68. Muroslav

    Ребята! А плагин для простмотра файлов 1С 8.0-8.1 есть???

    Reply ↓
  69. Abadonna

    (68) есть, но 1С-зависимый

    Reply ↓
  70. svsrus

    Если обработка запаролена, то после изменения кода листером и сохранения, обработка напрочь отказывается запускаться как в предприятии так и в конфигураторе. Пишет «Общая файловая ошибка». Эта же обработка но без пароля, работает.

    Reply ↓
  71. vasilykushnir

    (70) А пароль с обработки снять религия не позволяет?

    Reply ↓
  72. Abadonna

    (70) на запароленные я ваще не расчитывал, ежели он открывает — это его личное дело 😉

    Reply ↓
  73. CheBurator

    (67) я чиста.. эта.. жду ужо…

    Reply ↓
  74. Abadonna

    (73) ты забрось синемордую…в 1С ведь не рисуешь консольных… и ваще Абаданноа с сегодняшнего дня фри (почти как картошка), так что на извраты времени не будет 😉

    Reply ↓
  75. svsrus

    (72) Я тоже ))) Но вот столкнулся случайно. Просто ситуация: скачал несколько обработок, кинул их в каталог, начал разбираться, что к чему. Код стал смотреть листером. Что-то поправил, сохранил… Все баста. Обработка потеряна…( Где ее брал не помню ))) Хотя бы предупреждение сделать — «Обработка запаролена, просьба не ломать!».

    Reply ↓
  76. antiblo

    Ух ты, как приятно! Да ещё и 1С не требует! Abadonna могуч! 🙂

    Reply ↓
  77. Abadonna

    (70,75) Запаролил обработку, открыл плагином, добавил строчку, сохранил, закрыл.

    При открытии в Конфигураторе ругается на «Общая файловая ошибка»

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

    Reply ↓
  78. JohnyDeath

    Аркадий, а ты фокус так и не поборол?

    Reply ↓
  79. Abadonna

    Как это не поборол?

    Фокус встает на многослойную, и Esc работает

    ——————————————————-

    Abadonna

    57 — 22.09.2007

    Версия 1.6.12.8, по замечаниям JohnyDeath:

    Фокус на форму, закрытие многослойной по Escape

    Reply ↓
  80. JohnyDeath

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

    Reply ↓
  81. Abadonna

    >напрягает немного лишнее движение к мышки

    :)))))))))) сасэм обленился

    Лана, посмотрю

    Reply ↓
  82. JohnyDeath

    ну ты ж помнишь что движет прогрессом? 😉

    Кстати, а кто такая Радкова Ольга? (если не секрет, конечно)

    Reply ↓
  83. Abadonna

    Посмотри, кто из мадам мне всегда плюсы ставит на разработках ;))))

    Reply ↓
  84. JohnyDeath

    Неужели «маковая росинка»? ))

    Reply ↓
  85. Abadonna

    Однозначный ответ в комментах к

    http://infostart.ru/profile/1329/projects/1053/

    Reply ↓
  86. JohnyDeath

    ага, понятно.

    Прям маленький детективчик у нас получился! ))))

    Reply ↓
  87. RPV

    Abadona, прочел твой свежий комментарий к UniPlugin. У меня Тотал 7.0pb2 (от 22.11.06).

    Может плагинов много?

    Но сейчас поставил T1CLister, такая же байда, не работает.

    Reply ↓
  88. Abadonna

    А КАК именно не работает? Ваще ничего не кажет, кажет как-то не так?….

    В настройке «Плагины внутреннего просмотрщика» есть слева две кнопочки «вверх-вниз». Надо переместить плагин в самый верх… Если не поможет — ХЗ

    Reply ↓
  89. RPV

    Abadona, все ОК, переместил на самый верх, заработало, спасибо, ты настоящий друг.

    Reply ↓
  90. vasilykushnir

    (89) а пост (53) видать товарищ не читал…

    Reply ↓
  91. Abadonna

    Добавил картинку по устранению перехвата заявленных расширений другими плагинами

    Reply ↓
  92. mvntula

    Поставил на 6.54 (вниз) — Ert_файлы не открывает, переместил в списке Плагинов вверх — все о.к.

    Reply ↓
  93. honor

    День добрый, будьте так любезны, расскажите как подключить плагин? Как не пытался он не работает, самое главное не понятно он установился или нет? Подскажите плз.!! Пытался подкключить также UniPlugin такая же история — они вообще работают?

    Reply ↓
  94. Abadonna

    >они вообще работают?

    Нет, конечно, по приколу положил, а остальные по приколу наплюсовали ;)))

    Reply ↓
  95. vasilykushnir

    (93) А почитать хотя бы все комметы — религия не позволяет? Оплачивай автору коммандировочные — приедет установит.

    Reply ↓
  96. sokir

    Блина. Пораньше б мне эту плагину, когда писал отчёты в адо так в ддшнике так надоело лазить.

    Reply ↓
  97. Abadonna

    >Пораньше б мне эту плагину

    Предыдущей версии уж года два с половиной 😉

    Reply ↓
  98. JohnyDeath

    (96) ты 1с++ используй! Никакие ДДшники и листеры не нужны будут!

    Reply ↓
  99. Abadonna

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

    Reply ↓

Leave a Comment

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