Създаване на документ и изпращане чрез email
Предназначение: | Използва се за създаване на нов документ, който се изпраща автоматично до email на клиент |
Функция: | document_create_and_send |
Параметри: |
1. ЕИК на клиент (използвайте 000000000, 111111111 или 999999999 ако не го знаете) 2. Вид документ (1 - фактура, 2 - проформа, 3 - стокова разписка, 4 - протокол) 3. Обект $document от тип StdClass , който съдържа полета за:- Обща сума в лева ( $document->sum )- ДДС % ( $document->dds_percent ) - 0, 9 или 20- Основание за нулева ставка или ненач. на ДДС ( $document->null_value ) - Попълва се само ако ДДС е 0%- Начин на плащане ( $document->payment_method_id ) - 1 - в брой, 2 - по банка, 3 - POS, 4 - Epay.BG, 5 - частично в брой- Забележка към документ ( $document->note )- Статус на плащане ( $document->paid ) - 1 - платен, 0 - неплатен, 2 - частично платен- Кредитно или дебитно известие ( $document->kind ) - използва се само за фактурите; // 1 - за кредитно, 2 - за дебитно известие.- Основание за кредитно или дебитно известие ( $document->reason ) - Попълва се ако се издава кредитно или дебитно известие- ID на клиент ( $document->client_id )- Име на клиент ( $document->client_name )- Населено място на клиент( $document->client_place )- Данъчен адрес на клиент( $document->client_address )- ИН по ДДС на клиент ( $document->client_dds )- МОЛ на клиент ( $document->client_face )- Телефон на клиент ( $document->client_phone )- Email на клиент ( $document->client_email )- Име на получател ( $document->receiver )- МОЛ на доставчик ( $document->company_face )- Съставител на документа ( $document->creator )- Място на сделката ( $document->place ) - ако не е посочено се използва мястото от данъчния адрес на доставчика- Номерация ( $document->numbers_id ) - ако не е посочено се използва основната номерация, 1 - за втора, 2 - за трета и т.н. - Добавяне на клиента в базата с данни ( $document->add_client_to_db ) - въведете 1 и ако клиентът не съществува в номенклатурата с клиенти той ще се добави автоматично. Прави се проверка по ЕИК/ЕГН.- Актуализиране на складовите наличности при ползване на модул "Склад" ( $document->update_quantities ). Въведете 1 ако желаете да се регистрират движения в склада.- Редове на документ ( $document->rows ) - масив от обекти StdClass със следните полета:» Име на стока или услуга ( $row->name )» Количество на стока/услуга ( $row->quantity )» Мярка на стока/услуга ( $row->measure_id ) - за повече информация - 4. ДРУГИ > Таблица с използвани мерни единици» Ед. цена на стока/услуга в лева ( $row->price )» Артикулен номер ( $row->code ) - използва се задължително ако се ползва модул "Склад" или някоя от следващите две настройки» Зареждане на името от базата данни ( $row->load_name_from_db ) - можете да не подавате името през API, а да се извлича директно от базата данни спрямо подадения артикулен номер. Въведете 1 ако желаете това действие.» Зареждане на цената от базата данни ( $row->load_price_from_db ) - можете да не подавате ед. цена през API, а да се извлича директно от базата данни спрямо подадения артикулен номер. Въведете 1 ако желаете това действие.Допълнителни полета за Invoice - документ на английски език - Валута за английски език ( $document->invoice_currency_id ) - тук са описани всички възможни валути.- Фиксинг спрямо лева ( $document->currency_fixing ) - по подразбиране е 1.- Обща сума в съответната валутата ( $document->retail_sum ) - ако се пропусне се изчислява автоматично спрямо фиксинга4. Копие или оригинал (0 - оригинал /по подразбиране/, 1 - за копие) 5. Език на документ (0 - български език /по подразбиране/, 1 - английски език) 6. Email на клиент (ако не е посочена стойност, се взима електронната поща на клиента от базата с данни) 7. Обект $settings от тип StdClass (незадължителен), който съдържа полета за:- Subject ( $settings->email_subject )- Текст на писмото ( $settings->email_body )- Име на изпращач ( $settings->sender_name )- Email на изпращач ( $settings->sender_email ) |
Резултат: | Обект $document от тип StdClass . В $document->id се съдържа ID на документа, а в $document->number неговия номер. |
Възможни грешки: |
- Не е въведен ЕИК. Можете да използвате 000000000, 111111111 или 999999999 ако не знаете ЕИК на клиента! (501) - Не е подаден последния параметър с детайлите на документа и редовете! (502) - Невалиден вид на документ. Използвайте 1 за фактура/и, 2 за проформа/и, 3 за стокови разписка/и или 4 за протокол/и. (3) - Грешка при изпълнение на заявка. (4) |
Забележки: | 1. Ако някое поле свързано с клиента не е зададено в третия параметър на функцията, тогава то се извлича от базата данни в зависимост от въведения ЕИК номер. 2. Останалата инфорамация за документа (напр. Съставител) се извлича от последно издадения документ. 3. Тази функция не променя складовите наличности ако не се подаде параметър update_quantities = 1 4. Документът се изпраща като прикачен PDF файл. 5. Ако създавате документ само в чуждестранна валута, тогава можете да въведете единичните цени в редовете в съответната валута и за фиксинг да зададете 1. 6. Заради Наредба Н-18 в СУПТО е спряна възможността за създаване на фактури. Могат да се създават само проформа-фактури! |
Примерен код: |
// Следния код се вмъква в примерния скрипт.
|