Планировщик v1.1.05 — оригинальная обработка для автоматизации выполнения задач по расписанию




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

99 Comments

  1. Pari

    ??? Антивирь при закачке ругается на dialmail.dll !!!

    Reply
  2. MrDen

    dialmail.dll поместить в список доверяемых вируса там нет!

    Reply
  3. mashinist

    При запуске пишет «Ошибка загрузки картинок»

    Reply
  4. MrDen

    9057.bmp должен находиться в каталоге обработке дата файла 22.06.2008 размер 5150 байт

    Reply
  5. CheBurator

    при запуске обработки 1Сина валится намертво…

    Reply
  6. CheBurator

    SystComm = СоздатьОбъект(«AddIn.SystComm»);

    Reply
  7. CheBurator

    (6) не принимать во внимание, ошибся!

    валится на MainThread = СоздатьОбъект(«AddIn.Thread»)

    Reply
  8. MrDen

    валится на 1cpp версий выше 2.3.0.7 именно из за потока других вариантов не обнаружил

    Reply
  9. vip

    (0) Давно я такого бреда не видел.

    Когда увидел, для чего используется dynwrap.dll, охота смотреть дальше отпала.

    vtools и formex вместе не живут, а если живут, то очень недолго.

    Не обработка, а куча мусора какая-то.

    Reply
  10. MrDen

    (9) ну ьред тоже прикольно 🙂

    Reply
  11. vip

    (10) Ну, если использовать эту обработку как юллюстрацию клинического случая бреда, то пойдет.

    Кстати, о многопоточности.

    DialMail позволяет отправлять/получать почту в отдельном потоке, а ты эту возможность не используешь.

    И вообще не оставляет ощущение, что отдельные куски я где-то уже видел.

    Reply
  12. MrDen

    (11) да я специально поточность не использовал кстати куски кода по отправке почты и получению из примеров DialMail

    другое нет

    Reply
  13. vip

    (11) > да я специально поточность не использовал

    Почему? Это же основная фишка DialMail

    Reply
  14. MrDen

    (11) dynwrap.dll привесил для переключения включения активного окна, рассылки административных сообщений,

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

    Reply
  15. MrDen

    (13) согласен 🙂 думаю позже сделаю идей много 🙂 лишь бы работе не мешало

    Reply
  16. vip

    (14) 1. Активизировать окно это Окна::НаПереднийПлан, раз уж формекс используешь.

    2. Каких административных сообщений? Ты просто файл создаешь с проверкой удачного создания. Накуя здесь API?!

    (15) Что значит не мешало? Ты понимаешь, зачем добавлена такая возможность?

    Reply
  17. MrDen

    (16) 1 в потоке не работает

    2 — понятно можно и нет сендом послать но хочется поинтереснее

    Reply
  18. vip

    (17) В каком потоке? При чем тут это?

    Reply
  19. MrDen

    (18) проверим 🙂

    Reply
  20. vip

    И вообще не понятен смысл отдельного потока из vtools.

    Короче, нагородил семь верст до небес.

    Не понимаю великой сермяжной правды этой обработки.

    Reply
  21. MrDen

    Все переписано с использованием ТабличногоПоля из 1cpp

    Reply
  22. Romarius

    Как раз наметилась соответствующая задачка для планировщика. Буду тестисть. Спасибо!

    Reply
  23. MrDen

    🙂 пожалуйста, с предложениями в личку

    Reply
  24. w-divin

    в коментах ругають, а плюсикаф хватает )))

    Reply
  25. MrDen

    (24) первый вариант был нестабильный на vtolls.dll с 1cpp.dll все намного симпатичнее

    Reply
  26. CheBurator

    ууу хотел посмотреть как там с Тп работает — а там все закирпичено…

    Reply
  27. MrDen

    не все закирпичено 🙂

    Reply
  28. RikON

    Мегажесть, парень ты японец? я такого каламбура в модуле обработке ещё не видел, это ты по видимому специально так нарисовал… потом?

    Reply
  29. RikON

    А понятно, жмот просто, пойду в другом месте поищу!

    Reply
  30. MrDen

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

    Reply
  31. urbanist

    Как он вызывается после установки?

    Reply
  32. MrDen

    (31) запускать 1c_shed.ert

    Reply
  33. urbanist

    (32) Спасибо,сам тормознул-забыл вытащить из архива 1c_shed.ert.

    1.Можно ли запускать в пакетном режиме?

    2.

    — запуск внешних отчетов (с параметрами, макроименами)

    Как передавать параметры в отчет-обработку?

    Reply
  34. MrDen

    (33) 1 запустить можно, у меня правда работает постоянно

    2 параметры задаются с строке параметры при вызове внешнего отчета, в виде параметров могут использоваться макроимена и текстовые параметры

    Reply
  35. urbanist

    При изменении свойств задачи и записи выдает:

    _edtпараметры = commessagetype.получитьзначение(commessagetype.текущаястрока())+ comsendtype.получитьзначение(comsendtype.текущаястрока());если (число(gдс2tзqюнэсrпiб7.task)=число(aюpbмтp1oи5вg9_p))

    {G:БазаEXTFORMS1C_SHED.ERT(352)}: Не задан вид.

    Только после удаления задачи и ввода новой всё нормально.

    Reply
  36. MrDen

    (35) проверю, предложения по развитию в личку

    Reply
  37. urbanist

    (36)

    Не работает задание получения файла с ФТП.При попытке нажать «Тест» выдает:

    ТпЗадача::FTPList(AddIn.FTP FTPConnection=, ТаблицаЗначений _MRDТаблФайловФТП=, Строка ФТППуть=/01/, Строка ФТПФильтр=*.*) : Слишком много параметров передано при вызове функции/процедуры объекта

    Если FTPConnection.Лист(,СокрЛП(ФТПФильтр))=1 Тогда

    {G:77ТоргЮвелирНазаровclass1c_shedТпЗадача.ert(1443) }

    если gдс2tзqюнэсrпiб7.количествострок()>0 тогда ко5beорcmuеnгckf.выводитьвокносообщений(1);текстрока = 0;если cbxвсезадания=0 тогда текстрока = ёosf7gtщvйеыисщм.текущаястрока;конецесли;ъr7h1хзлms2aбггн.тестироватьзадания(gдс2tзqюнэсrпiб7,текстрока);

    {G:77ТОРГЮВЕЛИРНАЗАРОВEXTFORMS1C_SHED.ERT(129)}: ТпЗадача::FTPList(AddIn.FTP FTPConnection=, ТаблицаЗначений _MRDТаблФайловФТП=, Строка ФТППуть=/01/, Строка ФТПФильтр=*.*) : Слишком много параметров передано при вызове функции/процедуры объекта

    Если FTPConnection.Лист(,СокрЛП(ФТПФильтр))=1 Тогда

    {G:77ТоргЮвелирНазаровclass1c_shedТпЗадача.ert(1443) }

    Предложение по развитию(контакт недоступен)-дать возможность поработать с кодом.

    Reply
  38. MrDen

    (36) пришли на мыло при какой ситуации возникла ошибка

    Reply
  39. MrDen

    (35) (37) исправлено ошибка возникала при отсутствии Справочника «Контрагенты»

    Reply
  40. urbanist

    (39)

    О.К! Всё заработало.Спасибо!

    Reply
  41. MrDen

    (40) пожалуйста!

    Reply
  42. telec_1983

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

    Reply
  43. MrDen

    (42) пожалуйста 🙂

    Reply
  44. voler

    Программка хорошая, но я пока не ставил. Скажите а есть возможность такой на 1С 8.1?

    Reply
  45. MrDen

    (44) Если хорошая тогда + можно рекомендовать 🙂

    А под 1С 8.1 попадалось здесь на сайте планировщик и наверняка есть встроенный инструмент, сам не пользуюсь 1С 8.1 ввиду отсутствия последней

    Reply
  46. voler

    Мне система говорит, что я уже проголосовал.

    Reply
  47. Nightuser

    Пишет: ошибка создания обьекта из компонеты ***/dialmail.dll (CLSID)

    Ошибка загрузки компоненты dialmail.dll

    Перепишите dialmail.dll в каталог обработки

    Reply
  48. Nightuser

    Пишет: ошибка создания обьекта из компонеты ***/dialmail.dll (CLSID)

    Ошибка загрузки компоненты dialmail.dll

    Перепишите dialmail.dll в каталог обработки

    Запускал под Администратором

    Reply
  49. MrDen

    (48) запускается нормально под администратором NT

    рекомендую проверить какая версия загружается

    1cpp.dll

    и на всякий случай права доступа NTFS

    Reply
  50. Myti

    ❗ прикольная вещицо,,,,однозначно +

    Reply
  51. dimazt

    проблема с отправкой почты через smtp. перепробовал разное но безрезультатно.

    Reply
  52. MrDen

    (51) Проблем с отправкой замечено не было, пришлите скриншот на адрес разработчика, включите расширенные логи в соединении для определения причины и отправьте также лог файл

    Reply
  53. Alucard

    Неплохо, автору однозначно +++

    Reply
  54. Bor_ka

    (49) (48) Та же проблема. Версия 1с++ 3.2.2.0

    Права Администраторские (WinServer2003)

    Reply
  55. MrDen

    (54) Очень интересно…

    Попробовал на виртуальной машине в чистом виде и ошибок нету.

    Хорошо бы в личку кусок лога 1c_shed.log

    Reply
  56. MrDen

    (56) Написал о замене компонентов на более свежие и снова попробовать

    Reply
  57. daytek0307

    Ещё б разработчик написал откуда он рекомендует скачивать и обновлять все dll..

    Reply
  58. MrDen

    (58) добавлено с учетом пожеланий

    Reply
  59. daytek0307

    как на счет dynwrapx.dll — сам длл не писал. у меня сервер на ОС Вин 2003 Сервер. Не будет ли дыр в безопасности с установкой на эту ОС?

    Reply
  60. daytek0307

    и где лучше скачть оригинал dynwrapx.dll?

    Reply
  61. MrDen

    (61) Библиотека dynwrapx.dll и вызов функций Win 32 API

    http://www.script-coding.info/dynwrapx.html описание тут

    Версия на сайте 1.0.0.0 от 05.09.2008 г.

    однако на форуме можно найти более поздние сборки например 1.0.0.7

    по поводу дыр безопасности их всегда много 🙂

    Кстати библиотеку dynwrapx.dll (работа с WinAPI (передача сообщений)) не обязательно устанавливать также как и rwidjets.dll

    Последняя только для отображения меню в главном меню 1С

    Reply
  62. daytek0307

    запускаю отчёт без внешних длл. выдает ошибку :

    юмйвxcзeжjfмдц3т.установитьатрибут(форма, «кнЗадания»);ы3w53xйщёхvеcю7q = создатьобъект(«АтрибутФормы»);ы3w53xйщёхvеcю7q.установитьатрибут(форма, «кнПараметры»);хёбвчцжъуъчe3fvф = lzщnfktц3_8rqmrи.создатьэлементуправления(«ТпЛог»,»кнТаблицаЛог»);

    {F:1CBASAPTEKA EKSPERYMENTY1C_SHED.ERT(715)}: Недопустимое имя класса: ‘ТпЛог’.

    Reply
  63. daytek0307

    проблема устранена — оновил свои длл для 1с… сори

    Reply
  64. daytek0307

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

    Reply
  65. MrDen

    (65) вот тут косяк пока руки не дошли 🙂

    Reply
  66. daytek0307

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

    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+»DialMail.dll») = 1 Тогда

    Отправка=СоздатьОбъект(«AddIn.Smtp»);

    Иначе

    Предупреждение(«Не могу загрузить библиотеку, почта отправлятся не будет»);

    Возврат;

    КонецЕсли;

    ФайлПисьмо=»f:1c emp»;

    Отправка.РабочийКаталог = ФайлПисьмо;

    Отправка.СоздатьПисьмо(«s@mail.ru»,»d@mail.ru»,»v@mail.ru»,»от меня»,»предприятие», «отчет за», ФайлПисьмо);

    Отправка.Подключиться(«smtp.mail.ru»,»25″,» sssss»,»dddddd»,);

    Если Отправка.Подключиться(«smtp.mail.ru»)=1 тогда

    Где что не так?

    Reply
  67. daytek0307

    База и письмо находится локально на компе, права администратора на запись.

    Reply
  68. dimazt

    Опешите, пожалуйста, как работать с дополнительными параметрами при формирование внешних отчетов.

    Reply
  69. MrDen

    (65) (69) Добавлено руководство пользователя, основные моменты в работе

    Reply
  70. MrDen

    Прошу указать на ошибки и неточности, а также интересующие моменты в руководстве

    Reply
  71. Xenom

    1с++ ведь с FormEx вместе не работают?((

    Reply
  72. MrDen

    (72) да вроде нормально работают 🙂

    Reply
  73. MrDen
    pavlo пишет:

    Адрес=ВыбратьКаталог(ТипЗадачи.ПолучитьЗначение(ТипЗадачи.ТекущаяСтрока())

    ругается в 1c_shed.ert тут как видите скобки не хватает

    Данная ошибка будет исправлена, нашел ее в задании «Прайс-лист» при выборе каталога сохранения

    Формирование прайс-листа не будет работать на других конфигурациях. И пункт выбора задания скорее всего уберу.

    Reply
  74. MrDen
    pavlo пишет:

    Данная ошибка будет исправлена, нашел ее в задании «Прайс-лист» привыборе каталога сохранения

    Формирование прайс-листа не будет работать на других конфигурациях. И пункт выбора задания скорее всего уберу.

    Данная ошибка будет исправлена, нашел ее в задании «Прайс-лист» при выборе каталога сохранения

    Формирование прайс-листа не будет работать на других конфигурациях. И пункт выбора задания скорее всего уберу.

    Reply
  75. tranzit2001

    Все сделано по инструкции, но при запуске обработки выдается сообщение

    юмйвxcзeжjfмдц3т.установитьатрибут(форма, «кнЗадания»);ы3w53xйщёхvеcю7q = создатьобъект(«АтрибутФормы»);ы3w53xйщёхvеcю7q.установитьатрибут(форма, «кнПараметры»);хёбвчцжъуъчe3fvф = lzщnfktц3_8rqmrи.создатьэлементуправления(«ТпЛог»,»кнТаблицаЛог»);

    {D:BASES1C_SHED1C_SHED.ERT(715)}: Недопустимое имя класса: ‘ТпЛог’.

    Окно обработки появляется, но в середине окна надпись «кнТаблица», в нижнем окне «кнТаблицаЛог»

    Reply
  76. AlexBugs

    Зря мучаешься и все диалоговые формы делаешь слоями в 1-м окне, в 1-м внешнем отчете.

    Настройку и Соединения лучше вынести в другие отчеты, чтобы они были другими окнами.

    А то сложно понять такой интерфейс.

    Или же сделай реальные слои с закладками «Задачи», «Настройка», «Соединения», а не кнопки.

    И пожалуйста, не кодируй текст модуля. Он и так ложный, а ты еще и закодировал…

    Reply
  77. Anton_Nikitin

    Ошибка загрузки картинок 9057.bmp

    Перепишите файл 9057.bmp в каталог обработки!

    Reply
  78. MrDen

    (78) видимо не все файлы были извлечены из архива или отсутствует доступ к файлу

    Reply
  79. MrDen

    (77) Специально не делал закладки ради экономии места и интерфейса, сделать закладки несложно

    соединения однозначно не стоит переносить

    если делать другие формы однозначно они будут модальными и доступа к предыдущим формам не будет

    А так вроде оригинально :-)…

    Reply
  80. MrDen

    (76) 1 проверить версию 1cpp.dll

    2 проверить прописаны ли классы

    Reply
  81. AndrejFAA

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

    Лень было разбираться в кодируемом тексте. 🙂

    Единственное, что добавил у себя — это возможность установки различных параметров для вызова обработок и отчетов. Добавлена ли эта возможность в новой версии 0.5?

    Reply
  82. MrDen

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

    Reply
  83. AndrejFAA

    Так у себя сделал, когда скачал обработку.

    Можете у своей обработки показать как реализовали.

    Reply
  84. MrDen

    (84) AndrejFAA, в этой весии работает только передача параметров, следующая версия в тестировании

    Reply
  85. AndrejFAA

    Т.е. у Вас сейчас так же реализовано заполнение и передача параметров в отчёты, обработки?

    Reply
  86. MrDen

    (86) AndrejFAA, в версии 0.5.00b реализована передача параметра в открываемый внешний отчет в виде Таблицы значений или Текстового параметра который на при открытии внешней обработки можно получить через Форма.Параметр пример дан в Руководстве Пользователя.

    Импорт полей в Задание планировщика и последующее заполнение полей на экране при вызове задания, запуск отчетов и обработок из конфигурации (в том числе) будет реализовано в версии 0.5.01

    Я постараюсь доделать и в скором времени выложить для работы.

    Форма будет заполняться параметрами, также можно будет программно нажимать кнопки :-).

    Reply
  87. AndrejFAA

    (87) интересно реализовано. Если ещё будет возможность вставлять (а может уже и есть у Вас) параметры с типом «СписокЗначений» и «ТаблицаЗначений», то подожду новую версию и не буду у себя что-то дописывать. 🙂

    Reply
  88. MrDen

    (88) AndrejFAA, Вот такая предварительная реализация. С константами, перечислениями, документами все понятно, все будет выбираться. Причем справочники и документы будут выбираться по типам либо с конкретными значениями.

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

    Reply
  89. AndrejFAA

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

    Reply
  90. AndrejFAA

    Забыл добавить. У себя я сразу и сделал таблицы и списки, т.к. это нужно было в первую очередь. С заполнением тогда не стал заморачиваться. Просто сделал выгрузку нужных данных во временный файл, а в планировщике загружал. Теоретически сейчас можно переделать через буфер обмена.

    Reply
  91. MrDen
    AndrejFAA пишет:

    (89) MrDen, может мне скинуть Вам, что было переделано два года назад?

    Давайте! на mr_den@mail.ru! Я тоже размышлял по поводу Таблиц значений и Списков значений. Надумал использовать предопределенные имена по принципу Макроимен.

    Reply
  92. BurSer

    Скачал. Посмотрю. Отпишусь.

    Reply
  93. MrDen

    (91) AndrejFAA, обновил, предлагаю потестировать. Жду файл добавлю списки и таблицы значений.

    Reply
  94. AndrejFAA

    (94) отписался в почту.

    Reply
  95. makeya

    По описанию замечательно, но посмотреть на обработку так и не получилось пока. 2 ссылки из 4х на внешние компоненты недоступны (одна выдает ошибку 404, другая просто редиректит на сайт). Даже 1cpp.dll которую положила в директорию обработки выдает ошибку «Перепишите файл 1cpp.dll в каталог обработки». Очень надеюсь, что заработает(

    Reply
  96. MrDen

    (96) makeya, рекомедую вам все библиотеки скачать одним файлом lib.zip в разделе файлы

    Reply
  97. makeya

    Спасибо за совет, сейчас попробую!

    Извиняюсь за вопрос, но у вас код обработки специально в таком чуть ли не обфусцированном виде, или у меня неверно открылось? Так хотелось научиться на вашем примере)

    Reply
  98. Dolly_EV

    В задании «Добавить файлы в архив» в поле «Архив» пытаюсь написать:

    [КаталогИБ]ExtReportsИмперияАлкоДВФО_Чита_Элис_массив_[Шаблон{Формат(ТекущаяДата(),»ДММММ» [Шутливо] }].zip
    

    ругается: Формат(ТекущаяДата(),»»<<?>>ДММММ»» [Шутливо]

    Ожидается символ ‘)’

    Кавычки вокруг ДММММ пытался и двойные сделать и Симв(34) — ничего не помогает :-((

    Reply
  99. MrDen

    (200) озадачился, посмотрю

    Reply

Leave a Comment

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