Document
in package
Класс для управления Документами
Class Document
Tags
Table of Contents
- $db : mixed
- Различные параметры, в основном из GLOBALS
- $fpath : mixed
- Различные параметры, в основном из GLOBALS
- $identity : mixed
- Различные параметры, в основном из GLOBALS
- $iduser1 : mixed
- Различные параметры, в основном из GLOBALS
- $ivc : mixed
- Различные параметры, в основном из GLOBALS
- $opts : mixed
- Различные параметры, в основном из GLOBALS
- $otherSettings : array<string|int, mixed>
- Прочие настройки
- $params : array<string|int, mixed>
- Передача различных параметров
- $rezult : mixed
- $skey : mixed
- Различные параметры, в основном из GLOBALS
- $sqlname : mixed
- Различные параметры, в основном из GLOBALS
- $tags : mixed
- $tmzone : mixed
- Различные параметры, в основном из GLOBALS
- $rootpath : false|string
- Абсолютный путь
- __construct() : mixed
- Akt constructor.
- appendFiles() : bool
- Добавить файлы к документу
- delete() : array<string|int, mixed>
- Удаление документа
- doc2PDF() : mixed
- Преобразует файл в PDF
- edit() : array<string|int, mixed>
- Добавление/Изменение документа
- generate() : string
- Генерирует файл из шаблона сгенерированные при создании документа тэги возвращаются в объекте: - tags
- getDocuments() : array<string|int, mixed>
- Получение списка всех документов и актов по Клиенту или Сделке
- getFiles() : mixed
- Позволяет получить ссылку на файл
- getQR() : string
- Генерация QR-кода в виде строки
- getSatus() : int
- Получение статуса документа
- getTemplates() : array<string|int, mixed>
- Шаблоны документа по его типу
- getTypes() : array<string|int, mixed>
- Типы документов
- info() : array<string|int, mixed>
- Информация по Документу
- list() : array<string|int, mixed>
- Вывод списка документов
- logging() : bool
- Логгирование статусов
- mail() : mixed
- Позволяет отправить документ по Email
- upload() : array<string|int, mixed>
- Загрузка файлов работает с глобальным массивом $_FILES
Properties
$db
Различные параметры, в основном из GLOBALS
public
mixed
$db
$fpath
Различные параметры, в основном из GLOBALS
public
mixed
$fpath
$identity
Различные параметры, в основном из GLOBALS
public
mixed
$identity
$iduser1
Различные параметры, в основном из GLOBALS
public
mixed
$iduser1
$ivc
Различные параметры, в основном из GLOBALS
public
mixed
$ivc
$opts
Различные параметры, в основном из GLOBALS
public
mixed
$opts
$otherSettings
Прочие настройки
public
array<string|int, mixed>
$otherSettings
$params
Передача различных параметров
public
array<string|int, mixed>
$params
= []
$rezult
public
mixed
$rezult
$skey
Различные параметры, в основном из GLOBALS
public
mixed
$skey
$sqlname
Различные параметры, в основном из GLOBALS
public
mixed
$sqlname
$tags
public
mixed
$tags
= []
$tmzone
Различные параметры, в основном из GLOBALS
public
mixed
$tmzone
$rootpath
Абсолютный путь
private
false|string
$rootpath
Methods
__construct()
Akt constructor.
public
__construct() : mixed
Return values
mixed —appendFiles()
Добавить файлы к документу
public
appendFiles(int $id[, array<string|int, mixed> $params = [] ]) : bool
Parameters
- $id : int
- $params : array<string|int, mixed> = []
-
- массив с параметрами
- ftitle - оригинальное имя
- fname - системное имя
- ftype - тип файла
Return values
bool —$rez = new Salesman\Document();
$data = $rez -> appendFiles($id, $params);
delete()
Удаление документа
public
delete(int $id) : array<string|int, mixed>
Parameters
- $id : int
Return values
array<string|int, mixed> —- ответ - int id - id записи - string message - сообщение о результате
$rez = new Salesman\Document();
$data = $rez -> delete($id);
doc2PDF()
Преобразует файл в PDF
public
doc2PDF(int $fid[, array<string|int, mixed> $params = [] ]) : mixed
Parameters
- $fid : int
-
- id файла
- $params : array<string|int, mixed> = []
-
- массив с параметрами
- string file - название файла (как он хранится в системе), если $fid не указан
- string disposition - папка, если файл лежит не в папке files/ ( например: folder/name/ )
- int deid - id документа
Return values
mixed —- имя нового файла
$params = [
"file" => $file,
"name" => "Билет",
"disposition" => "/_test/output/"
];
$rez = new Salesman\Document();
$data = $rez -> doc2PDF($id, $params);
edit()
Добавление/Изменение документа
public
edit(int $id[, array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $id : int
-
- id документа
- если 0, то создается новый документ
- иначе редактируем старый
- $params : array<string|int, mixed> = []
-
-
массив с параметрами
-
int did - id сделки
-
int clid - id заказчика (если did > 0, то не обязательно)
-
int payer - id плательщика (если did > 0, то не обязательно)
-
int signer - id подписанта
-
int idtype - id типа документа
-
str number - номер документа (если не указан, то будет сгенерирован, в т.ч. с учетом формата номера)
-
str title - наименование документа, если не указано, то берем из названия Типа документа
-
text des - описание документа
-
date datum_start - дата подписания
-
date datum_end - период действия "до"
-
int status - статус документа
-
int oldstatus - предыдущий статус документа
-
text statusdes - комментарий смены статуса
-
str subaction - если = status, то просто меняем статус документа
-
Return values
array<string|int, mixed> —$rez = new Salesman\Document();
$data = $rez -> edit($id, $params);
generate()
Генерирует файл из шаблона сгенерированные при создании документа тэги возвращаются в объекте: - tags
public
generate(int $id[, array<string|int, mixed> $params = [] ]) : string
Parameters
- $id : int
- $params : array<string|int, mixed> = []
-
- массив с параметрами - int template - id шаблона - int templateFile - файл шаблона ( указать полный абсолютный путь до файла ) - array tags - массив тэгов. если не указано, то берем из функции getNewTag - array tagsAttached - массив тэгов, которым надо дополнить массив tags - array images - массив изображений для замены ( требуется изображение-заглушка для каждого изображения, см. Примечание ) - name - имя тега - file - имя файла (файл должен находиться в папке files или следует передавать имя файла с абсолютным путем к нему) - bool append - true/false - добавить файлы к существующим - str getPDF - yes - генерировать PDF - str outputPath - собственная папка для сохранения результата ( указать полный абсолютный путь до папки с конечным слэшем ). Если указано, то прикрепление к документу и генерация PDF отключается ( use doc2PDF ) - str fileName - присвоить собственное имя генерируемому файлу - str docName - присвоить собственное название генерируемому документу
Примечание:
В шаблонах в формате Word изображение-заглушка должна содержать в качестве Альтернативного текста следующий код (заголовок или описание):
- NAME - имя тега
[onshow.NAME;ope=changepic;from=NAME;tagpos=inside;]
В шаблонах в формате Excel изображение-заглушка печати должна содержать в качестве Альтернативного текста следующий код (заголовок или описание):
[onshow.NAME;ope=changepic;tagpos=inside;adjust=inside;unique]
Tags
Return values
string —- ответ по результату
getDocuments()
Получение списка всех документов и актов по Клиенту или Сделке
public
static getDocuments([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
- параметры
- int clid - id клиента
- int did - id сделки
- str filter - фильтровать по типу
- akt - только акты
- contract - только договоры
- document - документы, кроме договоров
- str sort - порядок сортировки по дате
- desc - обратный порядок
Return values
array<string|int, mixed> —list
[ list ] => (
[ 0 ] => (
[ id ] => 333
[ deid ] => 333
[ idtype ] => 47
[ type ] => document
[ isDocument ] => 1
[ number ] => 31
[ title ] => Дополнительное соглашение X
[ typeTitle ] => Дополнительное соглашение
[ datum ] => 2018-07-06 11:19:54
[ datumFormated ] => 05 Июля 2018
[ datum_start ] => 2018-07-05
[ startFormated ] => 05 Июля 2018
[ datum_end ] => 2018-12-31
[ endFormated ] => 31 Декабря 2018
[ color ] => graybg gray2
[ des ] =>
[ did ] => 902
[ clid ] => 1781
[ pid ] => 0
[ deal ] => (
[ title ] => СД4250: Сейлзмен Рус
[ icon ] => icon-lock red
[ isClose ] => 1
)
[ payer ] => (
[ id ] => 1781
[ name ] => Сейлзмен Рус
)
[ isAccess ] => yes
[ files ] => (
[ 0 ] => (
[ name ] => Дополнительное соглашение №31 от 06.07.2018.docx
[ file ] => 1530859514.docx
[ icon ] =>
[ size ] => 388232
[ sizeKb ] => 388,23
[ view ] =>
[ topdf ] => 1
)
)
[ haveFiles ] => 1
[ status ] => (
[ id ] =>
[ title ] => Создан
[ color ] => #9edae5
[ statuslog ] =>
)
[ haveStatus ] => 1
[ canBeDeleted ] => 1
)
)
[ did ] => 902
[ clid ] => 1781
Example:
$doc = Salesman\Document ::getDocuments( [
"did" => 902,
"filter" => "document"
] );
getFiles()
Позволяет получить ссылку на файл
public
getFiles(int $id) : mixed
Parameters
- $id : int
-
- id (deid) документа
Return values
mixed —[ result ] => Успешно
[ data ] => (
[ 0 ] => (
[ name ] => Договор №47-1119/2019 от 07.11.2019.docx
[ file ] => 1573125910.docx
[ type ] => docx
)
)
[ result ] => Error
[ error ] => (
[ code ] => 404
[ text ] => Документ не найден
)
getQR()
Генерация QR-кода в виде строки
public
static getQR(array<string|int, mixed> $tags[, string $file = '' ]) : string
Parameters
- $tags : array<string|int, mixed>
-
- compUrName, compBankRs, compBankName, compBankBik, compBankKs, compInn, compKpp InvoiceSumma, Invoice, InvoiceDate, nalogName, nalogSumma
- $file : string = ''
-
- путь к файлу относительно корня CRM (если не указано, то будет "/cash/qrcode-invoice.png")
Return values
string —- полный путь к сгенерированному файлу
getSatus()
Получение статуса документа
public
static getSatus(int $deid) : int
Parameters
- $deid : int
Return values
int —$rez = new Salesman\Document();
$data = $rez -> getSatus($id);
getTemplates()
Шаблоны документа по его типу
public
static getTemplates([array<string|int, mixed> $ids = [] ]) : array<string|int, mixed>
Parameters
- $ids : array<string|int, mixed> = []
Return values
array<string|int, mixed> —$data = new Salesman\Document::getTemplates();
getTypes()
Типы документов
public
static getTypes([array<string|int, mixed> $ids = [] ][, array<string|int, mixed> $types = [] ]) : array<string|int, mixed>
Parameters
- $ids : array<string|int, mixed> = []
- $types : array<string|int, mixed> = []
Return values
array<string|int, mixed> —[ 2 ] => (
[ id ] => 2
[ title ] => Акт приема-передачи
[ type ] => get_akt
[ number ] => 0
[ format ] =>
[ roles ] => (
[ 0 ] => Руководитель организации
[ 1 ] => Руководитель с доступом
[ 2 ] => Руководитель подразделения
[ 3 ] => Руководитель отдела
[ 4 ] => Поддержка продаж
)
[ users ] => (
[ 0 ] => 1
[ 1 ] => 23
[ 2 ] => 25
)
)
info()
Информация по Документу
public
static info(int $id) : array<string|int, mixed>
Parameters
- $id : int
Return values
array<string|int, mixed> —- массив данных
- datum - Дата создания документа
- typeDoc - Тип документа (title из запроса tips)
- idtype - ID типа документа (id из запроса tips)
- description - описание Документа
- mcid - id Компании, от которой ведется сделка
- signer - id подписанта
- status - id статуса документа
- statusTitle - расшифровка статуса
- files - массив файлов, вложенных в документ
error result - [result] = Error - [error] - [code] = 404 - [text] = Запись не найдена - [error] - [code] = 405 - [text] = Отсутствуют параметры - id документа
$rez = new Salesman\Document();
$data = $rez -> info($id);
list()
Вывод списка документов
public
list([array<string|int, mixed> $params = [] ]) : array<string|int, mixed>
Parameters
- $params : array<string|int, mixed> = []
-
- page - страница
- ord - сортировка
- tuda - направление сортировки (desc||asc)
- mc - id компании
- array status - статусы документа
- array type - типы документа
- word - строка поиска
Tags
Return values
array<string|int, mixed> —logging()
Логгирование статусов
public
logging([array<string|int, mixed> $params = [] ]) : bool
Parameters
- $params : array<string|int, mixed> = []
-
- массив с параметрами
- int deid - id документа
- int iduser - id сотрудника, ктоый меняет статус
- int status - id нового статуса
- int oldstatus - id старого статуса, если не указано, то берем из документа
- text des - комментарий
Return values
bool —$rez = new Salesman\Document();
$data = $rez -> logging($params);
mail()
Позволяет отправить документ по Email
public
mail(int $id[, array<string|int, mixed> $params = [] ][, bool $auto = false ]) : mixed
Parameters
- $id : int
-
- id доккмента
- $params : array<string|int, mixed> = []
-
- массив данных
- int did - не обязательный параметр, если документ привязан к сделке
- int status - id статуса документа, который требуется присвоить
- str email - сторонний email, не принадлежащий Клиенту
- str theme - тема сообщения
- str content - содержимое сообщения (если требуется изменить стандартное)
- str template - id файла шаблона документа (если требуется генерировать новый)
- str pdf - требуется ли конвертировать документ в PDF (yes/no)
- $auto : bool = false
-
- автоматически найти получателя (если не указан в $params)
Tags
Return values
mixed —upload()
Загрузка файлов работает с глобальным массивом $_FILES
public
upload() : array<string|int, mixed>
Return values
array<string|int, mixed> —- ответ
[
[data] => [
"ftitle" => "XXX.docx"
"fname" => "38cf1d91050cc9f4283d2619d622ab8f.docx"
"ftype" => "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
]
[message] => [
"0" => "Файл XXX.docx успешно загружен."
]
]