Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как добавить новую колонку с реквизитом документа в отчете "Книга продаж"? (Украина)

v7: Как добавить новую колонку с реквизитом документа в отчете
Я
   defre315
 
08.01.13 - 13:36
Ребята подскажите пожалуйста......есть некий отчет
В книге продаж указывается номер реестра...
Когда печатаешь эту книгу продаж....нужно что бы номера реестра там тоже были.....подскажите как это осуществить
http://s018.radikal.ru/i516/1301/89/1d6949af852f.jpg
http://s020.radikal.ru/i704/1301/33/708c9ae29acd.jpg

я сдесь новенький, еще толком правил не знаю, можно ли загружать сюда код, на всякий случай скинул


Перем ДатаОтчета;
 //=====================================
 
Функция ДлинаТекПериода()
    Если ТипПериода=1 Тогда
        Возврат 1;
    Иначе
        Возврат 3;
    КонецЕсли;    
КонецФункции 

 //===========================================
 
// Возвращает квартал построения отчета в виде строки
Функция КварталОтчетаСтр()
    Если ТипПериода=1 Тогда
        Дата1 = НачМесяца(ДатаОтчета);
        Дата2 = КонМесяца(ДатаОтчета);
    Иначе
        Дата1 = НачКвартала(ДатаОтчета);
        Дата2 = КонКвартала(ДатаОтчета);
    КонецЕсли;    
    Возврат ПериодСтр(Дата1, Дата2)
КонецФункции

 //===========================================   
 
// Заполняет необходимые значения параметров для XML отчета
 // по итогам 
 
Процедура ЗаполнитьРеквизитыИтоги(спДанные, Ист[])
    Для Н=6 По 23 Цикл
        спДанные.ДобавитьЗначение(Ист[Н], "R01G" + Н);
    КонецЦикла;                    
КонецПроцедуры

 // ===============================                                     
 
// Заполняет необходимые значения параметров для XML отчета
 // по строке
 
Процедура ЗаполнитьРеквизитыСтроки(спДанные, Ст[], НомСтр)
    Для Н=2 По 25 Цикл
        Если (Н > 5) И (Н < 24) Тогда
            спДанные.ДобавитьЗначение(Ст[Н], "R" + Формат(НомСтр, "Ч(0)4") + "G" + Н);
            Ст[Н] = 0;
        ИначеЕсли Н = 3 Тогда
            спДанные.ДобавитьЗначение(Ст[Н], "R" + Формат(НомСтр, "Ч(0)4") + "G" + Н + "D");
        ИначеЕсли Н = 25 Тогда
           // в этой ячейке может быть строка с несколькими датами. Оставляется первая.
 
            Ст[Н] = Дата(Ст[Н]);
            спДанные.ДобавитьЗначение(Ст[Н], "R" + Формат(НомСтр, "Ч(0)4") + "G" + Н + "D");
        Иначе
            спДанные.ДобавитьЗначение(Ст[Н], "R" + Формат(НомСтр, "Ч(0)4") + "G" + Н + "S");
        КонецЕсли;
    КонецЦикла;
     Ст[5] = "";
КонецПроцедуры

 // ===============================                                     
 
// Заполняет необходимые значения параметров для XML отчета
 // по шапке
 
Процедура ЗаполнитьРеквизиты(спДанные)
    Расшифровка = СоздатьОбъект("СписокЗначений");
    спДанные.ДобавитьЗначение(СокрЛП(глАдресСтрокой(Фирма.ЮридическийАдрес)), "HLOC")//Адрес  
 
    НалоговаяИнспекция = Фирма.НалоговаяИнспекция;    
    Если ПустоеЗначение(НалоговаяИнспекция) = 0 Тогда
        спДанные.ДобавитьЗначение(СокрЛП(НалоговаяИнспекция.КодАдмРайона),          "C_RAJ"); //Код административного района инспекции
 
        спДанные.ДобавитьЗначение(СокрЛП(НалоговаяИнспекция.НаименованиеАдмРайона), "R00G15S")//Наименование админ района 
 
        спДанные.ДобавитьЗначение(СокрЛП(НалоговаяИнспекция.Родитель.Код),          "C_REG"); //Код области инспекции 
 
        спДанные.ДобавитьЗначение(СокрЛП(НалоговаяИнспекция.Код),                   "C_STI"); //Код  инспекции 
 
    КонецЕсли;
    спДанные.ДобавитьЗначение(СокрЛП(Фирма.НомерСвидетельства), "HNSPDV")//Номер свидетельства плательщика НДС
 
    спДанные.ДобавитьЗначение(СокрЛП(Фирма.ПолнНаименование),   "HNAME");//Полное наименование
 
    спДанные.ДобавитьЗначение(СокрЛП(Фирма.ИНН),                "HTIN"); //Индивидуальный налоговый номер
 
    спДанные.ДобавитьЗначение(СокрЛП(Фирма.ЕДРПОУ),             "TIN");  // ЕДРПОУ для Юр. лиц 
 
                                                                         // или индентификационный номер
 
                                                                         // по ДРФО для Физ. лиц
 
    ГодОтчета = ДатаГод(ДатаОтчета);
    спДанные.ДобавитьЗначение(ГодОтчета, "PERIOD_YEAR")// Год отчета
 
    спДанные.ДобавитьЗначение(ГодОтчета, "HZY");       // Год отчета
 
    Если ТипПериода = 1 Тогда
        МесяцОтчета = ДатаМесяц(ДатаОтчета);
        спДанные.ДобавитьЗначение(МесяцОтчета, "PERIOD_MONTH")//Месяц отчета
 
        спДанные.ДобавитьЗначение(МесяцОтчета, "HZM");        // Месяц отчета
 
    Иначе
        МесяцОтчета = ДатаМесяц(КонКвартала(ДатаОтчета));
        спДанные.ДобавитьЗначение(МесяцОтчета/3, "HZKV");       // Квартал отчета
 
        спДанные.ДобавитьЗначение(МесяцОтчета,   "PERIOD_MONTH")//Месяц отчета
 
    КонецЕсли;
    спДанные.ДобавитьЗначение(Начато,      "H01G01D");    //Начато
 
    спДанные.ДобавитьЗначение(Окончено,    "H02G01D");    //Закончено
 
    спДанные.ДобавитьЗначение(Сохранять,   "H03G01S");    //Сохранять
 
    спДанные.ДобавитьЗначение(ГодОтчета,   "H01G02I");    //Год
 
    спДанные.ДобавитьЗначение(Номер,       "H02G02S");    //Номер
 
    спДанные.ДобавитьЗначение(КвоСтраниц,  "H03G02I");    //Количество страниц
 
    
    
    спДанные.ДобавитьЗначение(0, "C_DOC_TYPE")//номер исправленного доекумента.
 
                                              //Для первого подающегося документа  = 0   
 
    спДанные.ДобавитьЗначение(1, "C_DOC_CNT");//номер документа в периоде. 
 

КонецПроцедуры

 // ===============================
 
// Назначение: определяет признак розничной продажи конечному потребителю
 // Аргументы:    КонечныйПотребитель -  признак продажи в розницу конечному потребителю из документа
 
//                Док - документ продажи в розницу
 // Возвращает:     1 - продажа конечному потребителю
 
//                0 - продажа не конечному потрбителю
Функция ЭтоКонечныйПотребитель(КонечныйПотребитель,Док)
    Если (ПустоеЗначение(КонечныйПотребитель) = 1) 
    И (Док.Вид() = "ОтчетКА") Тогда
        Возврат 1;
    Иначе
        Возврат КонечныйПотребитель;
    КонецЕсли;    
КонецФункции//ЭтоКонечныйПотребитель
 

 // ===============================
 
// ПРОЦЕДУРЫ И ФУНКЦИИ, ВЫЗЫВАЕМЫЕ ИЗ ФОРМУЛ ЭЛЕМЕНТОВ ДИАЛОГА
 // ===============================
 

 // ===============================
 
Процедура Сформировать(Экспортировать = 0, спДанные = "")
    Перем НДС_20, НДС_0, НДС_безНДС, Ст[25], Ист[23];
    
    Если глПроверкаИнтервалаОтчета(Дата1,Дата2,1) = 0 Тогда
        Возврат;
    КонецЕсли;
    
    Если глПолучитьНиО(НДС_20,"НДС20","о ставке НДС 20%") = 0 Тогда
        Возврат;
    КонецЕсли;
    
    Если глПолучитьНиО(НДС_0,"НДС0","о ставке НДС 0%") = 0 Тогда
        Возврат;
    КонецЕсли;
    
    Если глПолучитьНиО(НДС_безНДС,"БезНДС","о ставке НДС ""Без НДС""") = 0 Тогда
        Возврат;
    КонецЕсли; 
    
    ИспользоватьВозвратНДСВРознице = Константа.ИспользоватьВозвратНДСВРознице.Получить(Дата1);
    ПерКонст = СоздатьОбъект("Периодический");
    ПерКонст.ИспользоватьОбъект("ИспользоватьВозвратНДСВРознице");
    ПерКонст.ВыбратьЗначения(Дата1,Дата2);
    Пока ПерКонст.ПолучитьЗначение() = 1 Цикл
        Если ИспользоватьВозвратНДСВРознице <> ПерКонст.Значение Тогда
            глКомментарий("В течение выбранного периода изменялось значение константы ""Использовать коррекцию НДС при возврате в рознице""! Используется значение на начло периода",0,,"!");
            Прервать;
        КонецЕсли;    
    КонецЦикла;
    
    ТекстЗапр =     "//{{ЗАПРОС(Запр)
 
        |Период с Дата1 по Дата2;
        |ОбрабатыватьДокументы Проведенные;

        |Дат             = Документ.НалоговаяНакладная.ТекущийДокумент.ДатаДок,    Документ.Приложение2.ТекущийДокумент.ДатаДок;
        |НН             = Документ.НалоговаяНакладная.ТекущийДокумент,            Документ.Приложение2.ТекущийДокумент;
        |Фрм             = Документ.НалоговаяНакладная.Фирма,                    Документ.Приложение2.Фирма;
        |ВидНДС         = Документ.НалоговаяНакладная.ВидНДС,                    Документ.Приложение2.ВидНДС;
        |Контрагент     = Документ.НалоговаяНакладная.Контрагент,                Документ.Приложение2.Контрагент;
    
        |БезНДС            = Документ.НалоговаяНакладная.БазаНДС;
        |НДС_             = Документ.НалоговаяНакладная.СуммаНДС;
    
        |ИзмСумБезНДС     = Документ.Приложение2.ИзмБазыНДС;
        |ИзмНДС_         = Документ.Приложение2.ИзмСуммыНДС;
    
        |Условие (Фрм=Фирма);
        |Функция СуммаБезНДС         = Сумма(БезНДС);
        |Функция НДС                 = Сумма(НДС_);
        |Функция СуммаСНДС             = Сумма(БезНДС + НДС_); 
        |Функция ИзмСуммыБезНДС     = Сумма(ИзмСумБезНДС);
        |Функция ИзмНДС             = Сумма(ИзмНДС_);
        |Группировка Дат;
        |Группировка НН;
        |//}}ЗАПРОС
 
        ;
    
    Запр = СоздатьОбъект("Запрос");
    Если Запр.Выполнить(ТекстЗапр) = 0 Тогда
        Предупреждение("Не выполнился запрос по налоговым накладным!");
        Возврат;
    КонецЕсли;                                  
           
    Предоплата = Перечисление.ВидыТорговли.Предоплата;
    
    РознТорг = СоздатьОбъект("Запрос");
    ТекстЗапр =     "//{{ЗАПРОС(РознТорг)
 
        |Период с Дата1 по Дата2;
        |ОбрабатыватьДокументы Проведенные; 

        |Док                 = Документ.РасходнаяРозничная.ТекущийДокумент,            Документ.ОтчетКА.ТекущийДокумент,         Документ.ВозвратРозница.ТекущийДокумент;
        |Дат                 = Документ.РасходнаяРозничная.ТекущийДокумент.ДатаДок, Документ.ОтчетКА.ТекущийДокумент.ДатаДок, Документ.ВозвратРозница.ДатаДок;
        |Фрм                 = Документ.РасходнаяРозничная.Фирма,                    Документ.ОтчетКА.Фирма,                   Документ.ВозвратРозница.Фирма;
        |Скидка                = Документ.РасходнаяРозничная.Скидка, Документ.ВозвратРозница.Скидка;
        
        |КонечныйПотребитель= Документ.РасходнаяРозничная.КонечныйПотребитель, Документ.ВозвратРозница.КонечныйПотребитель;
        |ВидТорговли        = Документ.РасходнаяРозничная.ВидТорговли,         Документ.ВозвратРозница.ВидТорговли;    

        |ДокБазаНДС_БезНДС    = Документ.РасходнаяРозничная.БазаНДС1, Документ.ОтчетКА.БазаНДС1, Документ.ВозвратРозница.БазаНДС1;
        |ДокБазаНДС_0        = Документ.РасходнаяРозничная.БазаНДС2, Документ.ОтчетКА.БазаНДС2, Документ.ВозвратРозница.БазаНДС2;
        |ДокБазаНДС_20        = Документ.РасходнаяРозничная.БазаНДС3, Документ.ОтчетКА.БазаНДС3, Документ.ВозвратРозница.БазаНДС3;

        |ДокНДС_БезНДС        = Документ.РасходнаяРозничная.НДС1, Документ.ОтчетКА.НДС1, Документ.ВозвратРозница.НДС1;
        |ДокНДС_0            = Документ.РасходнаяРозничная.НДС2,    Документ.ОтчетКА.НДС2, Документ.ВозвратРозница.НДС2;
        |ДокНДС_20            = Документ.РасходнаяРозничная.НДС3,    Документ.ОтчетКА.НДС3, Документ.ВозвратРозница.НДС3;

        |Функция БазаНДС_БезНДСВсего = Сумма(ДокБазаНДС_БезНДС);
        |Функция БазаНДС_0Всего      = Сумма(ДокБазаНДС_0);
        |Функция БазаНДС_20Всего       = Сумма(ДокБазаНДС_20);

        |Функция НДС_БезНДСВсего     = Сумма(ДокНДС_БезНДС);
        |Функция НДС_0Всего         = Сумма(ДокНДС_0);
        |Функция НДС_20Всего         = Сумма(ДокНДС_20);

        |Функция БазаНДС_БезНДС     = Сумма(ДокБазаНДС_БезНДС)     Когда (ЭтоКонечныйПотребитель(КонечныйПотребитель,Док) = 1);
        |Функция БазаНДС_0             = Сумма(ДокБазаНДС_0)         Когда (ЭтоКонечныйПотребитель(КонечныйПотребитель,Док) = 1);
        |Функция БазаНДС_20         = Сумма(ДокБазаНДС_20)         Когда (ЭтоКонечныйПотребитель(КонечныйПотребитель,Док) = 1);

        |Функция НДС_БезНДС         = Сумма(ДокНДС_БезНДС)     Когда (ЭтоКонечныйПотребитель(КонечныйПотребитель,Док) = 1);
        |Функция НДС_0                 = Сумма(ДокНДС_0)         Когда (ЭтоКонечныйПотребитель(КонечныйПотребитель,Док) = 1);
        |Функция НДС_20             = Сумма(ДокНДС_20)         Когда (ЭтоКонечныйПотребитель(КонечныйПотребитель,Док) = 1);
        
        |Группировка Дат;
        |Группировка Док;
        
        |Условие(Фрм = Фирма); 
        |Условие(ВидТорговли <> Предоплата);
        |//}}ЗАПРОС
 
        ;         
        
    Если РознТорг.Выполнить(ТекстЗапр)=0 Тогда
        Предупреждение("Не выполнился запрос по розничным накладным!");
        Возврат;
    КонецЕсли;
    
    глУстПропись(Гривня, "у");
    
    Для Н = 6 По 23 Цикл
        Ист[Н] = 0;
    КонецЦикла;                    
                              
    Фирма.ИспользоватьДату(КонМесяца(ДатаОтчета));
    Если Экспортировать = 0 Тогда
        Таб = СоздатьОбъект("Таблица");
        НачатоПеч = ?(ПустоеЗначение(Начато) = 0, Формат(Начато,"ДДДММММГГГГ"), ""); 
        ОконченоПеч = ?(ПустоеЗначение(Окончено) = 0, Формат(Окончено,"ДДДММММГГГГ"), ""); 
        Таб.ВывестиСекцию("Шапка");
        Таб.ИспользоватьФормат("Ч012.2");
    КонецЕсли;
    
    Ном = 1;
    ДатаВЗапросе = Дата1;
    Пока ДатаВЗапросе <= Дата2 Цикл
        
        
        Запр.вНачалоВыборки();
        Если Запр.Получить(ДатаВЗапросе,)=1 Тогда                                         
            Пока Запр.Группировка("НН") = 1 Цикл
                
                Ст[1] = Ном;
                
                Ст[3] = Запр.НН.ДатаДок;
                Ст[4] = Запр.Контрагент.ПолнНаименование;
                Ст[5] = Запр.Контрагент.ИНН;
                Для Н=6 По 23 Цикл
                    Ст[Н] = 0;    
                КонецЦикла;
                Ст[24] = ""; Ст[25] = "";
                
                Если Запр.НН.Вид()="НалоговаяНакладная" Тогда
                    
                    Ст[2] = глНомерБезПрефикса(Запр.НН.НомерДок);
                    
                    СуммаСНДС_грн         = Окр(Запр.СуммаСНДС,2);
                    СуммаБезНДС_грн     = Окр(Запр.СуммаБезНДС,2); 
                    НДС_грн             = Окр(Запр.НДС,2); 
                    
                    Ст[6] = СуммаСНДС_грн;
                    Ист[6] = Ист[6]+СуммаСНДС_грн;
                    Если Запр.ВидНДС = НДС_БезНДС Тогда
                        Если Сокрлп(Запр.Контрагент.ИНН) = "" Тогда
                           // не плательщик
 
                            Ст[12] = СуммаБезНДС_грн;
                            Ист[12] = Ист[12]+СуммаБезНДС_грн;
                        Иначе
                            Ст[9] = СуммаБезНДС_грн;
                            Ист[9] = Ист[9]+СуммаБезНДС_грн;
                        КонецЕсли;
                        Ст[7] = СуммаБезНДС_грн;
                        Ист[7] = Ист[7]+СуммаБезНДС_грн;
                    ИначеЕсли Запр.ВидНДС = НДС_0 Тогда
                        Если Сокрлп(Запр.Контрагент.ИНН) <> "" Тогда
                            Ст[8] = СуммаБезНДС_грн;
                            Ист[8] = Ист[8]+СуммаБезНДС_грн;
                        Иначе
                            Если Запр.НН.Валюта = Гривня Тогда
                                Ст[11] = СуммаБезНДС_грн;
                                Ист[11] = Ист[11]+СуммаБезНДС_грн;
                            Иначе
                                Ст[14] = СуммаБезНДС_грн;
                                Ист[14] = Ист[14]+СуммаБезНДС_грн;
                            КонецЕсли;
                        КонецЕсли;
                        Ст[7] = СуммаБезНДС_грн;
                        Ист[7] = Ист[7]+СуммаБезНДС_грн;
                    Иначе
                       // с НДС
 
                        Если Сокрлп(Запр.Контрагент.ИНН) = "" Тогда
                           // не плательщик
 
                            Ст[18] = СуммаБезНДС_грн;
                            Ст[19] = НДС_грн;
                            Ст[15] = СуммаБезНДС_грн+НДС_грн;
                            Ист[18] = Ист[18]+Окр(СуммаБезНДС_грн,2);
                            Ист[19] = Ист[19]+Окр(НДС_грн,2);
                            Ист[15] = Ист[15]+Окр(СуммаБезНДС_грн+НДС_грн,2);
                        Иначе
                            Ст[16] = СуммаБезНДС_грн;
                            Ст[17] = НДС_грн;
                            Ст[15] = СуммаБезНДС_грн+НДС_грн;  
                            Ист[16] = Ист[16]+Окр(СуммаБезНДС_грн,2);
                            Ист[17] = Ист[17]+Окр(НДС_грн,2);
                            Ист[15] = Ист[15]+Окр(СуммаБезНДС_грн+НДС_грн,2);
                        КонецЕсли;
                    КонецЕсли;
                    Ст[24] = Запр.НН.ФормаРасчетов;
                    ДокОснование = Запр.НН.ДокументОснование;    
                    ДокОснование = ?(ПустоеЗначение(ДокОснование) = 0, ДокОснование, Запр.НН.Договор);
                ИначеЕсли Запр.НН.Вид()="Приложение2" Тогда
                   // расчет корректировки Приложение 2
 
                    Ст[2] = "" + глНомерБезПрефикса(Запр.НН.НомерДок) + "/" + глНомерБезПрефикса(Запр.НН.НалоговаяНакладная.НомерДок);

                    ИзмСуммыБезНДС_грн  = Окр(Запр.ИзмСуммыБезНДС,2);
                    ИзмНДС_грн            = Окр(Запр.ИзмНДС,2);
                    Если Запр.ВидНДС = НДС_20 Тогда
                       // с НДС
 
                        Ст[20]  = ИзмСуммыБезНДС_грн;
                        Ст[21]  = ИзмНДС_грн;
                        Ист[20] = Ист[20] + ИзмСуммыБезНДС_грн;
                        Ист[21] = Ист[21] + Окр(ИзмНДС_грн,2);
                    ИначеЕсли Запр.ВидНДС = НДС_0 Тогда
                        Ст[22]  = ИзмСуммыБезНДС_грн;
                        Ист[22] = Ист[22] + ИзмСуммыБезНДС_грн;
                    Иначе
                        Ст[23]  = ИзмСуммыБезНДС_грн;
                        Ист[23] = Ист[23] + ИзмСуммыБезНДС_грн;
                    КонецЕсли;
                    Ст[24] = Запр.НН.ФормаРасчетов;
                    ДокОснование = Запр.НН.НалоговаяНакладная.ДокументОснование;
                    ДокОснование = ?(ПустоеЗначение(ДокОснование) = 0, ДокОснование, Запр.НН.НалоговаяНакладная.Договор);
                КонецЕсли;
                
               // определим дату оплаты
 
                Ст[25] = "";  
                Если ДокОснование.Выбран()=1 Тогда 
                    Если (Запр.НН.Вид() = "НалоговаяНакладная") Тогда
                        Если глЕстьРеквизитШапки("ВидТорговли",ДокОснование.Вид())=Да Тогда
                            Если (ДокОснование.ВидТорговли = Перечисление.ВидыТорговли.Нал) и
                                (Запр.НН.РодительскийДокумент.Выбран() = 1) Тогда
                                    ДатаДок = Запр.НН.РодительскийДокумент.ДатаДок;
                                    Ст[25]= Строка(ДатаДок);
                            КонецЕсли;
                        КонецЕсли;
                    КонецЕсли;
                    
                    Если (ДокОснование.Вид() = "БанковскаяВыписка") или (ДокОснование.Вид() = "ПриходныйКассовый") или (ДокОснование.Вид() = "РасходныйКассовый") Тогда
                       // налоговый документ выписан на основании БВ, ПКО, РКО без указания документа-основания
 
                        Ст[25] = Строка(ДокОснование.ДатаДок);
                    КонецЕсли;
                    
                    Если ПустоеЗначение(Ст[25]) = 1 Тогда
                        
                        Попытка
                            ОснованиеДокОснования = ДокОснование.ДокументОснование;
                        Исключение 
                        КонецПопытки;
                        
                        Если ПустоеЗначение(ОснованиеДокОснования)=0 Тогда
                            Если ОснованиеДокОснования.Вид() = "Счет" Тогда
                               // основание - счет-фактура
 
                                ДокОснование = ОснованиеДокОснования;
                            КонецЕсли;
                        КонецЕсли;
                        
                        СписокДат = СоздатьОбъект("СписокЗначений");
                        СтрокаДат = "";
                        Док = СоздатьОбъект("Документ");            
                        Док.ОбратныйПорядок(1); 
                        Док.ВыбратьПодчиненныеДокументы(,Дата2,ДокОснование);
                        Пока (Док.ПолучитьДокумент() = 1) и (СписокДат.РазмерСписка() < 3) Цикл
                            Если (Док.Вид() = "БанковскаяВыписка") или (Док.Вид() = "ПриходныйКассовый") Тогда
                                ДатаДок = Док.ДатаДок;
                                Если СписокДат.Принадлежит(ДатаДок) = 0 Тогда
                                    СписокДат.ДобавитьЗначение(ДатаДок);
                                КонецЕсли;
                            КонецЕсли;
                        КонецЦикла;         
                        СписокДат.Сортировать(1);
                        Если СписокДат.РазмерСписка() = 3 Тогда
                            СписокДат.УдалитьЗначение(3);
                            СтрокаДат = СписокДат.ВСтрокуСРазделителями()+" ...";
                        Иначе
                            СтрокаДат = СписокДат.ВСтрокуСРазделителями();
                        КонецЕсли;
                        Ст[25] = СтрЗаменить(СтрокаДат,"""","");
                        
                    КонецЕсли;
                КонецЕсли;
                
                Если Экспортировать = 1 Тогда
                    ЗаполнитьРеквизитыСтроки(спДанные, Ст, Ном);
                Иначе// Экспортировать = 0 
 
                    Таб.ВывестиСекцию("Строка");
                КонецЕсли;
                
                Ном = Ном+1;
            КонецЦикла;
        КонецЕсли;
        
        Если (Экспортировать = 1) И (Ном > 9999) Тогда
           // Больше 9999 экспортировать нельзя
 
            Экспортировать = 2;
            Возврат
        КонецЕсли;
        
        НДС             = 0; 
        База20             = 0; 
        База0             = 0; 
        БазаБезНДС         = 0;          
        База20Всего     = 0;
        База0Всего        = 0;
        БазаБезНДСВсего    = 0;
        НДСВсего         = 0;
        РознТорг.вНачалоВыборки();
        Если РознТорг.Получить(ДатаВЗапросе,)=1 Тогда
            Если Экспортировать = 1 Тогда
                Ст[2] = "Х"; Ст[3] = РознТорг.Дат; Ст[4] = "кiнцеве споживання"; Ст[5] = "";
                Для Н=6 По 23 Цикл
                    Ст[Н] = 0;    
                КонецЦикла;
                Ст[24] = "готiвка";
                спДанные.ДобавитьЗначение(Ст[3], "R" + Формат(Ном, "Ч(0)4") + "G25D");
            КонецЕсли;              
            Пока РознТорг.Группировка("Док") = 1 Цикл
                Док = РознТорг.Док;
                Зн = 1;
                Если ПустоеЗначение(Док) = 0 Тогда
                    Если Док.Вид() = "ВозвратРозница" Тогда
                        Если ИспользоватьВозвратНДСВРознице = Нет Тогда
                            Продолжить
                        КонецЕсли;
                        Зн = -1;
                    КонецЕсли;
                КонецЕсли;
                
                База20         = База20         + Зн * РознТорг.БазаНДС_20;
                База0         = База0         + Зн * РознТорг.БазаНДС_0;
                БазаБезНДС     = БазаБезНДС     + Зн * РознТорг.БазаНДС_БезНДС;

                НДС = НДС     + Зн * РознТорг.НДС_20;
                НДС = НДС     + Зн * РознТорг.НДС_0;
                НДС = НДС     + Зн * РознТорг.НДС_БезНДС;
                
                База20Всего     = База20Всего         + Зн * РознТорг.БазаНДС_20Всего;
                База0Всего        = База0Всего         + Зн * РознТорг.БазаНДС_0Всего;
                БазаБезНДСВсего    = БазаБезНДСВсего    + Зн * РознТорг.БазаНДС_БезНДСВсего;

                НДСВсего     = НДСВсего    + Зн * РознТорг.НДС_20Всего;
                НДСВсего    = НДСВсего    + Зн * РознТорг.НДС_0Всего;
                НДСВсего    = НДСВсего    + Зн * РознТорг.НДС_БезНДСВсего;

                Если ПустоеЗначение(РознТорг.Скидка) = 0 Тогда
                    КоэфНДС          = 0;
                    текКоэф0       = 0;
                    текКоэфБезНДС = 0;
                    текКоэф20      = 0;
                   // откорректируем базы НДС с учетом скидки
 
                    текБазаНДС = РознТорг.БазаНДС_20+РознТорг.БазаНДС_0+РознТорг.БазаНДС_БезНДС;
                    текНДС     = РознТорг.НДС_20 + РознТорг.НДС_0 + РознТорг.НДС_БезНДС;
                   // расчитаем коэф. НДС для текущего документа
 
                    Если ПустоеЗначение(НДС) = 0 Тогда
                        КоэфНДС = ?(ПустоеЗначение(текБазаНДС)=1,0, Зн * текНДС/текБазаНДС);
                    КонецЕсли;
                   // изменим сумму НДС с учетом скидки
 
                    НДС    = НДС - РознТорг.Скидка*КоэфНДС;
                   // изменим базы НДС с учетом скидки                                                                       
 
                    Если ПустоеЗначение(РознТорг.БазаНДС_0) = 0 Тогда
                        текКоэф0 = ?(ПустоеЗначение(текБазаНДС)=1,0,Зн * РознТорг.БазаНДС_0/текБазаНДС);
                    КонецЕсли;
                    База0 = База0 - РознТорг.Скидка*текКоэф0;                                                             
                    Если ПустоеЗначение(РознТорг.БазаНДС_БезНДС) = 0 Тогда
                        текКоэфБезНДС = ?(ПустоеЗначение(текБазаНДС)=1,0,Зн * РознТорг.БазаНДС_БезНДС/текБазаНДС);
                    КонецЕсли;
                    БазаБезНДС = БазаБезНДС - РознТорг.Скидка*текКоэфБезНДС;
                    Если ПустоеЗначение(РознТорг.БазаНДС_20) = 0 Тогда
                        текКоэф20 = ?(ПустоеЗначение(текБазаНДС)=1,0,Зн * РознТорг.БазаНДС_20/текБазаНДС);
                    КонецЕсли;
                    База20 = База20 - РознТорг.Скидка*текКоэф20;
                   // откорректируем базы НДС всего с учетом скидки
 
                    КоэфНДС          = 0;
                    текКоэф0       = 0;
                    текКоэфБезНДС = 0;
                    текКоэф20      = 0;
                   // откорректируем базы НДС с учетом скидки
 
                    текБазаНДСВсего = РознТорг.БазаНДС_20Всего+РознТорг.БазаНДС_0Всего+РознТорг.БазаНДС_БезНДСВсего;
                    текНДСВсего     = РознТорг.НДС_20Всего + РознТорг.НДС_0Всего + РознТорг.НДС_БезНДСВсего;
                   // расчитаем коэф. НДС для текущего документа
 
                    Если ПустоеЗначение(НДСВсего) = 0 Тогда
                        КоэфНДС = ?(ПустоеЗначение(текБазаНДСВсего)=1,0,Зн * текНДСВсего/текБазаНДСВсего);
                    КонецЕсли;
                   // изменим сумму НДС с учетом скидки
 
                    НДСВсего = НДСВсего - РознТорг.Скидка*КоэфНДС;
                   // изменим базы НДС с учетом скидки                                                                       
 
                    Если ПустоеЗначение(РознТорг.БазаНДС_0Всего) = 0 Тогда
                        текКоэф0 = ?(ПустоеЗначение(текБазаНДСВсего)=1,0,Зн * РознТорг.БазаНДС_0Всего/текБазаНДСВсего);
                    КонецЕсли;
                    База0Всего = База0Всего - РознТорг.Скидка*текКоэф0;                                                             
                    Если ПустоеЗначение(РознТорг.БазаНДС_БезНДСВсего) = 0 Тогда
                        текКоэфБезНДС = ?(ПустоеЗначение(текБазаНДСВсего)=1,0,Зн * РознТорг.БазаНДС_БезНДС/текБазаНДСВсего);
                    КонецЕсли;
                    БазаБезНДСВсего = БазаБезНДСВсего - РознТорг.Скидка*текКоэфБезНДС;
                    Если ПустоеЗначение(РознТорг.БазаНДС_20Всего) = 0 Тогда
                        текКоэф20 = ?(ПустоеЗначение(текБазаНДСВсего)=1,0,Зн * РознТорг.БазаНДС_20Всего/текБазаНДСВсего);
                    КонецЕсли;
                    База20Всего = База20Всего - РознТорг.Скидка*текКоэф20;
                КонецЕсли;                
            КонецЦикла;
            База20        = База20      - НДС;
       
 
 
   1Сергей
 
1 - 08.01.13 - 13:38
даже шутить лень
   КонецЦикла
 
2 - 08.01.13 - 13:40
(0) Иди на фриланс
   defre315
 
3 - 08.01.13 - 13:41
я просто думал что может вы сможете как то помочь
   Patrio_O_Muerte
 
4 - 08.01.13 - 13:42
Что такое номер реестра?
   Patrio_O_Muerte
 
5 - 08.01.13 - 13:43
Реквизит документа? Или что-то еще?
   rphosts
 
6 - 08.01.13 - 13:43
(3) подсказать может кто и сможет, а вот сделать за тебя нахалявку - ну тут таких вряд-ли найдёшь.
   rphosts
 
7 - 08.01.13 - 13:44
(5) судя по журнали реквизит шапки
   Patrio_O_Muerte
 
8 - 08.01.13 - 13:44
И куда именно ты хочешь воткнуть его в таблицу? В новую колонку или добавить в всуществующую?
   2012_12_17
 
9 - 08.01.13 - 13:44
(0) можно я тоже глобальник выложу ? прикола ради для?
   defre315
 
10 - 08.01.13 - 13:44
Регистрационный номер в документе
http://s003.radikal.ru/i202/1301/23/efab0d9aa205.png
 
 Рекламное место пустует
   defre315
 
11 - 08.01.13 - 13:45
в новую.....просто я не знаю как это прописать правильно
   Patrio_O_Muerte
 
12 - 08.01.13 - 13:46
(10)Не сильно помогло.
Допустим (7) прав.
Тогда...
   Patrio_O_Muerte
 
13 - 08.01.13 - 13:47
Первое - найди как называется этот реквизит в конфигураторе.
   Blade Runner
 
14 - 08.01.13 - 13:47
(11) а кем работаешь, ты админ? нужно нанять на 1 час нанять специалиста. или у тебя правда тот случай, когда яхта в тихом океане и нужно самому себе зашивать руку?
почему мне никто машину не помоет среди участников гонок, они ж могут :(
   Patrio_O_Muerte
 
15 - 08.01.13 - 13:48
Второе - с секциями таблиц умеешь работать в конфигураторе?
   КонецЦикла
 
16 - 08.01.13 - 13:49
Скидывай id b пароль на тимвьюер и сколько готов заплатить, может кто-то быстренько сваяет
   Mikeware
 
17 - 08.01.13 - 13:50
(9) не надо. ты уже в пятничной веке автопортреты выкладывал....
   defre315
 
18 - 08.01.13 - 13:59
1) нвшёл, он находится в документах НалоговаяНакладная. идентификатор НомерПР
его нужно в табличной части искать?
2)умею
   palpetrovich
 
19 - 08.01.13 - 13:59
выложил-бы отчетик в файлообменник, гляжишь, кто-то и помог-бы ...ну и точное название реквизита
   defre315
 
20 - 08.01.13 - 14:01
а в каком формате нужно выложить отчет? в exel?
   Patrio_O_Muerte
 
21 - 08.01.13 - 14:02
нет, ert
   BlackSeaCat
 
22 - 08.01.13 - 14:03
Почему ни разу не видел веток типа: "Бизнесмены, нужны ваши деньги"?

Наверное, это такое следствие из теоремы Тот'а; "1Сники на 1/2 проститутки: делают то же самое, но без денег!"
   Patrio_O_Muerte
 
23 - 08.01.13 - 14:03
Если это внещний отчет - он ert.
Если в составе конфигурации, то жми правой кнопкой и выбирай "сохранить как внешний отчет" (что-то типа такого) и выкладывай получившийся отчет.
   palpetrovich
 
24 - 08.01.13 - 14:06
(22) просто бывают моиенты когла нечего делать...
   Patrio_O_Muerte
 
25 - 08.01.13 - 14:10
Ну так будешь отчет выкладывать или будем удаленко-дистанционко?
   Blade Runner
 
26 - 08.01.13 - 14:11
(24) а кто спорит, конечно бывает!
звонишь по рации в больницу с яхты и сам зашиваешь руку. это ж просто, если расскажет доктор и покажет по видео - там нечего делать! :)
   defre315
 
27 - 08.01.13 - 14:12
вот выложил
http://files.mail.ru/C1LCNK
   1Сергей
 
28 - 08.01.13 - 14:12
   FN
 
29 - 08.01.13 - 14:13
(0) судя по внешнему виду - это отчет "Реесстр налоговых накладных", форма и состав которого определены законодательно. Ты уверен, что хочешь туда что-то добавлять? А бухи об этом знают?
   palpetrovich
 
30 - 08.01.13 - 14:17
(0) НомерПР в приложении2 тоже есть?
   Blade Runner
 
31 - 08.01.13 - 14:18
(29) да кого это волнует, ну поломает он 1С, ну потратит специалист время на восстановление. зато быстро сегодня сделает для бухов то что хотят и 40 баксов на специалиста - они ж не лишние :)
   defre315
 
32 - 08.01.13 - 14:22
я начал изучать 1с
я и мне дали для практики это задание.....но я просто не знаю как правильно это осуществить(сделать)
   Mikeware
 
33 - 08.01.13 - 14:23
(32) обучение денег стоит...
 
 
   defre315
 
34 - 08.01.13 - 14:26
я все это прекрасно понимаю....ваш юмор и ваше недавольство....просто я думал что может комуто здесь 1с это как семечки щелкать(знающий специалист)....и сможет помочь....мне кажется для этого и создаются форумы
   КонецЦикла
 
35 - 08.01.13 - 14:27
(34) Сходи покури, потом еще раз открой свой пост в (0) и представь что видишь его в первый раз, захочется щелкать?
   defre315
 
36 - 08.01.13 - 14:29
если бы я зашибись все знал....и время было свободное,то пощёлкал
   Mikeware
 
37 - 08.01.13 - 14:30
(34)(36) ну помоги кому-нибудь деньгами... тебе и помогут...
   defre315
 
38 - 08.01.13 - 14:32
если тут нужны только деньги...ладно....я и заплотить готов.....все что мне нужно это ваша помощь
   palpetrovich
 
39 - 08.01.13 - 14:35
(38) на (30) ответ будет? ...и НомерПР - это число?
   defre315
 
40 - 08.01.13 - 14:37
да номерпр это число
   defre315
 
41 - 08.01.13 - 14:51
можете помочь или нет?
   Patrio_O_Muerte
 
42 - 08.01.13 - 14:54
//files.mail.ru/4VHQ74
   Patrio_O_Muerte
 
43 - 08.01.13 - 14:54
Проверь, если будут ошибки пиши
   Lionee
 
44 - 08.01.13 - 14:54
(38) перечисли в (28)  тогда помогут
   palpetrovich
 
45 - 08.01.13 - 15:01
(43) будут при экспорте ;)
   Patrio_O_Muerte
 
46 - 08.01.13 - 15:02
Почему эо?
   Patrio_O_Muerte
 
47 - 08.01.13 - 15:02
это
   Patrio_O_Muerte
 
48 - 08.01.13 - 15:03
Я в самом начале определил эту переменную
   Patrio_O_Muerte
 
49 - 08.01.13 - 15:03
Перем НомерРеестраР;
 
 Рекламное место пустует
   defre315
 
50 - 08.01.13 - 15:09
Patrio_O_Muerte Огромное тебе спасибо все отлично работает...скинь кошелёк....я переведу деньги.....огромное спасибо
   palpetrovich
 
51 - 08.01.13 - 15:11
(46) смотри Процедура ЗаполнитьРеквизитыСтроки(спДанные, Ст[], НомСтр)
   Patrio_O_Muerte
 
52 - 08.01.13 - 15:11
(50)Ерундой не занимайся, я тебе по человечески помог, а не ради денег.
   defre315
 
53 - 08.01.13 - 15:12
Еще раз огромное спасибо......пусть у тебя в жизни все будет хорошо...спасибо
   Patrio_O_Muerte
 
54 - 08.01.13 - 15:13
(51)А причем здесь эта процедура? Я туда не передаю новую переменную, существующие массивы не меняю. Не понимаю с чего вдруг эта процедура должна падать.
   palpetrovich
 
55 - 08.01.13 - 15:13
+51 хотя, иожет я на воду дую... перестраховываюсь
   Patrio_O_Muerte
 
56 - 08.01.13 - 15:15
(53)Пожалуйста.
И будь любезен сделай формирование этого отчета с флажком "экспорта", чтоб моя душа была спокойна)
   palpetrovich
 
57 - 08.01.13 - 15:17
(56) да, перестраховался, проверил - на выгрузку не влияет
   Patrio_O_Muerte
 
58 - 08.01.13 - 15:18
(57)Отлично, за это надо выпить )
   palpetrovich
 
59 - 08.01.13 - 15:20
(58) я уже не могу (цы) :)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует