Дополнительные возможности — различия между версиями

Материал из Меасофт
Перейти к: навигация, поиск
(Настройка вида маркера)
(Настройка вида маркера)
Строка 47: Строка 47:
 
== Настройка вида маркера ==
 
== Настройка вида маркера ==
 
Настройки находятся в "Отчеты" -> "Дополнительные возможности" - "Системные". <br />  
 
Настройки находятся в "Отчеты" -> "Дополнительные возможности" - "Системные". <br />  
'''MapObjectFigure''' - Доп. возможность позволяет установить вид маркера на карте. Результат определяет фигуру: 1 - перевернутый треугольник, 2 - треугольник, 3 - увеличенный треугольник, чтобы  квадрат не мог его перекрыть, 4 - квадрат, все остальное круг. В окружении доступен объект Table2Map, в формуле нужно использовать поля только этого объекта т.к. он вызывается при событии рисования, любое обращение к базе приведет к значительному замедлению.<br/>
+
 
 +
В функции передается объект Table2Map типа [[Руководство программиста#Объект TFieldObject|TFieldObject]]. Получить поля с примерами значений из него можно например так:
 +
showmessage(table2map._GETTABLEINFO)
 +
(текст большое сообщения можно скопировать в буфер комбинацией Ctrl-C).
 +
 
 +
Для доступа к данным пользуйтесь только этим объектом, т.к. любое обращение к базе приведет к значительному снижению скорости работы.
 +
 
 +
Так же текущее состояние окна карты доступно через переменные:
 +
 
 +
$PlanDate - Выбранная дата, на которую планируется.
 +
 
 +
$KurierCode - Код выделенного курьера.
 +
 
 +
$MetroCode - Код выделенной станции метро (маршрута).
 +
 
 +
 
 +
Обратите внимание, что все ошибки, возникающие при отрисовке, подавляются системой. Поэтому, если вы допустите ошибку в скрипте, он просто не будет работать, никаких сообщений вы не увидите. Для отладочных целей можно заменить ошибки на сообщения такой конструкцией:
 +
 
 +
set($s, try(
 +
  error('вот тут ошибка, которую вы увидите в виде сообщения');
 +
));
 +
if($s, showmessage($s), '');
 +
 
 +
 
 +
 
 +
'''MapObjectFigure''' - Доп. возможность позволяет установить вид маркера на карте. Результат определяет фигуру: 1 - перевернутый треугольник, 2 - треугольник, 3 - увеличенный треугольник, чтобы  квадрат не мог его перекрыть, 4 - квадрат, все остальное круг.<br/>
 
Например:
 
Например:
 
  if(table2map.zabor, 2, if(StrDateToFloat(table2map.DatePeriod) = $PlanDate, 3, 4))
 
  if(table2map.zabor, 2, if(StrDateToFloat(table2map.DatePeriod) = $PlanDate, 3, 4))
Строка 54: Строка 79:
 
'''MapObjectColor''' - Доп. возможность позволяет установить цвет маркера на карте.
 
'''MapObjectColor''' - Доп. возможность позволяет установить цвет маркера на карте.
 
При помощи данных параметров можно создать условия отображения маркеров.<br/>
 
При помощи данных параметров можно создать условия отображения маркеров.<br/>
 +
 +
Для доступа к настройкам доступны переменные:
 +
 +
$Color
 +
 +
$DefaultColor
 +
 +
$PlanedColor
 +
 +
$SelectedPlanedColor
 +
 +
$GetKurierColor
 +
 
Например:  
 
Например:  
 
  if((table2map.kurier<20)*(StrDateToFloat(table2map.DatePeriod) = $PlanDate), 16753920, $color)
 
  if((table2map.kurier<20)*(StrDateToFloat(table2map.DatePeriod) = $PlanDate), 16753920, $color)

Версия 16:23, 21 ноября 2018

Настройка для печатной документации

CustomGivnAct - Функция позволяет заменить печатную форму, акта передачи материальных ценностей (печать из выдачи) на пользовательскую. Включить использование этой возможности можно в переменных "Справочники" -> "Переменные" -> "Печать" -> "Акты передачи курьеру" -> "Печатная форма акта: Пользовательская". Объявленные переменные %code% - коды записей в выдаче которые необходимо распечатать %docdate% - дата установленная в выдаче %dockurier% - ФИО курьера показанного в выдаче %dockurierfull% - Значение выбранного элемента в дереве (если есть выбранный узел дерева , иначе фио курьера)

Пользовательская форма акта, будет печататься только по заказам со статусом "На руках".

OnBeforePrintNakls - Вызывается перед печатью накладных, содержит %code% - коды всех адресов (через запятую).

OnAfterPrintNakls - Вызывается после печати накладных, содержит %code% - коды всех адресов (через запятую).

OnBeforePrintOneNakl - Вызывается перед печатью накладной, содержит %code% - код адреса.

OnAfterPrintOneNakl - Вызывается после печати накладной, содержит %code% - код адреса.

OnBeforePrintSticker - Вызывается перед печатью наклейки, содержит %code% - код адреса, %barcode% - ШК наклейки.

Настройка всплывающих окон

OnGivnStateChanged - Вызывается в транзакции при изменении статуса выдачи. В параметре %code% указан код выдачи.

OnAfterGivnStateChanged - Вызывается после транзакции, при изменении статуса выдачи. В параметре %code% указан код выдачи.

OnBeforeAddressSave - Вызывается перед сохранением изменений в карточке корреспонденции. В качестве параметра передан объект fieldlist (объект полный аналог addressrecord в доп. услугах).

OnBarScan

DAILY - задание выполняемое один раз в день

Настройка документов

CustomAddressPrnForm2 - Кастомная реализация упрощенной печатной формы. В карточке заказе установлена галка Простые, и установлена переменная "Справочники" -> "Переменные" -> "Печать" -> "Упрощенные печатные формы" -> "Тип упрощенной печатной формы: 5"

GetTypeShippingPlace - Выполняется при помещении корреспонденции в мешок манифеста. Содержит %code% - код корреспонденции. Возвращаемое значение это код мешка (shippingpalce.code), если его указать , то это изменит мешок, в который будет помещена корреспонденция.

OnShelvingBarScan - Обработка отсканированного штрих-кода при комплектации.

AdditionalStringForSMA - Дополнительные условия разделения актов на нал. и безнал.

CustomBillDetaling - Кастомная детализация счета

OnSchetChanged - Выполняется при удалении счета и его изменении. Содержит %code% - код счета schet.code

Настройка вида маркера

Настройки находятся в "Отчеты" -> "Дополнительные возможности" - "Системные".

В функции передается объект Table2Map типа TFieldObject. Получить поля с примерами значений из него можно например так:

showmessage(table2map._GETTABLEINFO)

(текст большое сообщения можно скопировать в буфер комбинацией Ctrl-C).

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

Так же текущее состояние окна карты доступно через переменные:

$PlanDate - Выбранная дата, на которую планируется.

$KurierCode - Код выделенного курьера.

$MetroCode - Код выделенной станции метро (маршрута).


Обратите внимание, что все ошибки, возникающие при отрисовке, подавляются системой. Поэтому, если вы допустите ошибку в скрипте, он просто не будет работать, никаких сообщений вы не увидите. Для отладочных целей можно заменить ошибки на сообщения такой конструкцией:

set($s, try( 
 error('вот тут ошибка, которую вы увидите в виде сообщения');
));
if($s, showmessage($s), );


MapObjectFigure - Доп. возможность позволяет установить вид маркера на карте. Результат определяет фигуру: 1 - перевернутый треугольник, 2 - треугольник, 3 - увеличенный треугольник, чтобы квадрат не мог его перекрыть, 4 - квадрат, все остальное круг.
Например:

if(table2map.zabor, 2, if(StrDateToFloat(table2map.DatePeriod) = $PlanDate, 3, 4))

Выводит треугольник, если отправление - забор. Иначе - если дата план отправления равна дате, на которую планируется - увеличенный треугольник, иначе - квадрат.

MapObjectColor - Доп. возможность позволяет установить цвет маркера на карте. При помощи данных параметров можно создать условия отображения маркеров.

Для доступа к настройкам доступны переменные:

$Color

$DefaultColor

$PlanedColor

$SelectedPlanedColor

$GetKurierColor

Например:

if((table2map.kurier<20)*(StrDateToFloat(table2map.DatePeriod) = $PlanDate), 16753920, $color)

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

Настройка мобильного приложения

ExceptionsForAPK - можно настроить исключения для включения в АПК . Возвращает часть sql запроса при отборе вложений

 пример кода по умолчанию,  вложение с названием "Доставка"  - не попадает в АПК
 <?>
   SET($ExcStr,' and bx.Name not like ''%Доставка%'' '); 
   $ExcStr

Скрипты

OnEveryStartApp - выполняется при запуске программы.

OnEveryCloseApp - выполняет при закрытии программы.

OnBarScan - выполняется при получении ШК со сканера, в параметре %code% - получаем ШК. Если функция, что-то возвращает, то система будет использовать возвращенный ШК.