<html><body><div align=center><table><tr><td> <p align=right><small> Приложение №1<br /> к Правилам ведения журнало учета полученных и выставленных счетов-фактур,<br /> книг покупок и книг продаж при расчетах по налогу на добавленную стоимость,<br /> утвержденным постановлением Правительства Российской Федерации от 2 декабря 2000г. №914<br /> (в реакции постановлений Правительства Российской Федерации от 15 марта 2001г. №189<br /> от 27 июля 200г. №575, от 16 февраля 2004г. №84, от 11 мая 2005г. №283) </small></p> <h2>Счет-фактура № [NUMB] от [DATE] г.</h2> Продавец: [VEND_FULL_INFO]<br /> Грузоотправитель и его адрес: ----<br /> Грузополучатель и его адрес: ----<br /> К платежно-расчетному документу № __________ от ______________<br /> Покупатель: [USER_FULL_INFO]<br /> <table align=center valign=middle cellpadding=3 border=1 cellspacing=-1 style="border-color: #000000;"> <tr> <th>Наименование товара(описание выполненных работ, оказанных услуг), имущественного права</th><th>Единица изме-<br />рения</th> <th>Коли-<br />чество</th><th>Цена(тариф) за единицу измерения</th><th>Стоимость товаров(работ, услуг), имуществен-<br />ных прав, всего без налога</th> <th>В том числе акциз</th><th>Налоговая ставка</th><th>Сумма налога</th> <th>Стоимость товаров(работ, услуг), имуществен-<br />ных прав, всего с учетом налога</th><th>Страна происхождения</th> <th>Номер в таможенной декларации</th> </tr><tr> <th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th><th>11</th> </tr> [ROWS_MAIN_TABLE_11] <tr><td colspan=7><b>Всего к оплате:</b></td><td>[SUM_TAX]</td><td>[SUM_FULL]</td></tr> </table> <br /> <img src="[IMG_SIGN]" /></td></tr></table></div></body></html>
//---------- счет-фактуры -------------void CModDocs::showNVoice(int id) { QString txt; QString title = textNVoice(txt, id, false); if(!title.isEmpty()) { CShowDoc *p = new CShowDoc(txt, m_printer, title); p->setDocIdDate(id, QDate()); connect(p, SIGNAL(actDocExcel(int,bool)), this, SLOT(onNVoice(int,bool)) ); m_carcas->addSubWindow(p)->show(); }//if}void CModDocs::xlsNVoice(int id) { QString txt; QString title = textNVoice(txt, id, true); if(!title.isEmpty()) { QString fileName = QFileDialog::getSaveFileName(m_carcas->mainWg(), tr("Сохранение файла"), "c:/" + title + ".xls", "*.xls"); if( fileName.isEmpty() ) return; QFile file(fileName); if(file.open(QIODevice::WriteOnly | QIODevice::Truncate)){ file.write( txt.toUtf8() ); file.close(); }else QMessageBox::critical(m_carcas->mainWg(), tr("Сохранение файла"), tr("Ошибка при сохранении. Не удалось получить доступ к файлу. Возможно файл занят другим приложением.") ); }//if}QString CModDocs::textNVoice(QString & s, int id, bool inExcel) { if(inExcel) s = ":/templates/nvoiceXls.tpl"; else s = ":/templates/nvoice.tpl"; QFile file(s); file.open(QFile::ReadOnly); s = tr(file.readAll()); file.close(); QString sql; //продавец sql = QString("SELECT name, inn, kpp, country, state, zip, addr FROM jos_vm_vendor_info WHERE vendor_id=%1") .arg(m_vendorId); if( !(m_pDb->exec(sql) && m_pDb->next()) ) return ""; s.replace(QString("[VEND_FULL_INFO]"), m_pDb->valStr(0) +tr("<br />Адрес: ")+m_pDb->valStr(3)+", "+m_pDb->valStr(4)+", "+m_pDb->valStr(5)+", "+m_pDb->valStr(6) +tr("<br />ИНН/КПП продавца: ")+m_pDb->valStr(1)+"/"+m_pDb->valStr(2) ); //счет-фактура sql = QString("SELECT nv_numb, nv_date, company, inn, vm_userkpp, country, state, zip, address_1 FROM jos_vm_2t_waybills WHERE waybill_id=%1") .arg(id); if( !(m_pDb->exec(sql) && m_pDb->next()) ) return ""; s.replace(QString("[USER_FULL_INFO]"), m_pDb->valStr(2) +tr("<br />Адрес: ")+m_pDb->valStr(5)+", "+m_pDb->valStr(6)+", "+m_pDb->valStr(7)+", "+m_pDb->valStr(8) +tr("<br />ИНН/КПП покупателя: ")+m_pDb->valStr(3)+"/"+m_pDb->valStr(4) ); QString sNumb = m_pDb->valStr(0); s.replace(QString("[NUMB]"), sNumb ); QDate date = m_pDb->value(1).toDate(); s.replace(QString("[DATE]"), date.toString("dd.MM.yyyy") ); //товары sql = QString("SELECT name, product_sku, unit, quantity, price, tax FROM jos_vm_2t_waybill_items WHERE waybill_id=%1") .arg(id); if( !(m_pDb->exec(sql)) ) return ""; QString sbuf(""); int i=0, quan, summ_quan=0; double fPrice, fTax, fItemPrice, fItemTax, fSummPrice=0, fSummTax=0; while( m_pDb->next()){ i++; fPrice = m_pDb->value(4).toDouble(); fTax = m_pDb->value(5).toDouble(); quan = m_pDb->valInt(3); fItemPrice = fPrice * quan; fItemTax = fPrice * fTax * quan; fSummPrice += fItemPrice; fSummTax += fItemTax; summ_quan += quan; sbuf += QString("<tr><td>%1</td><td>%2</td><td>%L3</td><td>%L4</td><td>%L5</td><td> </td><td>%L6</td><td>%L7</td><td>%L8</td><td> </td><td> </td></tr>") .arg( m_pDb->valStr(0) ).arg( m_pDb->valStr(2) ).arg(quan).arg(fPrice, 0, 'f', 2) .arg(fItemPrice, 0, 'f', 2).arg(fTax*100, 0, 'f', 2).arg(fItemTax, 0, 'f', 2).arg( fItemPrice + fItemTax, 0, 'f', 2 ); } fPrice = fSummPrice + fSummTax; s.replace(QString("[ROWS_MAIN_TABLE_11]"), sbuf ); s.replace(QString("[SUM_TAX]"), tr("%L1").arg(fSummTax, 0, 'f', 2) ); s.replace(QString("[SUM_FULL]"), tr("%L1").arg(fPrice, 0, 'f', 2) ); s.replace(QString("[IMG_SIGN]"), ":/templates/podpis.gif"); return tr("Счет-фактура № %1 от %2").arg(sNumb).arg(date.toString("dd.MM.yyyy"));}// end showNVoice
def mkHtml(template,body,header): txt=template.replace("""#head_pholder#""",u"%s" % header) txt=txt.replace("""#text_pholder#""",u"%s" % body) return txt
document->addResource(QTextDocument::ImageResource, QUrl("mydata://image.png"), QVariant(image));