ABC-XYZ анализ продаж. МОТ (менеджер отгрузок)




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

    Пояснение как скачать разработку

    Во-первых зарегистрироваться на сайте.

    Во-вторых:

    В правом верхнем углу (на звёздочке поставить «+»)

    Ты появишься в списке проголосовавших. Я отсылаю на твой Мэйл разработку.

    В-третьих: Можно оставить здесь комментарий.

    Прошу извенения за неудобство, но если есть интерес — не трудно кликнуть мышкой. 🙁

    Мне важен анализ спроса этой разработки

    Reply
  2. Sprite

    atech

    Отправил

    Reply
  3. Sprite

    В комментариях указывайте Мэйлы или пишите в личку

    641111(собака)mail.ru

    Reply
  4. logdog

    спасибо, посмотрим, потестим)

    Reply
  5. support

    ДокПеремещение.Кратность = глКратностьДляВалюты<<?>>(Константа.ВалютаБухУчета,ТекущаяДата());

    {C:DORZHDB77MENEDZHER OTGRUZOK 2.0.1.ERT(1611)}: Функция не обнаружена (глКратностьДляВалюты)

    ДокПеремещение.Кратность = глКратностьДляВалюты<<?>>(Константа.ВалютаБухУчета,ТекущаяДата());

    {C:DORZHDB77MENEDZHER OTGRUZOK 2.0.1.ERT(1821)}: Функция не обнаружена (глКратностьДляВалюты)

    Reply
  6. Sprite

    support 5 — 22.01.2008

    // глКратностьДляВалюты(Валюта,ДатаКурса)

    //

    // Параметры:

    // Валюта — Валюта (элемент справочника «Валюты»)

    // ДатаКурса — Дата, на которую следует получить кратность

    //

    // Возвращаемое значение:

    // Курс, с учетом кратности

    //

    // Описание:

    // Возвращает курс валюты на дату

    //

    Функция глКратностьДляВалюты(Валюта,ДатаКурса) Экспорт

    Кратность=Валюта.Кратность.Получить(ДатаКурса);

    Возврат ?(Кратность=0,1,Кратность);

    КонецФункции // глКратностьДляВалюты()

    Reply
  7. coder1cv8

    Во до чего дожили! Плюсы вымогаем за скачивание… ) Нда…

    Reply
  8. Sprite

    coder1cv8

    Для тех, кто делится своим трудом — без проблем, качайте.

    Для тех, кто не имеет разработок и статей на Инфостарте просьба «плюсом» оценить востребованность разработки и тоже получить бесплатно.

    Всё по-честному.

    Посмотрите на количество скачиваний Ваших разработок и их рейтинг.

    Как можно оценить качество Вашего (и моего) труда если кто-то просто создаёт «коллекции», а тема совершенно не интересна и не востребована.

    Reply
  9. coder1cv8

    (8) Мне кажется, Вы подаете нехороший пример искуственного завышения рейтинга. Мне бы очень не хотелось что бы все стали поступать так…

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

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

    Reply
  10. Sprite

    coder1cv8

    Отчасти согласен. Надо предоставить выбор. Делаю так: или рейтинг или не сложный комментарий c заявкой отправки на Mail. Честно?

    Reply
  11. Sprite

    Отправлено

    Молокову Игорю Вениаминовичу

    Reply
  12. support

    А можно глКратностьДляВалюты включить в саму обработку, чтобы не менять свою конфигурацию.

    Торг 936

    Reply
  13. JannyFan31

    Все так красиво и хорошо сделано. Дизайн, функциональность. Пользуюсь случаем: ekajane@mail.ru, спасибо.

    Reply
  14. Sprite

    support

    Уже включил 3 часа назад.

    Две новые функции:

    КурсДляВалюты(Валюта,ДатаКурса);

    КратностьДляВалюты(Валюта,ДатаКурса);

    Прошу прощения, не сообщил.

    Reply
  15. Sprite

    Отправлено

    JannyFan

    Reply
  16. Sprite

    Отправлено: Bosma

    Reply
  17. Sprite

    Отправлено: YouRock, CONFY, Ninny

    Reply
  18. prvl

    обратина однозначно востребована

    ОДНОЗНАЧНО

    мой влюс в общий вклад внёс

    Reply
  19. Sprite

    Просьба оставлять комментарии.

    Интересно…, рейтинг равен количеству скачиваний обработки + количеству отправленных обработок.

    100% попадание в тему?

    Reply
  20. Sprite

    Отправлено AlexCh

    Reply
  21. wer_alex

    И я хочу, просьба отправить . Классная вещь

    Reply
  22. Sprite

    wer_alex

    Адрес ? Куда?

    Сохранён синтаксис профиля пользователя:

    «Моиглев Беларусь»

    Reply
  23. Sprite

    Обновил с учётом последних замечаний по поводу использования процедур Глобального модуля.

    Параллельно шлифую под Конфигурация Производство+Услуги+Бухгалтерия редакция 2.8 (7.70.297)

    1С Предприятие 7.70.025

    Reply
  24. Sprite

    Разрабатывал и тестировал для

    Движок: 1С: Предприятие 7.7 для SQL (7.70.021)

    Конфа: Типовая конфигурация «Торговля+Склад» ред. 9.2

    Оптово-розничная конфигурация (7.70.938)

    Reply
  25. Sprite

    Отправлено Jok, konfed

    Reply
  26. ks

    Почитал описание и заинтересовался. Давно хотел найти что-либо подобное, а тут еще и такая реализация. Респект. Хотелось бы потестировать /ksa.work (at) gmail.com/

    Reply
  27. karetir

    Весьма интересно! Перекликается с 2D ABC анализом для 8-ки но здесь гораздо более глубокий анализ а не просто статистика! Вышлю автору анализ получше после рассмотрения плиз на мыло /caretir @ gmail.com /

    Reply
  28. Alexandra

    Прочитала Вашу статью. Вещь в хозяйстве очень нужная! То, что сделала сама — менее функционально. Если можно, отправьте обработку, плиз Alexandra2000@list.ru

    Reply
  29. Sprite

    Отправлено:

    kolesik, na_pol&rambler.ru, Alexandra, karetir, KS

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

    Reply
  30. Sprite

    Отправлено:

    kvant, KWaS1

    Reply
  31. prvl

    повторите копию пожалуйста на prvl@rambler.ru

    Reply
  32. Sprite

    Отправлено:

    prvl

    Reply
  33. softkill

    Судя по описанию — нужная вещь в хозяйстве.

    Но как писал coder1cv8 авансом по скриншотам не могу оценить.

    (хотя плюс поставил)

    Можно по почте выслать? softkill [] bk.ru

    Reply
  34. Кузьмич

    Прочел доку…

    Очень нужный инструмент тем, кому он нужен.

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

    Если мне понадобится, непременно куплю (если цена не будет кусаться). 🙂

    И вообще хороший пример реализации идеи.

    +5

    Reply
  35. fenomen2008

    Респект Автору !!! очень полезная в хозяйстве вещь

    Reply
  36. Kondarat

    Полезная вещь.

    Если можно на st-ksv@mail.ru

    Reply
  37. Sprite

    Отправлено:

    softkill

    Reply
  38. Sprite

    Отправлено:

    b] Kondarat [/b]

    Reply
  39. Sprite

    Отправлено:

    fenomen2008

    Reply
  40. ValeraH

    Любопытно посмотреть. (Плюс поставил)

    khomenko[]ventus.ru

    Reply
  41. Sprite

    Отправлено:

    ValeraH

    Reply
  42. andrewalexk

    🙂

    забавная идея — получить рейтинг у халявщиков

    в обмен на халяву..

    Reply
  43. Shaman100M

    Плюс оставил. Если можно, — Shaman100M@inbox.ru

    Reply
  44. grynch

    и мне grynch@mail.ru

    Reply
  45. Sprite

    Отправил:

    grynch, Shaman100M

    Reply
  46. igopher

    igopher@gmail.com <— на этот адрес, если еще можно …

    Reply
  47. Sprite

    Отправлено:

    igopher

    Reply
  48. navigator

    Плюс добавил. v71c{}ukr.net

    Reply
  49. Sprite

    Отправлено:

    Navigator

    Reply
  50. vanleo

    плюс добавил vanleo{}mail.ru

    Reply
  51. astonvilla

    И я присоединюсь astonvilla<>rambler.ru

    Reply
  52. Sprite

    astonvilla

    У вас доступ не ограничен. Рейтиг > 3! Качайте

    Reply
  53. Sprite

    astonvilla

    У Вас доступ не ограничен. Рейтиг > 3! Качайте

    На всякий случай отправил

    Reply
  54. Sprite

    Отправлено:

    vanleo

    Reply
  55. Chronic

    плюсанул

    Reply
  56. Sprite

    Отправлено:

    Chronic

    Reply
  57. suhoi

    плюсанул OldGreshnik гав гав mail.ru

    Reply
  58. Sprite

    Отправлено:

    suhoi

    Reply
  59. 33lab

    (Sprite) — зачем засорять «прямой эфир» сообщениями типа «отправил-получил» ?!

    Reply
  60. v_vitalik

    поставил плюсик можно на майл v_vitalik@mail.ru

    Reply
  61. wer_alex

    Извиняюсь , на E-mail wer_alex@tut.by

    Reply
  62. Sprite

    Отправлено:

    wer_alex , v_vitalik

    Reply
  63. Sprite

    33lab 59 — 24.01.2008

    Люди ждут и беспокоятся. + Маркетинг 🙂

    Reply
  64. coder1cv8

    (59) Это ж реклама! ) Вон как человек грамотно подошел, не только рейтинг накрутил, но и весь «прямой эфир» только своим отчетом забил.

    P.S. Хотя, хочу заметить, что отчет несомненно стоящий… )

    Reply
  65. JohnyDeath

    согласен с 33lab! Это не комментарии к разработке, а какой-то мусор. Sprite, пусть все тебе в личку пишут, а то напрягает уже в прямом эфире: «плюсонул! отправишь?» — «отправлю» — «хорошая обработка. отправишь?» — «отправлю» …. и так уже два дня. Хватит, парни, завязывайте!

    Reply
  66. Sprite

    JohnyDeath

    Прошу прощения за возможно доставленные неудобства, но пользователям были предложены альтернативные варианты. Добавлю ещё один с учётом Вашего замечания.

    coder1cv8 64 —

    Спасибо за понимание.

    И ещё:

    Как бы там ни было, действительно к разработке проявлен не шуточный интерес. И тот всплеск, который наблюдается в прямом эфире отражает ситуацию. Можно говорить о накрученном рейтинге, но попробуйте его раздуть на мыльном пузыре за двое суток до 75! Голову на отсечение даю, что завтра эта программа будет иметь лучший рейтинг в категории «Анализ продаж»!

    Прошу, потерпите ещё 8 дней. Постараюсь компактнее.

    Спасибо.

    Reply
  67. BedVas

    Извиняюсь , на E-mail Bedrin@lesidom.ru

    Reply
  68. Sprite

    Успехов, BedVas !

    Reply
  69. Sprite

    Настоятельно рекомендую творчески подойти определению показателей ABC-XYZ анализа.

    Не бойтесь экспериментировать. Сгруппировав товар по одному параметру, сопоставьте полученный результат с другими параметрами. Группа С может приносить Вам 20% прибыли и в доле спроса иметь 80%

    Reply
  70. Sprite

    Важный момент:

    Определение процентных значений групп А,В,С и X,Y,Z.

    Следуйте методике, предложенной в описании к разработке.

    Reply
  71. Sprite

    ABC- и XYZ-анализ — методы SIC (статистического контроля запасов, statistical inventory method)

    Если ABC-анализ позволяет определить вклад конкретного товара в итоговый результат (чаще всего в общую прибыль компании или в стоимость запасов), то XYZ-анализ чаще всего изучает нестабильность сбыта.

    В нашем случае — исследуется покупательский спрос.

    Reply
  72. Sprite

    Первый шаг: Определить товарную группа

    Второй шаг: Определить процентные показатели параметров ABCXYZ

    Третий шаг: Определить период по которому необходимо сделать анализ.

    Вы получите выделение цветом и шрифтом объекты анализа по коэффициентам анализа.

    Reply
  73. Sprite

    Эксперты акцентируют внимание на том, что интегрированный ABC(XYZ)-анализ – отличное средство поддержки принятия решений в логистике и торговле.

    Reply
  74. chau

    Полагаю, очень недурственный комплект. Проверив как работает смогу нарисовать еще одит плюсик. Кстати с РБД будет работать?

    Reply
  75. Sprite

    Для всех спрашивающих «Будет ли работать с …. Конфигурацией?»

    В обработке происходит анализ продаж по регистру «ПартииНаличие»

    Текст основного запроса:

    ………………………………..

    «//{{ЗАПРОС(Сформировать)

    ………………………………

    |Фирма = Регистр.ПартииНаличие.Фирма;

    |Номенклатура = Регистр.ПартииНаличие.Номенклатура;

    |МОЛ = Регистр.ПартииНаличие.МОЛ.ТекущийЭлемент;

    |Партия = Регистр.ПартииНаличие.Партия;

    |ДатаПартии = Регистр.ПартииНаличие.ДатаПартии;

    |ЦенаПрод = Регистр.ПартииНаличие.ЦенаПрод;

    |Количество = Регистр.ПартииНаличие.Количество;

    |ПродСтоимость = Регистр.ПартииНаличие.ПродСтоимость;

    |Выручка = Регистр.ПартииНаличие.Выручка;

    |Док = Регистр.ПартииНаличие.ТекущийДокумент;

    …………………………….

    |»//}}ЗАПРОС

    ;

    Делайте выводы… 🙂

    К вопросу о РБД. Если Вы получаете доступ к регистру — нема вопроса. Средств для этого имеется. Разных.

    Reply
  76. Sprite

    Ещё раз:

    Анализ продаж ведётся по складу (розничному или оптовому — без разницы). Результат анализа позволяет не только принимать управленческие решения, но и формировать конкретный документ — «Перемещение ТМЦ» с любого из наших складов.

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

    Думайте. Работайте. Создавайте свои документы.

    Я Вам даю рабочий инструмент. Пользуйтесь!

    Коммерческая версия будет иметь больший функционал и гарантии разработчика

    Reply
  77. Sprite

    Обработка пошла в Ивановск

    Reply
  78. Sprite

    Матрицу интегрированного ABC-XYZ анализа можно использовать даже для распределения административных ресурсов

    Категория AX должна обслуживаться самыми опытными и квалифицированными сотрудниками, а группу товаров, попавших в «клетку» CZ, можно доверить новичкам.Им будет несложно работать с категорией, где заказы происходят реже, допуски по отклонениям выше, и жестко лимитируется лишь сумма, расходуемая на данную товарную позицию за определенный период.

    Reply
  79. Sprite

    Специально для Вас, я размещаю небольшие комментарии по поводу применения обработки . Если что-то не понятно — пишите. Разъясню. Изменю. Помогу.

    Reply
  80. Genrix

    Если можно, отправьте genrixm@rambler.ru

    Reply
  81. ShS

    плюсанул, отправьте на майл shsergeyn@mail.ru

    Reply
  82. TimonChD

    Отправь пожалуйста на shadow8[dog]mail.ru

    Reply
  83. Sprite

    Отправлено:

    TimonChD, ShS, Genrix

    Всем удачи!

    Reply
  84. Sprite

    По науке XYZ анализ — это анализ нестабильности продаж. Основанный на коэффициенте вариации.

    У нас же под XYZ понимается тот же АВС, но по

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

    Это какой-то идиот-маркетолог придумал аббревиатуру и теперь все путаются.

    Закупка это составная часть логистики, а в логистике под XYZ понимают анализ нестабильности.

    Reply
  85. Sprite

    Из переписки:

    Роман Бодряков

    Генеральный директор ООО «РОМБ Консалтинг»

    У Вас пользователь сам задает значения границ и это правильно.

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

    отстой непродаваемый.

    Точно также в приложении к количеству заказов по товару (XYZ в Вашей терминологии).

    С уважением

    Reply
  86. Sprite

    От автора на пост. 85 — :

    Это уже реализовано в предлагаемом релизе.

    Reply
  87. Sprite

    Из переписки:Здравствуйте, Sprite.

    Я жажду получить Вашу программу «ABC-XYZ анализ продаж».

    У меня Конфигурация ПОЛНОСТЬЮ самописная, но часть регистров и справочников называется

    также как и в ТиС Я потихонечку стараюсь привести хотя бы отчетную часть конфигурации к 1С-овской ТиС. Меня тут как раз озадачили АВС анализом. А я «не в зуб ногой»

    Поэтому мне бы было КРАЙНЕ полезно изучить механизм формирования как АВС так и ХYZ — анализов. А так же внедрения FormExp (я так понимаю,что раскраска таблицы документа сделана через него ?).

    Судя по представленным на infostart картинкам Вами была проделана ОГРОМНАЯ работа.

    К моему сожалению полностью воспользоваться Вашим

    функционалом мне не удасться, т.к. конфигурация у нас самописная, поэтому мне самому придется ВСЕ переделывать под наши нужды.

    И все-таки я бы был Вам ОЧЕНЬ благодарен за предоставленные мне исходные тексты программы по АВС и XYZ-анализу.

    С уважением,

    Михаил Топоров, г.Челябинск

    Reply
  88. Sprite

    Обработка ушла Михаилу Топорову, г.Челябинск

    Reply
  89. yuri76

    Отправьте, пожалуйста, на yuri76@bk.ru

    Reply
  90. venger
    Код
     Если глВернутьЦену(Запрос.Номенклатура, ВыбТипЦен, <<?>>ТекущаяДата(), ЦенаТовара,, Константа.ВалютаБухУчета) <> 1 Тогда 

    Показать полностью

    {Отчет.Менеджер_отгрузок_2_0_1.Форма.Модуль(2014)}:

    Слишком много фактических параметров

    Reply
  91. kovopol

    Отправьте, пожалуйста, на paulex@bk.ru

    Reply
  92. Sprite

    Отправлено: kovopol , yuri75, programist<>pochta.ru

    Reply
  93. Sprite

    Из переписки:

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

    От себя хочу добавить, что у меня результатами отчета можно заполнить документ «ЗаказПоставщику» , и уже работая в нём оператор очень бысто, основываясь на всех показателях, которые он видит прямо в документе, делает заказ.

    От Автора:

    В коммерческой версии функционал будет значительно увеличен. Следите за обновлениями.[/b]

    Reply
  94. Sprite

    Если есть вопросы, готов в воскресенье пообщаться в этой ветке форума. С 10:00 до 20:00. Напоминаю, что с понедельника код обработки будет ЗАКРЫТ!

    Автор.

    Reply
  95. sigma17

    Отправьте, пожалуйста, на sigma17@pochta.ru

    Спасибо

    Reply
  96. Sprite

    Отправлено: sigma17

    Удачи!

    Reply
  97. venger

    Можно Вашу функцию глВернутьЦену привести?

    Reply
  98. Sprite

    to: Vender

    Отправил в личку. Учту в последующем релизе.

    Reply
  99. Sprite

    (7) coder1cv8,

    Даа….. нынче уже и деньги просят за скачивание.

    Reply

Leave a Comment

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