Вход | Регистрация
 
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 человек.
Рекламное место пустует