47
правок
Изменения
→Речь диктора
== Настройка для печатной документации ==
'''CustomGivnAct ''' - Функция позволяет заменить печатную форму, акта передачи материальных ценностей (печать из выдачи) на пользовательскую. Включить использование этой возможности можно в переменных "Справочники" -> "Переменные" -> "Печать" -> "Акты передачи курьеру" -> "Печатная форма акта: Пользовательская".
Объявленные переменные
%code% - коды записей в выдаче которые необходимо распечатать
Пользовательская форма акта, будет печататься только по заказам со статусом "На руках".
'''OnBeforePrintNakls''' - Вызывается перед печатью накладных, содержит %code% - коды всех адресов (через запятую).
'''OnAfterPrintNakls''' - Вызывается после печати накладных, содержит %code% - коды всех адресов (через запятую).
'''OnBeforePrintOneNakl''' - Вызывается перед печатью накладной, содержит %code% - код адреса.
'''OnAfterPrintOneNakl''' - Вызывается после печати накладной, содержит %code% - код адреса.
'''OnBeforePrintSticker''' - Вызывается перед печатью наклейки, содержит %code% - код адреса, %barcode% - ШК наклейки.
'''OnAfterItemPrint''' - Вызывается после печати наклейки из карточки номенклатуры. Поддерживает поля ввода - input. Содержит %code% - код номенклатуры item.code, %Naimen% - наименование, %country% - название страны, %Count% - указанное количество копий к печати.
'''PrintCustomSticker''' - Функция позволяет установить пользовательскую печатную форму для наклеек (из интерфейса "Печать ведомостей/наклеек"). Вызывается если выбран тип наклейки 15 (переменная StickerForm). Содержит %RectLeft%, %RectTop%, %RectRight%, %RectBottom% - границы прямоугольника на холсте принтера, в которые надо печатать (для поддержки табличной печати на A4), %RecNumber% - номер текущей записи датасета, %CurrentBarCode% - ШК, рассчитанный в зависимости от параметров в интерфейсе "Печать ведомостей/наклеек". Также содержит весь датасет, использующийся в других типах наклеек. В момент вызова функции, принтер уже запущен и начат документ, объект TPrinter в функции создавать не нужно, необходимо только создать объект TCanvas, он создастся как ссылка на текущий холст принтера.
'''PrintItemSticker''' - Вызывается перед печатью наклейки из карточки номенклатуры, для возможности распечатать уникальную наклейку для номенклатуры по заложенным в допвозможности условиям. Содержит %clientbar% - ШК наклейки. Если наклейка распечатана из допвозможности возвращает true, в противном случае false и будет распечатана стандартная наклейка, заложенная в системе
== Настройка всплывающих окон==
'''OnGivnStateChanged ''' - Вызывается в транзакции при изменении статуса выдачи. В параметре %code% указан код выдачи.В %pickupDocId% указан код на таблицу docs, документ приема забранных корреспонденций у курьера (доска приема при закрытии забора). Переменная %RetNotScanned% принимает значение true, если при установленной переменной "Запрашивать возвратные документы при приеме" = "Требовать маркировки наклейкой" пользователь не стал сканировать наклейку. '''OnAfterGivnStateChanged''' - Вызывается после транзакции, при изменении статуса выдачи. В параметре %code% указан код выдачи. В %pickupDocId% указан код на таблицу docs, документ приема забранных корреспонденций у курьера (доска приема при закрытии забора) '''OnBeforeAddressSave''' - Вызывается перед сохранением изменений в карточке корреспонденции. Код выполняется не в транзакции и есть возможность показывать диалоговые окна. В качестве параметра передан объект fieldlist (объект полный аналог addressrecord в доп. услугах). . Если результат функции -1, то происходит отмена сохранения без ошибки (abort). '''OnBeforeBaseSave''' - Вызывается перед сохранением изменений в карточке срочного заказа. Код выполняется не в транзакции и есть возможность показывать диалоговые окна. В качестве параметра передан объект fieldlist (объект полный аналог таблицы base). Теги %date_put%, %time_put%, %message% - содержат дату вручения, время вручения и инфо о доставке соответственно. Если результат функции -1, то происходит отмена сохранения без ошибки (abort). '''OnAfterAddressSave''' - Вызывается после сохранения карточки корреспонденции в транзакции. Тег %code% - равен коду адреса; %Form3FrameMode% равен 1, если корреспонденция заполняется из интерфейса: "Функции - Ввод заявок по фото". '''OnBarScan''' - Скриптовая обработка штрих-кода перед поиском '''AfterAddressAcceptance''' - Событие после приема корреспонденции на склад (например,заказы - прием корреспонденции). Код выполняется не в транзакции и есть возможность показывать диалоговые окна. Содержит %Code% - код адреса, %StrBarCode% - отсканированный штрих-код. '''BeforeAddressAcceptance''' - Событие перед приемом корреспонденции на склад (например,заказы - прием корреспонденции). Код выполняется в транзакции. Содержит %Code% - код адреса; %StrBarCode% - отсканированный штрих-код; %mass% - массу, если значение меньше 0 значит весы выключены; %l%, %w%, %h% - габариты; %MultiBarCode% - истина если это наклейка на место; %SetKolvo% - проставлять принятые места, место может быть уже принято; %ClientCode% - код клиента (clients.code); %PackCode% - код места (packages.code) . Если функция возвращает значение больше 0, то это будет новой массой места или корреспонденции. '''OnAddToShippingPlace''' - событие после добавления корреспонденции в мешок манифеста. Код выполняется в транзакции. Содержит %сode% - код адреса, %BarCode% - штрих код который отсканировали,%ShippingPlace% - код мешка '''GetTypeShippingPlace''' - событие перед добавлением корреспонденции в мешок манифеста. Задача события распределить корреспонденцию между мешками. Результат функции код мешка, в который необходимо поместить корреспонденцию. Содержит %сode% - код адреса. '''OnBeforePlanToManifest''' - событие перед планированием корреспонденции в манифест. Предназначено для дополнительных проверок. Выполняется до транзакции. Содержит %code% - код манифеста, %AddrList% - список кодов адресов через запятую. Объявление события отменяет системную проверку на возможность доставки адреса филиалом получателя, ее нужно реализовывать в этом событии. '''OnBeforeScanToManifest''' - событие перед добавлением корреспонденции в мешок манифеста. Предназначено для дополнительных проверок. Выполняется до транзакции. Содержит %code% - код манифеста, %Address% - код помещаемого адреса '''OnBeforePlanning''' - событие перед планированием одного или нескольких отправлений на курьера. Содержит %сode% - код курьера, %AddressCodes% - код(ы) планируемых корреспонденций. '''OnAfterPlanning'''- событие после планирования планированием одного или нескольких отправлений на курьера. Содержит %сode% - код курьера, %AddressCodes% - код(ы) фактически запланированных корреспонденций. '''DAILY''' - задание выполняемое один раз в день '''OnGivnKurierStateChanged''' - событие вызывается после изменений данных со слов курьера (статуса, времени или причины недоставки). Вызывается даже при получении данных из мобильного приложения курьера. В событии запрещено показывать диалоги, т.к. это может остановить синхронизацию данных с ЛК. Содержит %сode% - код выдачи. '''OnBeforeGivnStatus''' - событие срабатывает перед установкой статуса выдачи, не в транзакции. В параметре %code% указан код выдачи, %status% - устанавливаемый статус,%kurier% - код курьера, %date% - дата выдачи, %address% - код адреса
== Настройка документов ==
'''CustomAddressPrnForm2 ''' - Кастомная реализация упрощенной печатной формы. В карточке заказе заказа установлена галка Простые, и установлена переменная "Справочники" -> "Переменные" -> "Печать" -> "Упрощенные печатные формы" -> "Тип упрощенной печатной формы: 5" '''GetTypeShippingPlace''' - Выполняется при помещении корреспонденции в мешок манифеста. Содержит %code% - код корреспонденции. Возвращаемое значение это код мешка (shippingpalce.code), если его указать , то это изменит мешок, в который будет помещена корреспонденция. '''OnShelvingBarScan''' - Обработка отсканированного штрих-кода при комплектации. '''AdditionalStringForSMA''' - задает дополнительные условия для формирования АПД (наиболее часто: разделения актов на нал. и безнал, помимо этого практически неограниченные возможности по изменению условий для отбора корреспонденций в акт, учета их доставленности и т.п.) Содержит %code% - код клиента, переменную %ActPayType% со значениями типов оплаты входящих в акт отправлений: "nal" - наличный, "bnal"- безналичный,"all" - все, а ткаже %ActDateTo% - с датой, до которой создается акт. Может возвращать строку, разделенную символами переноса строки. (На 17.09.2021 в возвращаемой строке предусмотрен 1 символ переноса, т.е. строка состоит из двух частей.) В этом случае часть строки до первого переноса будет использоваться в запросе как доп. условие отбора, часть строки после первого символа пеерноса - в качестве дополнительного условия для определения "выполненности" доставки (поле specialsma.Made). С помощью второго модификатора можно сделать например так, чтобы корреспонденции с незаполненными датой/временем вручения считались доставленными. '''CustomBillDetaling''' - Кастомная детализация счета. Установка переменной $CancelCustomDetail в true, включает вывод стандартной детализации. В переменной $schet - код счета по которому строится детализация. '''OnSchetChanged''' - Выполняется при удалении счета и его изменении. Содержит %code% - код счета schet.code '''ExceptionsForAPK''' - Задает дополнительные критерии поиска корреспонденции при формировании акта передачи корреспонденции(АПК). Содержит %Boxes% - псевдоним таблицы вложений используемый в запросе. Функция возвращает !ДВЕ! части sql запроса разделенных CRLF. При отборе в АПК используется два запроса. Первый - отбирает не доставленные заказы и возвраты документов, в него будет подставлено условие слева от разделителя CRLF. Второй запрос отбирает возращенные товары, в него будет подставлено условие справа от разделителя CRLF или вся строка условий если в строке нет разделителя CRLF (оставлено для обратной совместимости, в версии программы до 1115 фильтрация была только во втором запросе). %AdditionalParam% - дополнительный параметр, который можно установить в интерпретаторе при вызове функции CreateAddressTransferAct. пример кода по умолчанию, фильтр только по второму запросу, вложение с названием "Доставка" - не попадает в АПК <NOWIKI><?> SET($ExcStr,' and %Boxes%.Name not like ''%Доставка%'' '); $ExcStr</NOWIKI> пример для изменения фильтрации сразу у двух запросов: <NOWIKI><?> SET($WHERE1,''); rem('условие отбора не доставленных и возврата документов'); SET($WHERE2, ''); rem('условие отбора возврата товаров'); $WHERE1 + CHAR(13) + CHAR(10) + $WHERE2</NOWIKI> '''OnOrderCountCalc''' -Для расчета стоимости доставки необходимо учитывать кол-во отправлений. Доп. возможность возвращает часть SQL запроса, уточняющий условия поиска. Содержит %code% - равен значению переменной "Считать кол-во отправлений по текущему месяцу" (UseCurrentMonthCount, нет - 0, да - 1)
== Настройка вида маркера ==
Для доступа к данным пользуйтесь только этим объектом, т.к. любое обращение к базе приведет к значительному снижению скорости работы. Так же текущее состояние окна карты доступно через переменные: $PlanDate - Выбранная дата, на которую планируется. $KurierCode - Код выделенного курьера. $MetroCode - Код выделенной станции метро (маршрута). Обратите внимание, что все ошибки, возникающие при отрисовке, подавляются системой. Поэтому, если вы допустите ошибку в скрипте, он просто не будет работать, никаких сообщений вы не увидите. Для отладочных целей можно заменить ошибки на сообщения такой конструкцией: set($s, try( error('вот тут ошибка, которую вы увидите в виде сообщения'); )); if($s, showmessage($s), ''); '''MapObjectFigure''' - Доп. возможность позволяет установить вид маркера на карте. Результат определяет фигуру: 1 - перевернутый треугольник (острым концом вниз), 2 - треугольник, 3 - увеличенный перевернутый треугольник (острым концом вниз), чтобы квадрат не мог его перекрыть, 4 - квадрат, 5 - ромб, все остальное круг. Ромб поддерживается с версии 960.<br/>Например: if(table2map.zabor, 2, if(StrDateToFloat(table2map.DatePeriod) = $PlanDate, 3, 4))Выводит треугольник, если отправление - забор. Иначе - если дата план отправления равна дате, на которую планируется - увеличенный перевернутый треугольник, иначе - квадрат. '''MapObjectColor''' - Доп. возможность позволяет установить цвет маркера на карте.При помощи данных параметров можно создать условия отображения маркеров. <br/> Для доступа к настройкам доступны переменные: $Color $DefaultColor $PlanedColor $SelectedPlanedColor $GetKurierColor Например: корреспонденция if((table2map.kurier<20)*(StrDateToFloat(table2map.DatePeriod) = $PlanDate), которая должна быть доставлена завтра до 15:0016753920, будет $color)Не запланированные отправления на текущий день будут отображаться как синий прямоугольниквыбранным цветом, иначе - цветом по-умолчанию. == Речь диктора == '''OnGivnVoice''' - выполняется после изменения статуса выдачи. Параметр <nowiki>%code%</nowiki> содержит код выдачи, <nowiki>%State%</nowiki> содержит код устанавливаемого статуса, <nowiki>%OldState%</nowiki> - код старого статуса (0 если не было). Позволяет отключать стандартный звук ОК, если возвращает не 0. '''OnDashboardManifestVoice''' - выполняется после сканирования адреса в интерфейсе приёма манифестов. Параметр <nowiki>%code%</nowiki> содержит код корреспонденции. Позволяет отключать стандартную диктовку программой (код курьера, вес и т.д.), если возвращает не 0.
== Настройка мобильного приложения ==