Пример #1
0
        private void ExportDoc(string nameFileExport)
        {
            exportData = new OfficeExport.ExportData();

            exportData.nameFileTemplate = Application.StartupPath + "\\..\\..\\resources\\docs\\act_debit_template.docx";
            exportData.nameFileExport   = nameFileExport;                               // Application.StartupPath + "\\..\\..\\resources\\docs\\act_debit_number" + ActDebit.act_number + ".docx";
            exportData.tableIndex       = 2;                                            // номер таблицы в доке
            exportData.textToReplace    = new List <string>()
            {
                "[<наименование_организации>]",
                "[<фио_гл_механик>]",
                "[<дата_списания>]",
                "[<номер_акта>]",
                "[<сумма_списания_прописью_рубли>]",
                "[<фио_зам_ген_директор>]",
                "[<фио_нач_отд_закупок>]",
                "[<фио_инженер>]",
                "[<фио_зам_главбух>]"
            };

            string rubles = new MoneyToStr("RUR", "RUS", "NUMBER").convertValue(Convert.ToDouble(ActDebitTotalCost));

            Organization organization = (Organization)comboBox_Organization.SelectedItem;
            string       temp         = "";

            if (organization != null)
            {
                temp = organization.name;
            }

            // тут какие-то текстбоксы видимо с формы
            exportData.textReplaceWith = new List <string>()
            {
                temp,                                                                           // название конторы
                textBox_FIO_MainMechanic.Text,                                                  // фио главного механика
                DateToString.Translate(ActDebit.date, "г."),                                    // дата как «___»________202_г.
                ActDebit.act_number.ToString(),                                                 // номер акта
                rubles,                                                                         // сумма прописью - рубли
                textBox_FIO_DeputyDirector.Text,                                                // фио зам.ген.директора
                textBox_FIO_HeadProcurement.Text,                                               // нач отдела закупок
                textBox_FIO_Engineer.Text,                                                      // инженер
                textBox_FIO_DeputyAccountant.Text                                               // зам главбуха
            };

            // если надо открыть файл после экспорта автоматически
            exportData.openFileExport = checkBox_OpenFileExport.Checked;

            // и самый интересный момент - таблица
            // количество строк с учетом что одна строка по умолчанию есть внутри шаблона
            // какой столбик из datagridview в какой столбик в доке
            // и еще есть столбцы по умолчанию
            exportData.indicesDefaultValues = new List <int>()
            {
                6,                      // код по ОКЕИ ед. измерения
                7,                      // наименование ед. измерения
                8                       // количество
            };
            exportData.valuesDefaultValues = new List <string>()
            {
                "796",                  // код по ОКЕИ ед. измерения
                "шт.",                  // наименование ед. измерения
                "1"                     // количество
            };

            exportData.indicesCustomValues = new List <int>()
            {
                2,                      // цех
                3,                      // группа оборудования
                4,                      // инвентарный номер
                5,                      // наименование оборудования
                9,                      // остаточная стоимость
                10                      // причина списания
            };

            exportData.valuesCustomValues = new List <List <string> >();

            foreach (DataGridViewRow row in dataGridView_Data.Rows)
            {
                string workshop  = row.Cells[1].Value.ToString();
                string group     = row.Cells[2].Value.ToString();
                string inventory = row.Cells[3].Value.ToString();
                string name      = row.Cells[4].Value.ToString();
                string cost      = row.Cells[5].Value.ToString();
                string reason    = row.Cells[6].Value.ToString();

                exportData.valuesCustomValues.Add(
                    new List <string>()
                {
                    workshop,                                   // цех
                    group,                                      // группа оборудования
                    inventory,                                  // инвентарный номер
                    name,                                       // наименование
                    cost,                                       // остаточная стоимость
                    reason                                      // причина списания
                });
            }
        }
Пример #2
0
        private void ExportDoc(string nameFileExport)
        {
            exportData = new OfficeExport.ExportData();

            exportData.nameFileTemplate = Application.StartupPath + "\\..\\..\\resources\\docs\\leasing_contract_template.docx";
            exportData.nameFileExport   = nameFileExport;                   // Application.StartupPath + "\\..\\..\\resources\\docs\\act_debit_number" + ActDebit.act_number + ".docx";
            exportData.tableIndex       = 3;                                // номер таблицы в доке
            exportData.textToReplace    = new List <string>()
            {
                "[<номер_лизинга>]",                                            // 123
                "[<шапка_город>]",                                              // г. Барнаул
                "[<шапка_дата>]",                                               // «1» апрель 2021 г.
                "[<организация_лизингодатель>]",                                // ООО "Хомячки"
                "[<представитель_лизингодатель>]",                              // Хомяков Х.Х.
                "[<организация_мы>]",                                           // ООО "Хомячки2"
                "[<представитель_мы>]",                                         // Хомяков Х.Х.2

                "[<1.3_стоимость_оборудования>]",                               // хз - пропись или цифры
                "[<1.4_дата_поставки_оборудования>]",                           // «1» апрель 2021

                "[<2.2_срок_пользования_оборудованием>]",                       // 5 лет, 11 месяцев
                "[<2.3_дата_окончания_договора>]",                              // «1» апреля 2021 года

                "[<3.1.1_дата_договора>]",                                      // «1» апрель 2021
                "[<3.2.1_пункт_поставки>]",                                     // ну какой-то адрес

                "[<4.1_лизингодатель_расчетный_счет>]",
                "[<4.1_лизингодатель_банк>]",
                "[<4.1_лизингодатель_бик>]",

                "[<4.4_дней_для_первого_платежа>]",                                     // 10

                "[<5.1_пункт_поставки>]",                                               // дублирование п1.4
                "[<5.4_срок_отказа>]",                                                  // 3

                "[<6.1_пеня>]",                                                         // 0,5
                "[<6.1_макс_платеж>]",                                                  // 5
                "[<6.2_неустойка>]",                                                    // хз - пропись или цифры

                "[<7.1_дней_форс_мажора>]",

                "[<9.3_лизингодатель_юр_адрес_и_телефон>]",
                "[<9.3_мы_юр_адрес_и_телефон>]",


                "[<лизингодатель_юр_адрес>]",
                "[<лизингодатель_почт_адрес>]",
                "[<лизингодатель_телефон>]",
                "[<лизингодатель_инн>]",
                "[<лизингодатель_расчет_счет>]",
                "[<лизингодатель_банк>]",
                "[<лизингодатель_корресп_счет>]",
                "[<лизингодатель_бик>]",

                "[<мы_юр_адрес>]",
                "[<мы_почт_адрес>]",
                "[<мы_телефон>]",
                "[<мы_инн>]",
                "[<мы_расчет_счет>]",
                "[<мы_банк>]",
                "[<мы_корресп_счет>]",
                "[<мы_бик>]",

                "[<приложение_номер_договора>]",
                "[<приложение_дата_договора>]",                                         //«1» апрель 2021 года

                "[<приложение_лизингодатель>]",
                "[<приложение_лизингополучат>]"
            };

            string rubles = new MoneyToStr("RUR", "RUS", "NUMBER").convertValue(Convert.ToDouble(LeasingContractTotalCost));

            // тут какие-то текстбоксы видимо с формы
            exportData.textReplaceWith = new List <string>()
            {
                contract.contract_number,
                "г. " + textBox_City.Text,
                DateToString.Translate(contract.date, "г."),
                leaser.name,
                textBox_FIO_Leaser.Text,
                lessee.name,
                textBox_FIO_Lessee.Text,

                rubles,
                DateToString.Translate(contract.date_delivery),

                ConvertYearsMonths.Translate(contract.period_of_use),
                DateToString.Translate(contract.date_end, "года"),

                DateToString.Translate(contract.date),
                contract.address_delivery,

                leaser.payment_account,
                leaser.bank,
                leaser.BIK,

                contract.days_for_first_payment.ToString(),

                contract.address_delivery,
                contract.days_for_report.ToString(),

                contract.penalty.ToString(),
                contract.max_penalty.ToString(),
                contract.penalty_fee.ToString(),

                contract.days_for_force_majeure.ToString(),

                leaser.legal_address + " " + leaser.phone,
                lessee.legal_address + " " + lessee.phone,

                leaser.legal_address,
                leaser.mailing_address,
                leaser.phone,
                leaser.INN,
                leaser.payment_account,
                leaser.bank,
                leaser.correspondent_account,
                leaser.BIK,

                lessee.legal_address,
                lessee.mailing_address,
                lessee.phone,
                lessee.INN,
                lessee.payment_account,
                lessee.bank,
                lessee.correspondent_account,
                lessee.BIK,

                contract.contract_number,
                DateToString.Translate(contract.date, "года"),

                leaser.name + " " + textBox_FIO_Leaser.Text,
                lessee.name + " " + textBox_FIO_Lessee.Text
            };

            // если надо открыть файл после экспорта автоматически
            exportData.openFileExport = checkBox_OpenFileExport.Checked;

            // и самый интересный момент - таблица
            // количество строк с учетом что одна строка по умолчанию есть внутри шаблона
            // какой столбик из datagridview в какой столбик в доке
            // и еще есть столбцы по умолчанию
            exportData.indicesDefaultValues = new List <int>()
            {
                5                       // наименование ед. измерения
            };
            exportData.valuesDefaultValues = new List <string>()
            {
                "шт."                   // наименование ед. измерения
            };

            exportData.indicesCustomValues = new List <int>()
            {
                2,                      // наименование оборудования
                3,                      // стоимость за ед.
                4,                      // кол-во
                6                       // стоимость
            };

            exportData.valuesCustomValues = new List <List <string> >();

            foreach (DataGridViewRow row in dataGridView_Data.Rows)
            {
                string name         = row.Cells[0].Value.ToString();
                string cost_per_one = row.Cells[1].Value.ToString();
                string amount       = row.Cells[2].Value.ToString();
                string cost_per_all = row.Cells[4].Value.ToString();

                exportData.valuesCustomValues.Add(
                    new List <string>()
                {
                    name,
                    cost_per_one,
                    amount,
                    cost_per_all
                });
            }
        }