Menu

## Akt
in package

Akt.php : 44

Класс для управления актами

Class Akt

##### Tags

author

  Vladislav Andreev v@salesman.pro

version
  1.0

  (06/09/2019)

  Example:

      $Akt  = new Salesman\Akt();
      $result = $Akt -> edit($id, $params);
      $response = [
      'result'  => 'Успешно',
      'akt_num' => $akt_num,
      'deid'    => $deid,
      'did'     => $did,
      'crid'    => $crid2,
      'text'    => yimplode("; ", $mes),
      'error'   => ['text' => $err]
      ];

### 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>
  Передача различных параметров
$skey : mixed
  Различные параметры, в основном из GLOBALS
$sqlname : mixed
  Различные параметры, в основном из GLOBALS
$tmzone : mixed
  Различные параметры, в основном из GLOBALS
$rootpath : false|string
  Абсолютный путь
__construct() : mixed
  Akt constructor.
delete() : array<string|int, mixed>
  Удаление акта
edit() : array<string|int, mixed>
  Добавление / изменение акта Обновляет только указанные в массиве $params поля
getAkt() : string|array<string|int, mixed>
  Формирование акта для печати
getAktComplect() : float|int
  Комплектность спецификации актами
getAktSpeka() : array<string|int, mixed>
  Возвращает спецификацию по акту в массиве
getComplect() : float|int
  Процент, на который текущий акт закрывает спецификацию
getPozition() : array<string|int, mixed>
  Массив позиций по акту и свободнях позиций
getTemplates() : array<string|int, mixed>
  Шаблоны документов
info() : array<string|int, mixed>
  Получение информации по акту
link() : array<string|int, mixed>
  Получение ссылки на файл акта
list() : array<string|int, mixed>
  Вывод списка документов
mail() : array<string|int, mixed>
  Отправка акта по e-mail

### Properties

#### $db

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $db`

#### $fpath

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $fpath`

#### $identity

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $identity`

#### $iduser1

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $iduser1`

#### $ivc

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $ivc`

#### $opts

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $opts`

#### $otherSettings

Akt.php : 51

Прочие настройки

`public array<string|int, mixed> $otherSettings`

#### $params

Akt.php : 65

Передача различных параметров

`public array<string|int, mixed> $params = []`

#### $skey

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $skey`

#### $sqlname

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $sqlname`

#### $tmzone

Akt.php : 58

Различные параметры, в основном из GLOBALS

`public mixed $tmzone`

#### $rootpath

Akt.php : 72

Абсолютный путь

`private false|string $rootpath`

### Methods

#### __construct()

Akt.php : 77

Akt constructor.

`public __construct() : mixed`

##### Return values

mixed —

#### delete()

Akt.php : 1489

Удаление акта

`public delete(int $id) : array<string|int, mixed>`

##### Parameters

$id : int
  - идентификатор записи акта

##### Return values

array<string|int, mixed> —

good result - result = Успешно - did - id сделки - deid - id удаленного Акта

error result - result = Error - error - code - text

code:

406 - Отсутствуют параметры - id акта

Пример:

    $Akt = \Salesman\AKt::delete($id);

#### edit()

Akt.php : 1125

Добавление / изменение акта Обновляет только указанные в массиве $params поля

`public edit(int $id, array<string|int, mixed> $params) : array<string|int, mixed>`

##### Parameters

$id : int
  - идентификатор записи акта
$params : array<string|int, mixed>

  - массив данных для редактирования

  - iduser - id пользователя

  - did - id сделки

  - akt_num - номер акта ( если не указан, то генерируем автоматически )

  - igen = yes - если нужно сгенерировать номер акта

  - temp - шаблон акта

  - status - статус документа

  - des - комментарий

  - newstep - id нового этапа, если надо сменить этап сделки

  - rs - id расчетного счета, если нужно выставить новый счет ( Сервисная сделка )

  - summa - сумма счета, если нужно выставить новый счет ( Сервисная сделка )

  - newinvoice = yes - если нужно выставить новый счет ( Сервисная сделка )

  - crid - id счета, на который выставляем Акт ( Сервисная сделка )

  - tip - тип счета, не обязательно ( Сервисная сделка )

  - template - шаблон счета, не обязательно ( Сервисная сделка )

  - changePeriod = yes - если надо изменить период сделки ( Сервисная сделка )

  - dstart - начало нового периода ( Сервисная сделка )

  - dend - конец нового периода ( Сервисная сделка )

##### Tags

throws
  Exception

##### Return values

array<string|int, mixed> —

good result - result = Успешно - data = akt_num

error result - result = Error - error - code - text

code:

    406 - Отсутствуют параметры сделки
    408 - Акт уже добавлен к сделке
    409 - Минимальный этап для акта - $stepApprove %

Пример:

    $Akt = \Salesman\AKt::edit($id,$params);

#### getAkt()

Akt.php : 2190

Формирование акта для печати

`public getAkt(int $id[, array<string|int, mixed> $params = [] ]) : string|array<string|int, mixed>`

##### Parameters

$id : int
  - идентификатор записи акта
$params : array<string|int, mixed> = []
  - массив с параметрами
  - str tip - действие
  - tags - вывод тэгов
  - print - вывод на печать
  - pdf - преобразование в pdf
  - str download - вариант вывода для $tip = "pdf"
  - yes - выдача на скачивание
  - view - выдача в браузер
  - no - возвращает только имя файла
  - bool nosignat = true/false - исключение из выдачи печати и подписи
  - str temp - файл шаблона

##### Tags

throws
  Exception

##### Return values

string|array<string|int, mixed> —

good result $tags error result Error

Пример:

    $params = [
     "tip"      => "print",
     "nosignat" => true,
     "temp"     => "ACT5c91175e8094b_akt.tpl"
    ];
    $Akt = \Salesman\AKt::mail($id,$params);

#### getAktComplect()

Akt.php : 530

Комплектность спецификации актами

`public static getAktComplect( $did) : float|int`

##### Parameters

$did :
  - id сделки

##### Return values

float|int —

#### getAktSpeka()

Akt.php : 609

Возвращает спецификацию по акту в массиве

`public static getAktSpeka( $id) : array<string|int, mixed>`

##### Parameters

$id :
  - id акта

##### Return values

array<string|int, mixed> —

- массив с ответом

- array pozition - массив позиций без фильтра по типу

  - int num - номер по порядку
  - int spid - id позиции в спецификации
  - int prid - id позиции в прайсе
  - str artikul - Артикул
  - str title - Название
  - int tip - Тип (0 - товар, 1 - услуга, 2 - материал)
  - str comments - Комментарий
  - float kol - Количество
  - str dop - Дополнительное поле
  - str edizm - Единица измерения
  - float price - Цена за единицу
  - float price_in - Цена закупочная за единицу
  - float nds - НДС
  - float summa - Сумма позиции
  - float summaZakup - Сумма закупа позиции
  - float inPrice - Прайсовая стоимость

- float pozitionNalog - сумма налога

- float pozitionSumma - сумма позиций ( без налога )

- float pozitionTotal - сумма позиций ( с налогом )

- array tovar - массив позиций с типом = товар

- float tovarNalog - сумма налога товарных позиций

- float tovarSumma - сумма товарных позиций ( без налога )

- float tovarTotal - сумма товарных позиций ( с налогом )

- array usluga - массив позиций с типом = услуга

- float uslugaNalog - сумма налога позиций с услугами

- float uslugaSumma - сумма позиций с услугами ( без налога )

- float uslugaTotal - сумма позиций с услугами ( с налогом )

#### getComplect()

Akt.php : 827

Процент, на который текущий акт закрывает спецификацию

`public static getComplect( $id) : float|int`

##### Parameters

$id :
  - id акта

##### Return values

float|int —

#### getPozition()

Akt.php : 338

Массив позиций по акту и свободнях позиций

`public static getPozition(int $id, int $did) : array<string|int, mixed>`

##### Parameters

$id : int
  - id акта
$did : int
  - id сделки

##### Return values

array<string|int, mixed> —

#### getTemplates()

Akt.php : 274

Шаблоны документов

`public static getTemplates([null $id = NULL ][, null $file = NULL ]) : array<string|int, mixed>`

##### Parameters

$id : null = NULL
$file : null = NULL

##### Return values

array<string|int, mixed> —

- int id - id шаблона
  - str title - Название шаблона
  - str file - Файл шаблона
  - int typeid - id типа шаблона

Примечание:

- если $id и $file не указаны, то возвращается список шаблонов
- если указан $id - возвращает данные по названию файла шаблона
- если указан $file - возвращает данные по id шаблона

#### info()

Akt.php : 201

Получение информации по акту

`public static info(int $id) : array<string|int, mixed>`

##### Parameters

$id : int
  - идентификатор записи акта

##### Return values

array<string|int, mixed> —

- массив данныых по акту

Пример:

    $Akt = \Salesman\Akt::info($id);

#### link()

Akt.php : 1570

Получение ссылки на файл акта

`public link(int $id, array<string|int, mixed> $params) : array<string|int, mixed>`

##### Parameters

$id : int
  - идентификатор записи акта
$params : array<string|int, mixed>

  - массив данных

  - int did - id сделки

##### Tags

throws
  Exception

##### Return values

array<string|int, mixed> —

good result - result = Успешно - data = [ ["name" => $name,"file" => $file] ]

error result - result = Error - error - code - text

code:

     406 - Отсутствуют параметры - Сделка

Пример:

    $Link = \Salesman\AKt::link($id,$params);

#### list()

Akt.php : 879

Вывод списка документов

`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 - статусы документа
  - word - строка поиска
  - isService - тип сделки - сервисная||обычная (yes||no)

##### Tags

throws
  Exception

##### Return values

array<string|int, mixed> —

#### mail()

Akt.php : 1768

Отправка акта по e-mail

`public mail(int $id[, array<string|int, mixed> $params = [] ][, bool $auto = false ]) : array<string|int, mixed>`

##### Parameters

$id : int
  - идентификатор записи акта
$params : array<string|int, mixed> = []
  - массив с параметрами
  - did - id сделки
  - iduser - id пользователя (для подписи)
  - status - статус документа (id статуса), если требуется изменить
  - theme - тема письма (если не указано = Закрывающие документы)
  - array email - адреса получателей, может иметь формат массива = ['clid:32333','pid:3455','pid:555'] или ['1@ya.ru', '2@ya.ru']
  - file - файл акта (не обязательно, будет сгенерирован)
  - files - массив доп.файлов [[name, file][name, file]]
  - array pid - массив pid контактов
$auto : bool = false
  - [true/false] - автоматическое определение email адресата (если email не указан), следует передать:
  - pid - массив pid контактов
  - clid - массив clid клиентов

##### Tags

throws
  Exception

##### Return values

array<string|int, mixed> —

good result - result = Успешно - data = id

error result - result = Error - error - code - text

code:

     406 - Счет не найден
     407 - не указан ни один получатель

Пример:

    $params = [
     "did"    => 678,
     "iduser" => 1,
     "status" => 2,
     "theme"  => "Документы от БигСейлзРус",
     "email"  => ['clid:32333','pid:3455','pid:555']
    ];
    $Akt = \Salesman\AKt::edit($id,$params);

## Search results