Квитанция Сбербанка

Главные вкладки

Комментарии

Аватар пользователя Dimanic Dimanic 28 декабря 2008 в 6:53

По названию, так он этим и занимается.
invoice 1) счёт, фактура; счёт-фактура (счёт на отправленный товар с указанием краткой спецификации, цены, расходов и других подробностей контракта) 2) партия товаров 2. ; выписать счёт, фактуру
you're able to create and administer invoices - вы сможете самостоятельно создавать и управлять счетами.

Аватар пользователя altway altway 29 декабря 2008 в 2:29

на 828 строке invoice.module версии 6.x-1.0-rc3 от 2008-Dec-20 находится определение функции которая выводит invoice

function theme_invoice_body($node, $type=NULL) {
  $content = '<div class="invoice-wrapper">';  
  require_once dirname(__FILE__) .'/templates/'. $node->invoice['template'] .'.inc';
  drupal_add_css(drupal_get_path('module', 'invoice') .'/templates/'. $node->invoice['template'] .'.css', 'module');
  $content_function = '_invoice_'. $node->invoice['template'] .'_get_template_output';
  $content .= $content_function($node, $type);    
  $content .= '</div>';  
  return $content;
}

т.е создав новый файл в папке sites\all\modules\invoice\templates\ c именем к примеру new.inc и поределив в нём функцию

function _invoice_new_get_template_output($invoice, $type=NULL)

которая и сформирует html расположением любой формы.. трудность в том что количество переменных задано относительно жестко - в базе данных drupal в таблице invoice_templates т.е нужно использовать hook_update:

function invoice_update_N() {
  db_add_field($ret, 'invoice_invoices', 'inn', array('type' => 'varchar', 'length' => 50, 'not null' => FALSE));
  db_add_field($ret, 'invoice_invoices', 'rshet', array('type' => 'varchar', 'length' => 50, 'not null' => FALSE));
  return $ret; // Array with query results.
}

После этого в нашей функции _invoice_new_get_template_output() можно использовать переменные _invoice_get_variable($template, 'inn') и _invoice_get_variable($template, 'rshet')

Аватар пользователя altway altway 10 ноября 2015 в 11:46

"digital_sword" wrote:
Полученная квитанция на вид сильно отличается от сбербанковской

а вообще имеется ввиду форма ПД-4?

в прикреплении её html-вариант.. будет время создам шаблончик для invoice

Аватар пользователя digital_sword digital_sword 10 ноября 2015 в 11:46

"altway" wrote:
будет время создам шаблончик для invoice

Вот вот. Вообще здорово будет.
Еще бы модуль pgapi заработал... И тогда с оплатой трудности прекратятся
"volocuga" wrote:
А как можно интегрировать с Убером? Есть ли подобный опыт использования у кого-нибудь?

Если вы про уберкарт для 5го, то модуль вебмани был. Если для 6го, то ничего нет :(. Только саму квитанцию если прикладывать. Прикрепляю (нашел на форуме)

Но если делать квитанцию, то лучше такой формы, какую хостеры выдают

Аватар пользователя altway altway 10 ноября 2015 в 11:46

Вобщем сделал нечто.. в прикреплении архив со всем что необходимо.
Добавить в invoice.install:

function invoice_update_666() {
  $ret = array(); // Array to which query results will be added.
  //dropping unused fields
  db_drop_field($ret, 'invoice_templates', 'supplier_zipcode');
  db_drop_field($ret, 'invoice_templates', 'supplier_coc_number');
  db_drop_field($ret, 'invoice_templates', 'supplier_vat_number');
  /* todo delete form feilds in
   *    invoice_form.inc
  */

 
  variable_set('invoice_supplier_inn_number'      , '7726585666');
  variable_set('invoice_supplier_kpp_number'      , '772601001');
  variable_set('invoice_supplier_schet_number'    , '40702810138060048515');
  variable_set('invoice_supplier_kor_number'      , '30101810400000000225');
  variable_set('invoice_supplier_bik_number'      , '044525225');
  variable_set('invoice_supplier_name_of_payment' , 'Оплата за разовое автотранспортное обслуживание');
  variable_set('invoice_supplier_bank_city'       , 'г. Москва');
  variable_set('invoice_supplier_bank_name'       , 'ОАО Сбербанк России Царицынское ОСБ №7978/01698');
 
  //adding needed feilds
  db_add_field($ret, 'invoice_templates', 'supplier_inn_number' , array('type' => 'varchar', 'length' => 100, 'not null' => FALSE));
  db_add_field($ret, 'invoice_templates', 'supplier_kpp_number' , array('type' => 'varchar', 'length' => 100, 'not null' => FALSE));
  db_add_field($ret, 'invoice_templates', 'supplier_schet_number' , array('type' => 'varchar', 'length' => 100, 'not null' => FALSE));
  db_add_field($ret, 'invoice_templates', 'supplier_kor_number' , array('type' => 'varchar', 'length' => 100, 'not null' => FALSE));
  db_add_field($ret, 'invoice_templates', 'supplier_bik_number' , array('type' => 'varchar', 'length' => 100, 'not null' => FALSE));
  db_add_field($ret, 'invoice_templates', 'supplier_name_of_payment' , array('type' => 'varchar', 'length' => 100, 'not null' => FALSE));
  db_add_field($ret, 'invoice_templates', 'supplier_bank_city' , array('type' => 'varchar', 'length' => 100, 'not null' => FALSE));
  db_add_field($ret, 'invoice_templates', 'supplier_bank_name' , array('type' => 'varchar', 'length' => 100, 'not null' => FALSE));
   
  /*
   *  db_add_field($ret, 'invoice_invoices', 'invoice_timestamp' , array('type' => 'int', 'size' => 'big', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0));
   *  not provided yet  
  */

 
  return $ret; // Array with query results.
}

затем запустить update.php

Пока заглохло( это связано с тем что invoice ограничен по перечню полей которые можно отображать в счёте.. Я опубликовал feature request
как только появится больше времени планирую сделать патч в стандартный ubercart для интеграции с token