[Tray1C] Сворачивание 1С в системный трей




Принцип обмена данными из 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. Душелов

    Посмотрел я на форум http://infostart.ru/forum/messages/forum14/topic7872/message56011/#message56011, а так же работы других авторов…

    И решил набросать свое…

    Reply ↓
  2. Душелов

    В архиве пока пример для 8-ки, для 7-ки в процессе…

    Reply ↓
  3. Душелов

    Горячие клавиши добавлю сегодня.

    Может еще какие идеи появятся?

    Reply ↓
  4. Душелов

    Еще раз поблагодарю автора иконок, какие я использовал: http://infostart.ru/projects/2328/

    Reply ↓
  5. Душелов

    Добавил пример для 7.7

    Reply ↓
  6. coder1cv8

    Боян! )

    Reply ↓
  7. Душелов

    (6) Типа того 😉 Пока боян, еще пару бантиков добавлю — будет другое 😉

    Reply ↓
  8. vovan519

    Душелов, думаю пора делать одну компоненту. Что то типа формекса. Сделать описание. Думаю всем будет удобнее. Как тебе такая идея?

    Reply ↓
  9. Душелов

    (8) Я уже думал над этим… Но АктивИксы туда не запихнешь — они отдельные, а просто компонент у меня мало.

    Reply ↓
  10. artbear

    (9) А почему это вдруг АктивИкс-ы нельзя запихнуть в одну длл-ку?

    или ты говоришь, что ВК и АктивИкс в одной длл-ке не живут?

    Reply ↓
  11. Душелов

    > ВК и АктивИкс в одной длл-ке не живут

    Именно, технологии разные.

    Reply ↓
  12. ValeriVP

    я могу ошибаться, но почему не живут? интерфейсы же разные

    Reply ↓
  13. MrDen

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

    Reply ↓
  14. adun

    (3) …а не удобнее сами свойства перенести в Сервис->Параметры?

    Reply ↓
  15. Душелов

    (13) Редиректо окно сообщений вряд ли получится.

    Всплывающие окна будут уже в новой версии

    (14) Нет, не удобнее.

    Reply ↓
  16. Megas

    не бейте новичка а как это установить ?

    Reply ↓
  17. Altair777

    (16) см (0)

    *** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.

    и зарегистрировать компоненту в Windows — запустить reg.bat

    Reply ↓
  18. Megas

    Microsoft .NET Framework 2.0 установлен

    куда эту папку запихать или файлы из нее

    Reply ↓
  19. Altair777

    (18) куда хочешь. Поручик Ржевский, молчать! 🙂

    Я просто в каталоге C:Program Files1С сделал подкаталог

    Reply ↓
  20. Megas

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

    1. Microsoft .NET Framework 2.0

    2. папку сунул в C:Program Files1Cv77

    3. запустил reg.bat

    и дальше ? )

    Reply ↓
  21. Душелов

    А дальше можно хотя бы попытаться открыть обработку.

    Reply ↓
  22. Altair777

    (20) попробуй обработочку запустить 🙂

    Reply ↓
  23. CheBurator

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

    Reply ↓
  24. Megas

    если это операцииобработка то там ее нету .

    Reply ↓
  25. Megas

    все разобрался

    спасибо полезная штукень

    Reply ↓
  26. Altair777

    (24) в архиве 6 файлов

    Tray1CDushelov.Tray1C.dll

    Tray1C
    eadme.txt

    Tray1C
    eg.bat

    Tray1Cunreg.bat

    Tray1CСистемныйТрей.epf

    Tray1CСистемныйТрей.ert

    Reply ↓
  27. Душелов

    (23) Думаю, что свернет на сервере… Хотя не знаю…. Надо пробовать.

    Reply ↓
  28. CheBurator

    (27) вот как раз вопрос: при таком запуске 1Ски — трея-то нет…?

    Reply ↓
  29. Душелов

    (28) Значит окно терминалки надо захватывать другими средствами 😉

    Reply ↓
  30. bro

    Ошибка регистрации на Windows Vista: Не удалось найти входную сборку Dushelov.Tray1C.dll или одну из ее зависимых компонент…

    Что делать?

    Reply ↓
  31. skom

    уже пару лет пользуюсь компонентой

    hide1c.dll

    делает все то же самое.

    тока меньше вкусностей…в ней.

    идея — зачет

    Reply ↓
  32. Gamm

    У hide1c есть большой плюс — размер 44 кб и больше ничего не надо.

    Хотя возможности добавлять собственное меню ей не хватает.

    Reply ↓
  33. Rumpel_Shtilken

    Любопытная приблуда. Спасибо за то, что не забываете 1Cv77 !

    Сам я пользую Hide1C.dll — сворачивает/разворачивает окно 1С в/из трей, можно задавать: пароль на разворот, мигание иконки, частоту мигания иконки, всплывающую подсказку для иконки. Для работы не требует НетФреймворка и пр., регить в реестре не обязательно. Практически, 1С-ка работает в фоне. Нет многих вещей, таких как в Tray1C, но очень удобная штука и весит 45056 байт.

    Reply ↓
  34. Душелов

    (30) Висты нет под рукой — посмотреть не на чем…

    hide1c- хорошо. Но не для моих нужд.

    Reply ↓
  35. bro

    (30) Аналогичная ошибка возникает и на отдельных XP

    Reply ↓
  36. Душелов

    (28) Кстати, только что запустил у себя в цитриксе — терминальное окно нормально сворачивается в трей.

    (35) Фреймворк свежий стоит? Админские права?

    Reply ↓
  37. andrewalexk

    🙂

    не понял..

    а чем эта Вк лучше ВК hide1c

    да еще и с фреймворк 2.0…

    Reply ↓
  38. Душелов

    (37) Ничем. Даже хуже.

    Reply ↓
  39. Aleksey.Bochkov

    Может немного не в тему, но все же… Никак не могу найти способ сделать динамическое меню для 8-ки. Цель — создать список пунктов меню, скажем после пункта «Операции», средствами языка, который мог бы изменять без перезапуска программы… Для 7-ки юзал RWidjets, после перехода на 8-ку в ступоре 🙁

    Reply ↓
  40. dinamyc

    Можно попробовать вот так regsvr32 С:путь к файлу Tray1C.dll

    нормально все работает

    Reply ↓
  41. Душелов

    (40) Кстати да… В батнике reg.bat прописать полный путь к длл-ке и запустить его.

    Reply ↓
  42. Душелов

    (39) Наверное сделать можно… Смотреть надо… То, что есть — пока не встречал.

    Reply ↓
  43. Душелов

    Добавил 2 новых метода:

    — Трей.УстановитьЗаголовокОкна(ЗаголовокОкна); //устанавливает произвольные текст в заголовок окна 1С

    — Трей.ВсплывающееСообщение(ТекстСообщения, ТекстЗаголовока, Таймаут, Линк); //НомерИконки — от 0 до 3,

    //Линк — строка, которая будет передана в событии нажатие на сообщение

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

    Reply ↓
  44. Душелов

    > можно размещать все

    Точнее можно сделать размещение разных данных…

    Reply ↓
  45. andrewalexk

    (38)

    🙂

    аа..

    велосипеды..

    понимаю..

    Reply ↓
  46. Душелов

    (45) Ага, типа того 🙂

    Reply ↓
  47. Душелов

    Обновил.

    Добавлено:

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

    Reply ↓
  48. Душелов

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

    Reply ↓
  49. Душелов

    — добавлен показ окна служебных сообщений при появлении в нем сообщений (пока для 1С 8.х)

    И вывод произвольного окна работает пока только для 8-ки… В 7-ке, как оказалось, другая структура окон…

    Reply ↓
  50. CaSH_2004

    Горячая благодарность тебе от меня лично и от всех кто искал такую штуку (седня наткнулся т.к. уже сам решил попробовать написать)

    > Может еще какие идеи появятся?

    1. думаю было бы полезно сделать для всех окон (всплывающих и сообщений) возможность баловаться со шрифтом (цвет, размер, жирный или курсив), например как HTML или как ты сделал [RichTextBox1C]

    2. нельзя ли чтобы вывод сообщений не заменяли друг друга а выстраивались снизу вверх как в QIP, а то если их несколько — они заменяют друг друга, или там где то надо что то указать?

    Reply ↓
  51. Душелов

    (50)

    1. Для этого я сделал возможность вывода собственного окна, а там делай, как хочешь.

    2. Как бы они и должны встраываться.

    Reply ↓
  52. ProkopyukIN

    А можно сделать так, чтоб все открытые базы сворачивались в одну иконку, а потом выбирать какую открыть. А то допустим работаю я с 5-6 базами — пол трея в 1С 🙂

    Reply ↓
  53. Abadonna

    (52) > А то допустим работаю я с 5-6 базами

    Прям Юлий Цезарь. Подозреваю, что это не «работаю», а болезнь под названием «открыл — фиг закрою, даже если не надо». У меня юзвери за это получают довольно болезненные подарки

    Reply ↓
  54. ProkopyukIN

    нет. в этом случае ты не прав. у меня две рабочие базы ЗиУП и Бух 1.6, две тестовые, плюс к каждой часто приходится конфигуратор держать. А еще со второй работы УПП стоит. Частенько открыто по 5-6 баз, а то и больше. Так что… Было бы удобно в одной иконке все держать.

    Reply ↓
  55. Abadonna

    (54) У меня рабочих баз с десяток+ почти столько же отладочных.

    Но привычка закрывать, если в ДАННЫЙ момент оно не надо — в крови 😉

    Reply ↓
  56. Душелов

    (52) Сделать можно все, только я считаю это не нужным.

    Reply ↓
  57. Душелов

    Для получения демо-версии или покупки обращайтесь по контактам, указанным в профиле.

    Reply ↓
  58. stas&k

    что то не пойму а нафига оно? если есть куча приблуд бесплатных которые сворачивают любой софт в трей хоть косынку хоть Ворд

    Reply ↓
  59. Душелов

    (58) Не за чем.

    Reply ↓
  60. Душелов

    Подарок на день программиста (вчера 22.04) — выкладываю снова в бесплатный доступ 😉

    Reply ↓
  61. Арчибальд

    (60)А мы с плюсиком на это 😉

    Reply ↓
  62. zzmail

    Неплохие возмождности

    Reply ↓
  63. JohnyDeath

    (62) братишка плюсанул? 😉

    Василий, извини за ОФФ. Не удержался… ))

    Reply ↓
  64. MNevgeny

    Это самое лучшее изобретение в этом направлении !

    Reply ↓
  65. Душелов

    — добавлена возможность вывода языка ввода в строке состояния 1С 8.х

    Reply ↓
  66. Kolumb

    За возможность вывода языка ввода в строке состояния 1С 8.х респект и уважуха.

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

    Reply ↓
  67. Душелов

    (66) Не совсем понял, что имеется в виду… Это же модальное окно?..

    Reply ↓
  68. Kolumb

    (67) Надо так:

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

    Reply ↓
  69. Душелов

    (68) Подобное сделать можно, аналогично Трей.ВсплывающееОкно(ЗаголовокОкна, Таймаут, Линк);

    Reply ↓
  70. Kolumb

    (69) Так это можно делать уже, или для этого еще что-то нужно доделывать?

    Reply ↓
  71. Душелов

    (70) Надо дорабатывать компоненту. Когда-нибудь, возможно, я это сделаю.

    Reply ↓
  72. Kolumb

    (71) Еще одна засада. У некоторых пользователей отключен рабочий стол (explorer не запущен). В таком случае компонента не подключается, а язык ввода как раз в таком случае очень нужен.

    Reply ↓
  73. Душелов

    (72) Не подключается как? Что пишет?

    Reply ↓
  74. Kolumb

    (73) {Обработка.АРМДосьеСерии.Форма.Форма(11)}: Ошибка при вызове метода контекста (ПодключитьВнешнююКомпоненту): Ошибка при подключении внешней компоненты

    ПодключитьВнешнююКомпоненту(ИмяВК);

    по причине:

    Ошибка при подключении внешней компоненты

    Reply ↓
  75. Душелов

    А другие ВК подключаются?

    Reply ↓
  76. Kolumb

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

    Reply ↓
  77. IronDemon

    В Windows 7 не под админом работает?

    Reply ↓
  78. haverlon

    На Microsoft .NET Framework 3.5 не работает ?

    а то ngen ругается и не регистрирует.

    Reply ↓
  79. MagicCat

    Пишу код:

    ИмяВК=»AddIn.Tray1C»;
    
    Попытка
    ПодключитьВнешнююКомпоненту(ИмяВК);
    Исключение
    Сообщить(«Не удалось подключить компоненту » + ИмяВК);
    КонецПопытки;
    
    Попытка
    Трей = Новый(ИмяВК);
    Трей.Показать();
    Трей.СкрытьОкно();
    Исключение
    Сообщить(«Ошибка создания объекта внешней компоненты: » + ИмяВК);
    КонецПопытки;
    

    Показать

    Отлично срабатывает, окно 1С скрывается, иконка в трее появляется. Но при попытке развернуть окно 1С назад (по иконке в трее «открыть» или dbl click) вылетает JIT отладчик с сообщением:

    ************** Текст исключения **************
    System.AccessViolationException: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
    в IAsyncEvent.ExternalEvent(String bstrSource, String bstrMessage, String bstrData)
    в Dushelov.Tray1C.MessageTo1C(String caption, String message)
    в Dushelov.Tray1C.MaximizeWindow()
    в Dushelov.Tray1C.OpenWindow()
    в Dushelov.Tray1C.notifyIcon_DoubleClick(Object sender, EventArgs e)
    в System.Windows.Forms.NotifyIcon.OnDoubleClick(EventArgs e)
    в System.Windows.Forms.NotifyIcon.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
    в System.Windows.Forms.NotifyIcon.WndProc(Message& msg)
    в System.Windows.Forms.NotifyIcon.NotifyIconNativeWindow.WndProc(Message& m)
    в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    
    
    ************** Загруженные сборки **************
    mscorlib
    Версия сборки: 2.0.0.0
    Версия Win32: 2.0.50727.3082 (QFE.050727-3000)
    CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
    —————————————-
    Dushelov.Tray1C
    Версия сборки: 1.0.0.0
    Версия Win32: 1.0.0.0
    

    Показать

    Reply ↓
  80. SiniaTabletka

    1c 8.2

    окно управляемого приложения не сворачивает в трей 😐 (обычное сворачивает)

    а очень хочется 🙁

    Reply ↓
  81. f333

    да, на 8.2 запускается, но нормально работать не хочет

    Reply ↓
  82. Гон

    А можно установить размер всплывающего сообщения?

    Когда-то (может года 2 назад)я выводил всплывающие окна ПРОИЗВОЛЬНОГО размера из 1С!! Это так здорово! Но какой компонентой?

    В твоей нет таких настроек? Тогда не нужно было…

    Reply ↓
  83. anakonda

    Хорошая вещь. Давно пользуюсь

    Reply ↓
  84. malina-da

    Интересная вещь, но все равно нужно под себя и свои нужды доработать

    Reply ↓
  85. golunov

    спасибо полезная вещь. Можно использовать в качестве системных сообщений. Есть недостаток- если добавить в конгфигурацию подключение то при отладке системы в трее могут появиться несколько иконнок. А вообще прикольно.

    Reply ↓
  86. iotkin

    что то не пойму а зачем это надо?

    Reply ↓
  87. Lexush

    Интересная наработка, все упрощают и украшают бедным пользователям трудную и нудную работу с 1С, скоро вместо всех этих наворотов, какой нибудь супер специалист нарисует в системном трее большую кнопку «ХОЧУ», по нажатию которой будет выпадать меню с решением большинства житейских проблем. Спасибо автору за продвижение светлых идей.

    Reply ↓
  88. Екатерина2011

    ИМХО фигня, нафиг не нужная. Никто не делал разработки по заполнению нового годового баланса, вот это реально стоящая весч был бы.

    Reply ↓
  89. Varies

    Пробовал написать нечто подобное для управляемых форм на 8.2, но ничего толком не вышло 🙁

    А разработка классная, особенно удобно было бы использовать с 1С Документооборот 8 или УТ 11, где при поступлении задачи можно помигать в трее 🙂

    Reply ↓
  90. serpisal

    Хорошее решение, открытых окон всегда много выполнять какие-то рутинные действия удобнее, когда необходимо реагировать на результат действий в других окнах.

    Reply ↓
  91. CaSH_2004

    (1) Метод УстановитьЗаголовокОкна() не работает в 1С:Предприятие 8.2 (8.2.15.289), в 8.2.13 работал, интересно с чем связано? Вернее не работает если запущено Предприятие из Конфигуратора! А если такпросто базу запустить то работает

    Можете исправить? Заодно не работает и сворачивание в трэй, но это не так важно, по большому счету оно даже иногда мешает — забываеш закрыть базу перед выключением ПК.

    Сказка было бы если б 1С в ОбработкаВнешнегоСобытия() отлавливала события Windows такие как выключение и прочее, насколько знаю ОС генерирует их и нормальные программы обрабатывают — типа предлагают сохранить открытые документы (Ворд, Блокнот) но 1С почему то решила пойти по своему пути 🙂 Или может я не в курсе есть такой типовой метод?

    Reply ↓
  92. loginfo

    Пробую запустить вашу обработку для Документооборота (8.2) таким образом:

    в поле расположения ярлыка добавляю запись

    «C:Program Files1cv828.2.15.289in1cv8.exe» /IBName «Документооборот» /N «Администратор» /p «888» /Execute «D:Tray1CСистемныйТрей.epf». Запускается программа с пустой вкладкой обработки. Так запустить не получится?

    Reply ↓
  93. loginfo

    Обработка не работает для управляемых форм

    Reply ↓
  94. Гость

    автору светлая память. покойся с миром……

    Reply ↓
  95. ea_len

    Супер! Мне пригодилось!

    Reply ↓
  96. apostal86

    Для регистрации в файле reg.bat к файлу Tray1C.dll прописать путь полностью и, например, в Windows 7 запускать reg.dat от имени администратора

    Reply ↓
  97. yura.olesik

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

    Reply ↓
  98. Muller2306

    Добрый день.

    После использования ВК панели инструментов перестали перетаскиваться…

    Reply ↓
  99. BoBaH

    (92) Varies, доброго времени суток! Вы не нашли решение вопроса «помигать при создании задачи в документобороте»?

    Reply ↓

Leave a Comment

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