Имя: Пароль:
1C
1C 7.7
v7: pdv.ert в rp07q3.grp только 29 строк
0 xl
 
17.10.07
13:02
"РОЗРАХУНОК КОРИГУВАННЯ СУМ ПДВ ДО ПОДАТКОВОЇ ДЕКЛАРАЦІЇ З ПОДАТКУ НА ДОДАНУ ВАРТІСТЬ" отображает только 29 строк "Податкова накладна, по якій проводиться коригування", на самом деле таких накладных гораздо больше и они не попадают в отчет. Подскажите как исправить, а лучше сделать неограниченное количество строк. Смущает код:
ПЦ = 0;
   Пока ПЦ<10000 Цикл
       ПЦ = ПЦ + 1;
   КонецЦикла;
   
   Если ЗапросП2.Выполнить(ТекстЗапросП2) = 0 Тогда
       Предупреждение("Не выполнился запрос 2 по документам!");
       Возврат;
   КонецЕсли;
   R83GA = 0;
   тбДляТаблицы1 = СоздатьОбъект("ТаблицаЗначений");
 
   Если ЗапросП2.Выгрузить(тбДляТаблицы1,"Дат,Док,Контрагент,НалоговаяНакладная,ИзмСуммыНДС,ИзмСуммыБезНДС",0) = 1 Тогда
         
       НомерСтроки = 1;
                                                 
       тбДляТаблицы1.ВыбратьСтроки();
       
       Пока  тбДляТаблицы1.ПолучитьСтроку() = 1 Цикл
           Если (НомерСтроки < 30) Тогда
               Префикс = Формат (НомерСтроки,"Ч(0)4.0");
               
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G2S");
               ВыбОбласть.Значение = тбДляТаблицы1.Контрагент.ПолнНаименование;  
               
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G3S");
               ВыбОбласть.Значение = тбДляТаблицы1.Контрагент.ИНН;  
               
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G4D");
               ДатаНН = тбДляТаблицы1.НалоговаяНакладная.ДатаДок;
               ВыбОбласть.Значение = ДатаНН;
               
               НомерНалоговойНакладной = "" + глНомерБезПрефикса(тбДляТаблицы1.НалоговаяНакладная.НомерДок);
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G5S");
               ВыбОбласть.Значение = НомерНалоговойНакладной;
               
               НомерКорректДокумента ="" + глНомерБезПрефикса(тбДляТаблицы1.Док.НомерДок) + "/" + глНомерБезПрефикса(тбДляТаблицы1.НалоговаяНакладная.НомерДок);
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G6S");
               ВыбОбласть.Значение = НомерКорректДокумента;
               
               ДатаКорректДокумента = тбДляТаблицы1.Док.ДатаДок;
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G7D");  
               ВыбОбласть.Значение = ДатаКорректДокумента;
               
               Основание = тбДляТаблицы1.Док.Примечание;
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G8S");
               ВыбОбласть.Значение = Основание;
               
               Если   тбДляТаблицы1.ИзмСуммыНДС > 0 Тогда  
                   ВыбОбласть = Таблица.Область("T1R"+Префикс+"G9");
                   ВыбОбласть.Значение =  тбДляТаблицы1.ИзмСуммыНДС;
                   Флаг_П2=1;
                   ДобавитьСтрокуРасшифровки( "T1R"+Префикс+"G9", "Показник ""Розрахунок коригування сум ПДВ (Додаток № 2) : Коригування податкових зобов'язань по податку на додану вартість, рядок 8"", графа ""Сума ПДВ(+)""","+", "По документам 'Приложение2'.", тбДляТаблицы1.ИзмСуммыНДС,,,,,,,,,,,,);
               ИначеЕсли тбДляТаблицы1.ИзмСуммыНДС < 0 Тогда
                   ВыбОбласть = Таблица.Область("T1R"+Префикс+"G10");
                   ВыбОбласть.Значение = - тбДляТаблицы1.ИзмСуммыНДС;
                   Флаг_П2=1;
                   ДобавитьСтрокуРасшифровки( "T1R"+Префикс+"G10", "Показник ""Розрахунок коригування сум ПДВ (Додаток № 2) : Коригування податкових зобов'язань по податку на додану вартість, рядок 8"", графа ""Сума ПДВ(+)""","+", "По документам 'Приложение2'.", - тбДляТаблицы1.ИзмСуммыНДС,,,,,,,,,,,,);
               КонецЕсли;    
               R83GA = R83GA + тбДляТаблицы1.ИзмСуммыБезНДС;
               
               НомерСтроки = НомерСтроки + 1;
           Иначе    
               Прервать;
           КонецЕсли;                        
       КонецЦикла;    
   КонецЕсли;
1 Стрелок
 
17.10.07
13:07
отладчик тебе в селезёнку
2 insider
 
17.10.07
13:10
(1) +1
кстати да, ошибка в отчете есть, не правил пока. АБИ в своем репертуаре...
3 WickeD
 
17.10.07
13:24
вот : Если (НомерСтроки < 30) Тогда

больше 30 идет прерывание обработки
4 Стрелок
 
17.10.07
13:32
а нет ли случайно ограничений со стороны налоговой администрации на количество корректировок выписанных налоговых накладных? ну мало ли....

честно говоря странно, что в течении месяца каждый день выписывается корректировка. возникает вопрос - вы что выписывая налоговые не думаете головой? или так работаете что ошибок много?
5 insider
 
17.10.07
13:36
(4) ты чего :) ну у меня сотня покупателей... или тысяча... или... ну ты понял. ну вот 30 из них по разным причинам выписывается корректировка, причем причина самая простая может быть: привезли товар, часть потеряла товарный вид, часть негодная по другим причинам - возврат - ессно корректировка. у оптовиков их не 30, а часто даже не 300, а сильно больше :)
6 Стрелок
 
17.10.07
13:37
(5) странно... у меня обычно всё возвратами разруливают..... а корректировок - ну два десятка у крупнейших оптовиков в области Сан-Интербрю
7 insider
 
17.10.07
13:47
(6) а на возврат корректировка уже не положена? это что-то новое :)
возможен такой вариант только в случае, если выписываются итоговые налоговые накладные за месяц, иначе - налоговая на 120 грн. и расходная на столько же уехала, вернули на 60 грн. - надо корректировать налоговую. а как же?
8 Стрелок
 
17.10.07
13:48
а х.з. ;))
9 insider
 
17.10.07
13:54
(8) отож :)
10 xl
 
17.10.07
13:59
итак Внимание повторяю вопрос: КАК ?
11 insider
 
17.10.07
14:01
(10) блин, ну отчет смотреть надо. в цикле стоит обрыв на 30 строк, значит выводить следующую страницу вместо обрыва. не смотрел я последний НДС - он же у тебя перед глазами, там можно страницы добавить?
12 xl
 
17.10.07
14:06
Перем ДатаВКвартале, Итоги, Д;
Перем Фирма, ИмяФайлаСохраненияОтчета, КаталогОтчета, ИдентификаторОтчета, КаталогДанныхФирмы;
Перем гФлВыгрузки,гФлОшибкиВыгрузки;
Перем НДС20, КодЕ, КодП, БартерОперации;
Перем ФлагП8Б, ФлагП16Б, Флаг_П2, Флаг_РК;    
Перем МожноСохранять;
Перем СпНедостЯчейки;
Перем Зеленый, Желтый;
Перем СпП;
Перем БалСтоим, ОстСтоим, ФлагГруппы1;
Перем ИдентификаторКонфигурации;
Перем ЧастноеЛицо;
Перем тбСхемыXML, фОчистка;  
Перем СуммаСловами;
Перем ЕстьРеквизитВидОперации;  
Перем Банк, МФО, РасчСчет;

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

//===========================================
Функция ИзмФлажкиТипДекларации(номер)
   Если фОчистка = 1 Тогда
       Возврат ""
   КонецЕсли;
   Если Номер = 1 Тогда
       HZ="X"; HZN="";    
   ИначеЕсли номер = 2 ТОгда
       HZN="X"; HZ="";
   КонецЕсли;
   Возврат ""
КонецФункции
//===========================================
Функция ИзмФлажкиТипПриложения2(номер)
   Если фОчистка = 1 Тогда
       Возврат ""
   КонецЕсли;
   Если Номер = 1 Тогда
       DOD2HZ="X"; DOD2HZN=""; DOD2HZU="";    
   ИначеЕсли номер = 2 ТОгда
       DOD2HZN="X"; DOD2HZ=""; DOD2HZU="";
   ИначеЕсли номер = 3 Тогда
       DOD2HZN=""; DOD2HZ=""; DOD2HZU="X";
   КонецЕсли;
   Возврат ""
КонецФункции

//===========================================
Функция ИзмФлажкиТипПриложения3(номер)
   Если фОчистка = 1 Тогда
       Возврат ""
   КонецЕсли;
   Если Номер = 1 Тогда
       DOD3HZ="X"; DOD3HZN=""; DOD3HZU="";    
   ИначеЕсли номер = 2 ТОгда
       DOD3HZN="X"; DOD3HZ=""; DOD3HZU="";
   ИначеЕсли номер = 3 Тогда
       DOD3HZN=""; DOD3HZ=""; DOD3HZU="X";
   КонецЕсли;
   Возврат ""
КонецФункции

//===========================================  
Функция ИзмФлажкиСпецРежим(номер)
   Если фОчистка = 1 Тогда
       Возврат ""
   КонецЕсли;
   Если Номер = 1 Тогда
       X0131="Х"; X0132=""; X0133=""; X0134=""; X0135=""; X0136="";
   ИначеЕсли номер = 2 ТОгда
       X0131=""; X0132="Х"; X0133=""; X0134=""; X0135=""; X0136="";
   ИначеЕсли номер = 3 ТОгда
       X0131=""; X0132=""; X0133="Х"; X0134=""; X0135=""; X0136="";
   ИначеЕсли номер = 4 ТОгда
       X0131=""; X0132=""; X0133=""; X0134="Х"; X0135=""; X0136="";
   ИначеЕсли номер = 5 ТОгда
       X0131=""; X0132=""; X0133=""; X0134=""; X0135="Х"; X0136="";
   ИначеЕсли номер = 6 ТОгда
       X0131=""; X0132=""; X0133=""; X0134=""; X0135=""; X0136="Х";
   КонецЕсли;
   Возврат ""
КонецФункции

//===========================================  
Функция ИзмНалогПериода(номер)
   Если фОчистка = 1 Тогда
       Возврат ""
   КонецЕсли;
   Если Номер = 1 Тогда
       HZM=0;    
   ИначеЕсли номер = 2 ТОгда
       HZKV=0;
   КонецЕсли;
   Возврат ""
КонецФункции                                            

//===========================================  
Функция ИзмНалогПериодаИсправлений(номер)
   Если фОчистка = 1 Тогда
       Возврат ""
   КонецЕсли;
   Если Номер = 1 Тогда
       HZMP=0;    
   ИначеЕсли номер = 2 ТОгда
       HZKVP=0;
   КонецЕсли;
   Возврат ""
КонецФункции                                            

//===========================================
Функция ИзмНачИспКассовогоМетода(номер)
   Если фОчистка = 1 Тогда
       Возврат ""
   КонецЕсли;
   Если номер = 1 Тогда
       R01G03I=0;    
   ИначеЕсли номер = 2 Тогда
       R01G02I=0;
   КонецЕсли;
   
   Если Номер = 3 Тогда
       R02G03I=0;    
   ИначеЕсли номер = 4 Тогда
       R02G02I=0;
   КонецЕсли;
   
   Если Номер = 5 Тогда
       R03G03I=0;    
   ИначеЕсли номер = 6 Тогда
       R03G02I=0;
   КонецЕсли;
   Возврат ""
КонецФункции                                            

//===========================================
Функция КонтрольПолей041_044(номер)
   Если фОчистка = 1 Тогда
       Возврат ""
   КонецЕсли;
   Если Номер = 1 Тогда
        HTINF=""; HTINSD=""; HTINR="";    
   ИначеЕсли номер = 2 Тогда
       HTINJ=""; HTINSD=""; HTINR="";
   ИначеЕсли номер = 3 Тогда
       HTINJ=""; HTINF="";  HTINR="";
   ИначеЕсли номер = 4 Тогда
       HTINJ=""; HTINF=""; HTINSD="";
   КонецЕсли;
       Возврат ""
КонецФункции

//===========================================
Функция ЗаполнитьДатуДоговора()
    HDDGVSD1 = HDDGVSD;
    HDDGVSD2 = HDDGVSD;
    HDDGVSD3 = HDDGVSD;
    DOD4HDDGVSD = HDDGVSD;
КонецФункции

//===========================================
Функция ЗаполнитьНомерДоговора()
   HNDGVSD1 = HNDGVSD;
   HNDGVSD2 = HNDGVSD;
   HNDGVSD3 = HNDGVSD;
   DOD4HNDGVSD = HNDGVSD;
КонецФункции


//===========================================
процедура ПриИзмененииПроцентаШтрафа()
   //Заполнение строки №28 как как произведение показателя строки  с кодом 28.2 на 5%
   R280GB = ((R282GB * ПроцентШтрафа)/100);        
КонецПроцедуры


Процедура Очистить()
   //Очищать будем все ячейки, кроме расположенных в служебной области
   //и шапке декларации
   Таб=СоздатьОбъект("Таблица");
   Таб.Исходнаятаблица("Таблица");
   
   фОчистка = 1;
   СлужебнаяОбласть = Таб.ПолучитьСекцию("СлужебнаяОбласть");
   ШапкаДекларации = Таб.ПолучитьСекцию("ШапкаДекларации");
   ШапкаПриложения4 = Таб.ПолучитьСекцию("ШапкаПриложения4");
   фОчистка = 0;    
   
   СписокСохранения=Создатьобъект( "СписокЗначений" );
   Таблица.Выгрузить(СписокСохранения);
   Для Инд=1 По СписокСохранения.РазмерСписка() Цикл
       ПредставлениеЗначения="";
       СписокСохранения.ПолучитьЗначение( Инд, ПредставлениеЗначения );
       Если (ПустоеЗначение(СлужебнаяОбласть.Область(ПредставлениеЗначения)) = 0)
           или (ПустоеЗначение(ШапкаДекларации.Область(ПредставлениеЗначения)) = 0)
               или (ПустоеЗначение(ШапкаПриложения4.Область(ПредставлениеЗначения)) = 0)Тогда
               Продолжить
       Иначе
           СписокСохранения.УстановитьЗначение( Инд, ПолучитьПустоеЗначение(), ПредставлениеЗначения );
       КонецЕсли;
   КонецЦикла;
   Таблица.Загрузить(СписокСохранения);
   
   ПроцентШтрафа = 5;
   
   //Восстановим копии реквизитов
   HLOC1 = HLOC;  
   DOD4HLOC=HLOC;
   HNSPDV1=HNSPDV;
   HNSPDV2=HNSPDV;
   HNSPDV3=HNSPDV;
   HNSPDV4=HNSPDV;
   HTEL1 = HTEL;
   HFAX1 = HFAX;
   HEMAIL1 = HEMAIL;    
   
   R03G01S = Банк;
   DOD4R02G03I = МФО;
   DOD4R02G02I = РасчСчет;
   
   Форма.Раскрыть.Доступность(0);
КонецПроцедуры  

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


//=====================================
// Возвращает числовое значение квартала для заданной даты
Функция НомерКвартала(ДляДаты)
   Возврат Цел((ДатаМесяц(ДляДаты) - 1) / 3) + 1;
КонецФункции

//===========================================
Функция Округ(Значение)
   Если СКопейками = 0 Тогда
       Возврат Окр(Значение/1000,3)*1000;  
   Иначе
       Возврат(Значение)
   КонецЕсли;
КонецФункции  

//===========================================
// Возвращает значение ячейки с кодом ПредставлениеЗначения для отчета за предыдущие периоды
Функция ЗначПокПредДекл(ПредставлениеЗначения, КодСтроки, ПредПериод = 1)
   КаталогОтчетаПредКв = НРег(КаталогОтчета);
   КаталогОтчетаТекКв  = НРег(КаталогОтчета);
   СписокСохранения=Создатьобъект( "СписокЗначений" );  
   
   Д = ПредПериод;

   КаталогОтчетаПредКв = СтрЗаменить(КаталогОтчетаПредКв,
       "rp"+Сред(Строка(ДатаГод(ДатаВКвартале)),3,2)+"q"+Строка(НомерКвартала(ДатаВКвартале)),
       "rp"+Сред(Строка(ДатаГод(Д)),3,2)+"q"+Строка(НомерКвартала(Д)));
   
   Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
       КаталогДанныхФирмы = ВыбраннаяФирма.Наименование;
   Иначе
       КаталогДанныхФирмы = "Report";
   КонецЕсли;
   
   ПроверкаКаталога();
   
   ИмяФайлаСохраненияОтчета=КаталогОтчетаПредКв+КаталогДанныхФирмы+"\"+ИдентификаторОтчета+ДатаГод(Д)+ДатаМесяц(Д)+ДатаЧисло(Д)+".rvs";
   Если ФС.СуществуетФайл(ИмяФайлаСохраненияОтчета)=0 Тогда
   
       ИмяФайлаСохраненияОтчета=КаталогОтчетаТекКв+КаталогДанныхФирмы+"\"+ИдентификаторОтчета+ДатаГод(Д)+ДатаМесяц(Д)+ДатаЧисло(Д)+".rvs";
       Если ФС.СуществуетФайл(ИмяФайлаСохраненияОтчета)=0 Тогда
       
           Если ТипПериода = 1 Тогда
               Сообщить("Файл отчета "+ ИдентификаторОтчета+ДатаГод(Д)+ДатаМесяц(Д)+ДатаЧисло(Д)+".rvs" + " за " + ДатаМесяц(Д) + " месяц " + ДатаГод(Д) + " года не обнаружен!"
                     + " Автоматическое заполнение строки с кодом "+Сред (КодСтроки,8,(СтрДлина(СокрЛП(КодСтроки))-7))+ " невозможно!");    
           ИначеЕсли СНачалаГода = 1 Тогда
             
           Иначе
                 Сообщить("Файл отчета "+ИдентификаторОтчета+ДатаГод(Д)+ДатаМесяц(Д)+ДатаЧисло(Д)+".rvs"+" за"+ ПериодСтр(ДобавитьМесяц(НачКвартала(ДатаВКвартале),-3), ДобавитьМесяц(КонКвартала(ДатаВКвартале),-3)) + " не обнаружен!"
                  + " Автоматическое заполнение строки с кодом "+Сред (КодСтроки,8,(СтрДлина(СокрЛП(КодСтроки))-7))+ " невозможно!");    
           
           КонецЕсли;
               
           Возврат 0;
       КонецЕсли;
       
   КонецЕсли;
   
   ЗначениеИзФайла(ИмяФайлаСохраненияОтчета, СписокСохранения );
   
   Если ТипЗначенияСтр(ПредставлениеЗначения) = "Строка" Тогда
       Возврат СписокСохранения.Получить(ПредставлениеЗначения)
   КонецЕсли;
Возврат 0;
КонецФункции

//===========================================
Процедура Раскрыть()
Перем НомерСтроки;
   Расшифровка=СоздатьОбъект("СписокЗначений");
   Расшифровка.Установить("Дата1", НачКвартала(ДатаВКвартале));
   Расшифровка.Установить("Дата2", КонКвартала(ДатаВКвартале));
   Если ПустоеЗначение(ВыбраннаяФирма)=0 Тогда
       Расшифровка.Установить("Фирма", ВыбраннаяФирма);
       Расшифровка.Установить("РазделительУчета", ВыбраннаяФирма);
   КонецЕсли;    
   Расшифровка.Установить("ПланСчетов", ОсновнойПланСчетов());
   Параметр=СоздатьОбъект("СписокЗначений");
   Параметр.Установить("Данные",СпП);
   Параметр.Установить("ИмяЯчейки",Таблица.АктивнаяОбласть());
   Параметр.Установить("Расшифровка",Расшифровка);
   ОткрытьФорму("Отчет",Параметр,КаталогОтчета+"ServDetl.ert");
КонецПроцедуры // Раскрыть  

//===========================================
// Примечание:
//  Проверка на ненулевую сумму не выполняется, так как выдача расшифровки
// с пустыми суммами показывает, как должен получаться выбранный показатель.
Процедура ДобавитьСтрокуРасшифровки( ИмяЯчейки, ИмяПоказателя, ЗнакОперации, ИмяСлагаемого, Сумма, КодСчета, КодКорСчета, ВидСубконто1, Субконто1, ОтборСубконто1, ВидСубконто2, Субконто2, ОтборСубконто2, ВидСубконто3, Субконто3, ОтборСубконто3, Период, Примечание = "", Дата1 = 0,Дата2 = 0)
   СпП.НоваяСтрока();
   СпП.НомСтроки     = СпП.НомерСтроки;
   СпП.ИмяЯчейки     = ИмяЯчейки;
   СпП.ИмяПоказателя = ИмяПоказателя;
   СпП.ЗнакОперации  = ЗнакОперации;
   СпП.ИмяСлагаемого = ИмяСлагаемого;
   СпП.Сумма         = Сумма;
   СпП.КодСчета      = КодСчета;
   СпП.КодКорСчета   = КодКорСчета;
   СпП.ВидСубконто1  = ВидСубконто1;
   СпП.Субконто1     = Субконто1;  
   СпП.ОтборСубконто1= ОтборСубконто1;
   СпП.ВидСубконто2  = ВидСубконто2;
   СпП.Субконто2     = Субконто2;
   СпП.ОтборСубконто2= ОтборСубконто2;
   СпП.ВидСубконто3  = ВидСубконто3;
   СпП.Субконто3     = Субконто3;
   СпП.ОтборСубконто3= ОтборСубконто3;
   СпП.Период        = Период; // 0 - за отчетный квартал, 1 - наростающей суммой с начала года
   СпП.Примечание    = Примечание;
КонецПроцедуры
//===========================================
Процедура УстДостЯчеек()
Перем Представление;                        
   Таблица.Выгрузить(СпНедостЯчейки);
   Размер = СпНедостЯчейки.РазмерСписка();
   Инд = 1;
   Пока Инд <= Размер Цикл
       Если Инд > СпНедостЯчейки.РазмерСписка() Тогда
           Прервать;
       КонецЕсли;
       СпНедостЯчейки.ПолучитьЗначение(Инд,Представление);
       ВыбОбласть = Таблица.Область(Представление);
       Если ВыбОбласть.ЦветФона() <> Зеленый Тогда
           СпНедостЯчейки.УдалитьЗначение(Инд);
       Иначе
           ВыбОбласть.Доступность(0);
           Инд = Инд + 1;
       КонецЕсли;
   КонецЦикла;
КонецПроцедуры

//===========================================
Процедура УстАвтоРасчет()
Перем Представление;
   Если АвтоРасчет = 0 Тогда
       ДоступЗелЯчеек = 1;
   Иначе                
       ДоступЗелЯчеек = 0;
   КонецЕсли;    
   Для Инд=1 по СпНедостЯчейки.РазмерСписка() Цикл
       СпНедостЯчейки.ПолучитьЗначение(Инд,Представление);
       ВыбОбласть = Таблица.Область(Представление);
       ВыбОбласть.Доступность(ДоступЗелЯчеек);
   КонецЦикла;
КонецПроцедуры  

//===========================================
// Функция заполнения вычислимых полей
Функция Расчет()  
   Если АвтоРасчет = 1 Тогда
       
       //Загальний обсяг продажу (сума значень з 1-го по 4-й рядок колонки А) (Колонка А)
       R50GA = Округ(R10GA)+Округ(R21GA)+Округ(R22GA)+Округ(R30GA)+Округ(R40GA);

       R52GA= Округ(R10GA) + Округ(R21GA) + Округ(R22GA) + Округ(R40GA);
       
       //------------------------------------
       //Розрахунок коригування сум ПДВ
       //Усього до збільшення
       DOD1R06GA = Округ(T1R0001G9) + Округ(T1R0002G9) + Округ(T1R0003G9) + Округ(T1R0004G9) + Округ(T1R0005G9)
                 + Округ(T1R0006G9) + Округ(T1R0007G9) + Округ(T1R0008G9) + Округ(T1R0009G9) + Округ(T1R0010G9)
                 + Округ(T1R0011G9) + Округ(T1R0012G9) + Округ(T1R0013G9) + Округ(T1R0014G9) + Округ(T1R0015G9)
                 + Округ(T1R0016G9) + Округ(T1R0017G9) + Округ(T1R0018G9) + Округ(T1R0019G9) + Округ(T1R0020G9)
                 + Округ(T1R0021G9) + Округ(T1R0022G9) + Округ(T1R0023G9) + Округ(T1R0024G9) + Округ(T1R0025G9)
                 + Округ(T1R0026G9) + Округ(T1R0027G9) + Округ(T1R0028G9) + Округ(T1R0029G9);
       
       //
       ////Усього до зменшення
       DOD1R07GB = Округ(T1R0001G10) + Округ(T1R0002G10) + Округ(T1R0003G10) + Округ(T1R0004G10) + Округ(T1R0005G10)
                 + Округ(T1R0006G10) + Округ(T1R0007G10) + Округ(T1R0008G10) + Округ(T1R0009G10) + Округ(T1R0010G10)
                 + Округ(T1R0011G10) + Округ(T1R0012G10) + Округ(T1R0013G10) + Округ(T1R0014G10) + Округ(T1R0015G10)
                 + Округ(T1R0016G10) + Округ(T1R0017G10) + Округ(T1R0018G10) + Округ(T1R0019G10) + Округ(T1R0020G10)
                 + Округ(T1R0021G10) + Округ(T1R0022G10) + Округ(T1R0023G10) + Округ(T1R0024G10) + Округ(T1R0025G10)
                 + Округ(T1R0026G10) + Округ(T1R0027G10) + Округ(T1R0028G10) + Округ(T1R0029G10);
       
       //
       //
       ////Усього: рядок 8 (графа 3 + графа 4) (+ або -)
       DOD1R80GB = Округ(DOD1R06GA) - Округ(DOD1R07GB);  
       //
       ////Усього до збільшення
       DOD1R13GA =  Округ(T2R0001G9) + Округ(T2R0002G9) + Округ(T2R0003G9) + Округ(T2R0004G9) + Округ(T2R0005G9)
                 + Округ(T2R0006G9) + Округ(T2R0007G9) + Округ(T2R0008G9) + Округ(T2R0009G9) + Округ(T2R0010G9)
                 + Округ(T2R0011G9) + Округ(T2R0012G9) + Округ(T2R0013G9) + Округ(T2R0014G9) + Округ(T2R0015G9)
                 + Округ(T2R0016G9) + Округ(T2R0017G9) + Округ(T2R0018G9) + Округ(T2R0019G9) + Округ(T2R0020G9)
                 + Округ(T2R0021G9) + Округ(T2R0022G9) + Округ(T2R0023G9) + Округ(T2R0024G9) + Округ(T2R0025G9)
                 + Округ(T2R0026G9) + Округ(T2R0027G9) + Округ(T2R0028G9) + Округ(T2R0029G9);
       
       //
       ////Усього до зменшення
       DOD1R14GB =  Округ(T2R0001G10) + Округ(T2R0002G10) + Округ(T2R0003G10) + Округ(T2R0004G10) + Округ(T2R0005G10)
                 + Округ(T2R0006G10) + Округ(T2R0007G10) + Округ(T2R0008G10) + Округ(T2R0009G10) + Округ(T2R0010G10)
                 + Округ(T2R0011G10) + Округ(T2R0012G10) + Округ(T2R0013G10) + Округ(T2R0014G10) + Округ(T2R0015G10)
                 + Округ(T2R0016G10) + Округ(T2R0017G10) + Округ(T2R0018G10) + Округ(T2R0019G10) + Округ(T2R0020G10)
                 + Округ(T2R0021G10) + Округ(T2R0022G10) + Округ(T2R0023G10) + Округ(T2R0024G10) + Округ(T2R0025G10)
                 + Округ(T2R0026G10) + Округ(T2R0027G10) + Округ(T2R0028G10) + Округ(T2R0029G10);
       
       //
       ////Усього: рядок 16 (графа 3 + графа 4) (+ або -)
       DOD1R16GB = Округ(DOD1R13GA) - Округ(DOD1R14GB);
       //------------------------------------  
       
       //Коригування на основі попередніх звітних періодів (- чи +). У разі заповнення цієї графи
       //є обов'язковим подання додатка 2 до декларації.
       R80GB = R81GB + R82GB + R83GB + R84GB;
       
       //Всього податкових зобов'язань (Сума значень рядків 1+6+7+8 (- чи +) колонки Б) (Колонка Б)
       R90GB = Округ(R10GB)+Округ(R60GB)+Округ(R70GB)+Округ(R80GB);
       
       //Придбання (виготовлення, будівництво, спорудження) без податку
       //на додану вартість на митній території України товарів (послуг) та
       //основних фондів з метою їх використання у межах господарської
       //діяльності платника податку

       R110GA = Округ(R111GA) + Округ(R112GA);
       
       //Коригування перенарахованого (-) та недонарахованого (+) податкового кредиту за попередні
       //звітні періоди (у разі заповнення цієї графи є обов'язковим подання додатка 2 до
       //декларації)
       
       R160GB = Округ(R161GB) + Округ(R162GB) + Округ(R163GB);    
       
       Если ((R80GB<>0) и (ФлагП8Б = 0)) Тогда  
           Сообщить("В случае заполнения строки 8 ""Коригування на основі попередніх звітних періодів"" обязательно представление приложения №1 к декларации");
           ФлагП8Б = 1;
       КонецЕсли;          
       
       Если ((R160GB<>0) и (ФлагП16Б = 0)) Тогда
           Сообщить("В случае заполнения строки 16 ""Коригування перенарахованого та недорахованого податкового кредиту за попередній звітний період.""
           |обязательно представление приложения №1 к декларации");
           ФлагП16Б = 1;
       КонецЕсли;  
       
       Если (R80GB<>DOD1R80GB) Тогда
           Сообщить("Сумма в строке 8 не совпадает с итоговой суммой в таблице ""Коригування податкових зобов'язань по податку на додану вартість, рядок 8""
           |приложения №1 к декларации! Сумма в строке 8 составляет" + R80GB + ", сумма в приложении №1 " + DOD1R80GB );
       КонецЕсли;    
       
       Если (R160GB<>DOD1R16GB) Тогда
           Сообщить("Сумма в строке 16 не совпадает с итоговой суммой в таблице ""Коригування податкового кредиту по податку на додану вартість, рядок 16""
           |приложения №1 к декларации! Сумма в строке 16 составляет  " + R160GB + ", сумма в приложении №1 " + DOD1R16GB );
       КонецЕсли;    
       
       //Усього податкового кредиту (Сума значень рядків (10.1 + 12.1 + 12.2 + 12.4 + 16
       //(- чи +) колонки Б)
       R170GB = Округ(R101GB)+Округ(R121GB)+Округ(R122GB)+Округ(R124GB)+Округ(R160GB);
       
       //Різниця між сумою податкового зобов'язання та сумою податкового кредиту з ПДВ
       //(відняти значення рядка 17 від 9-го): позитивне значення
       R181GB =  ?(R90GB - R170GB>0 , R90GB - R170GB , 0);
       
       //Різниця між сумою податкового зобов'язання та сумою податкового кредиту з ПДВ
       //(відняти значення рядка 17 від 9-го):від'ємне значення
       R182GB =  -?(R90GB - R170GB<0 , R90GB - R170GB , 0);  
       
       //Коригування платежів з урахуванням положень про вексельну форму оплати податку на додану
       //вартість при ввезенні (пересиланні) товарів на митну територію України (п. 11.5 ст. 5
       //Закону): а) до зменшення (-) : суми податку на додану вартість, які не підлягають оплаті
       //в поточному звітному періоді (термін оплати векселя не настав) (податкові векселі видані
       //за поточний звітний період (рядок 6 декларації)) (Колонка Б)
       R191GB = R60GB;
       
       П2021Б = Округ(R181GB) - Округ(R191GB) - Округ(R182GB) + Округ(R192GB);
       //Сума ПДВ, яка підлягає сплаті в поточному звітному періоді (позитивне значення суми
       //рядків 18 і 19) без авансових відшкодувань
       R200GB =  ?(П2021Б > 0 , П2021Б , 0 );        
       
       //Сума ПДВ, яка підлягає відшкодуванню у поточному звітному періоді (від'ємне значення
       //суми рядків 18 і 19) без авансових відшкодувань
       R210GB =  -?(П2021Б < 0 , П2021Б , 0 );    
       
       //Зарахування від'ємного значення різниці поточного звітного (податкового) періоду:
       //до складу податкового кредиту наступного звітного (податкового) періоду (рядок 21- рядок 22.1)
       R222GB = ?(R210GB <> 0,R210GB - R221GB, 0);
       
       //Залишок від'ємного значення попереднього звітного (податкового) періоду, що
       //включається до складу податкового кредиту поточного звітного (податкового) періоду
       //(рядок 23.1 + рядок 23.2 + рядок 23.3 + рядок 23.4):
       R230GB = Округ(R231GB) + Округ(R232GB) + Округ(R233GB) + Округ(R234GB);    
       
       //Залишок від'ємного значення попереднього податкового періоду за
      //вирахуванням суми податку, яка підлягає сплаті до бюджету за підсумками
      //поточного звітного періоду (рядок 23 – рядок 20, позитивне значення)
       R240GB = ?(R230GB - R200GB >0,R230GB - R200GB,0);      
       
       R250GB =R040G3;
       
      //Залишок від'ємного значення, який після бюджетного відшкодування включається до
      //складу податкового кредиту наступного податкового періоду (рядок 24 – рядок 25)
      //(значення цього рядка переноситься до рядка 23.2 податкової декларації наступного звітного періоду)
       R260GB = Округ(R240GB) - Округ(R250GB);
       
      //Сума ПДВ, яка підлягає нарахуванню до сплати в бюджет за підсумками поточного
      //звітного періоду, з урахуванням залишку від’ємного значення попереднього звітного
      //періоду (рядок 20 – рядок 23, позитивне значення)
       R270GB = Макс(Округ(R200GB) - Округ(R230GB),0);
       
       //  загальна сума  помилки  (рядок  8.1 -  рядок 16.1) (позитивне значення):
       R282GB = Макс(Округ(R81GB) - Округ(R161GB), 0);
       
       //  загальна сума  помилки  (рядок  8.1 -  рядок 16.1) (від'ємне значення):
       R283GB = Макс(Округ(R161GB) - Округ(R81GB), 0);
       
   
       //------------------------------------
       //РОЗРАХУНОК СУМИ, ЩО ПІДЛЯГАЄ СПЛАТІ (ПЕРЕРАХУВАННЮ) ДО БЮДЖЕТУ
       //Сума ПДВ, яка підлягає нарахуванню до сплати в бюджет, з урахуванням залишку
       //від'ємного значення попереднього звітного (податкового) періоду
       //(рядок 27 податкової декларації поточного звітного (податкового) періоду)
       R010G03 = R270GB;
       
      //Сума заниження заявленого платником податку бюджетного відшкодування щодо
      //суми, визначеної податковим органом відповідно до п.п. 7.7.7 п. 7 ст. 7 Закону в
     //минулих звітних (податкових) періодах, яка може бути зарахована у сплату
     //податкових зобов’язань з ПДВ (рядок 2 – рядок 3, позитивне значення)
     R040G03 = Макс(Округ(R020G03) - Округ(R030G03),0);  
     
     // Сума ПДВ, що підлягає сплаті до бюджету, з урахуванням суми заниження
     //заявленого платником бюджетного відшкодування
     //(рядок 1 – рядок 4, позитивне значення)
     R050G03 = Макс(Округ(R010G03) - Округ(R040G03),0);
     
     // Сума бюджетного відшкодування минулих звітних (податкових) періодів, яка
     //зараховується у зменшення податкових зобов’язань (рядок 6.1 + рядок 6.2):
     R060G03  = Округ(R061G03) + Округ(R062G03);
     
    //Сума бюджетного відшкодування минулих звітних (податкових) періодів, яка може
    //бути зарахована у сплату податкових зобов’язань з ПДВ
     R080G03 = Макс(Округ(R060G03) - Округ(R070G03),0);
     
    // Сума ПДВ, що підлягає сплаті (перерахуванню) до бюджету, з урахуванням суми
    //бюджетного відшкодування минулих звітних (податкових) періодів
    //(рядок 5 – рядок 8, позитивне значення)  
    R090G03 = Макс(Округ(R050G03) - Округ(R080G03),0);
   
    //залишок суми заниження заявленого платником податку бюджетного відшкодування
    //(рядок 4 – рядок 1, позитивне значення)
    R102G03 = Макс(Округ(R040G03) - Округ(R010G03),0);
   
   //Залишок суми заниження заявленого платником податку бюджетного
   //відшкодування, визначеного податковим органом згідно з п.п. 7.7.7 п. 7 ст. 7 Закону,
   //що підлягає зарахуванню у зменшення податкових зобов'язань з ПДВ наступного
   //податкового періоду
   //(рядок 10.1 + рядок 10.2;
   //значення цього рядка переноситься до рядка 2 Розрахунку наступного звітного періоду):
   R100G03 = Округ (R101G03) + R102G03;  
   
   //Залишок суми бюджетного відшкодування минулих звітних періодів, що зараховується у зменшення
   //податкових зобов’язань з ПДВ наступних податкових періодів (рядок 8 – рядок 5, позитивне значення  
   R110G03 = Макс(Округ(R080G03) - Округ(R050G03),0);
   
   
   //------------------------------------
   //РОЗРАХУНОК СУМИ БЮДЖЕТНОГО ВІДШКОДУВАННЯ
   //Залишок від'ємного значення попереднього податкового періоду, за вирахуванням
   //суми податку, яка підлягає сплаті до бюджету за підсумками поточного звітного
   //періоду (рядок 24 податкової декларації звітного податкового періоду)
   DOD1R01GA = R240GB;
       
       
       //-ознака визначення від’ємного значення
       //відмітка (Х) робиться платником при заповненні рядка 21 цієї декларації
       Если R210GB <> 0 Тогда
           V = "Х";
       Иначе
           V = "";    
       КонецЕсли;
       
       //-ознака бюджетного відшкодування  
       //відмітка (Х) робиться платником при заповненні рядка 25 цієї декларації
       Если R250GB <> 0 Тогда
           B = "Х";
       Иначе
           B = "";    
       КонецЕсли;  
       
       R010G3 = R240GB;
   
       Если (R040G3 <> 0) Тогда
           СуммаСловами = Сред(Формат(Окр(R040G3), "ЧПДС"), 1,СтрДлина(Формат(Окр(R040G3), "ЧПДС")) - 18);
       Иначе
           СуммаСловами = "";
       КонецЕсли;  
   R01G01S = СуммаСловами;    
   КонецЕсли;
   Возврат "";
КонецФункции

//===========================================
//Служеит для заполения некоторых (недоступных) служебных пераметров
Функция ОбновитьСлужебныеДанные()
   //TIN из раздела DHEAD, сама ячейка с таким именем находится в служебной области
   Если ЧастноеЛицо = 1 Тогда
       TIN = HTINF;
   Иначе
       TIN = HTINJ;
   КонецЕсли;
   
   //хотя "по определению" NAME в самой декларации, такая ячейка вынесена в служебную область
   NAME = HNAME;    
   
   //ячейкам из шапки декларации, которые вынесены в служебгую область
   //присваиваем соотвествующие значения из ячеек приложений    
   //ячейкам из "дна" декларации, которые вынесены в служебную область
   //присваиваем значения ячеек из "дна" приложений, которые вынесены в служебную область
   R00G17S = HBOS;
   R00G18S = HBUH;
   R00G19S = HFO;
   
   // ячейкам из шапки присваиваем значения ячеек из приложений, которые вынесены в служебную область
   R00G8S    = HNPDV;
   R00G9S  = HNSPDV;
   
   ADR = HLOC;
   PHON = HTEL;
   
   
КонецФункции

//===========================================
Процедура ИзмШапкаПериода()  
   //дата подачи отчета в деларации и во всех приложниях (имена ячеек с префиксами!)    
   HFILL   = РабочаяДата();                  
   DOD1HFILL = HFILL;
   DOD1HFILL = HFILL;
   DOD3HFILL = HFILL;
   DOD4HFILL = HFILL;  
   //все ячейки из служебной области
   HZY = ДатаГод(ДатаВКвартале);
   PERIOD_YEAR = HZY;
   Если (ТипПериода = 1)  Тогда    
       HZKV = "";
       HZM = ДатаМесяц(ДатаВКвартале);
       PERIOD_MONTH = HZM;
       //Месячная форма
       PERIOD_TYPE = 1;
   Иначе  
       HZKV = ДатаМесяц(КонКвартала(ДатаВКвартале))/3;
       PERIOD_MONTH = HZKV*3;
       HZM = "";      
       //Квартальная форма
       PERIOD_TYPE = 2;
   КонецЕсли;

   ОбновитьСлужебныеДанные();
КонецПроцедуры    

//===========================================
// Заполняем необходимые значения параметров отчета
Процедура ЗаполнитьРеквизиты()
   Расшифровка = СоздатьОбъект( "СписокЗначений" );

   Если ТипПериода = 1 Тогда
       Расшифровка.Установить ( "Дата", КонМесяца(ДатаВКвартале) );
   Иначе
       Расшифровка.Установить ( "Дата", КонКвартала(ДатаВКвартале) );
   КонецЕсли;
   
   Если ТипЗначения(ВыбраннаяФирма)<>0 Тогда
       Расшифровка.Установить ( "Фирма", ВыбраннаяФирма );
       Расшифровка.Установить( "ЧастноеЛицо", "" );
   Иначе      
       Расшифровка.Установить( "ВидКонтрагента", "" );
   КонецЕсли;
   
   Расшифровка.Установить( "НомерСвидетельства", "" );
   Расшифровка.Установить( "ГлавныйБухгалтер", "" );
   Расшифровка.Установить( "Телефоны", "" );
   Расшифровка.Установить( "ПолнНаименование", "" );
   Расшифровка.Установить( "ЕДРПОУ", "" );
   Расшифровка.Установить( "РасчСчет", "" );
   Расшифровка.Установить( "Банк", "" );
   Расшифровка.Установить( "МФО", "" );
   Расшифровка.Установить( "ИНН", "" );
   Расшифровка.Установить( "НДС20", "" );  

   Если ИдентификаторКонфигурации = "UBUOUSL" Тогда
       Расшифровка.Установить( "Руководитель", "" );
       Расшифровка.Установить( "ЮридическийАдрес", "" );  
       Расшифровка.Установить( "НалоговаяИнспекция", "" );
   Иначе    
       Расшифровка.Установить( "Директор", "" );
       Расшифровка.Установить( "Адрес", "" );
       Если (Метаданные.Справочник("НалоговыеИнспекции").Выбран() = 1) Тогда
           Расшифровка.Установить( "НалоговаяИнспекция", "" );    
       Иначе  
           Расшифровка.Установить( "ОтделНалоговойИнспекции", "" );
       КонецЕсли;    

   КонецЕсли;
   
   глПолучитьДанные( Расшифровка );  
   
   Если ИдентификаторКонфигурации = "UBUOUSL" Тогда
       Директор = Расшифровка.Получить("Руководитель");
       HLOC = Расшифровка.Получить( "ЮридическийАдрес" );
       HLOC1 = HLOC;
       DOD4HLOC=HLOC;
       НалоговаяИнспекция = Расшифровка.Получить( "НалоговаяИнспекция" );
   Иначе    
       Директор = Расшифровка.Получить("Директор");
       HLOC=Расшифровка.Получить( "Адрес" );
       HLOC1 = HLOC;
       DOD4HLOC=HLOC;
       Если (Метаданные.Справочник("НалоговыеИнспекции").Выбран() = 1) Тогда
           НалоговаяИнспекция = Расшифровка.Получить( "НалоговаяИнспекция");    
       Иначе  
           НалоговаяИнспекция = Расшифровка.Получить( "ОтделНалоговойИнспекции");
       КонецЕсли;    

   КонецЕсли;    
   
   ГлавБух=Расшифровка.Получить( "ГлавныйБухгалтер" );
   HBUH = глФИО(ГлавБух,1);
   //вернуться с перенесением корретной обработки ситуации с новым справочником
   Если (Метаданные.Справочник("НалоговыеИнспекции").Выбран() = 1) Тогда
       HSTI  = НалоговаяИнспекция.НаименованиеАдмРайона;
       C_RAJ = НалоговаяИнспекция.КодАдмРайона;
       C_REG = НалоговаяИнспекция.Родитель.Код;
       C_STI = НалоговаяИнспекция.Код;
   КонецЕсли;
   HNPDV=Расшифровка.Получить( "ИНН" );
   HNSPDV=Расшифровка.Получить( "НомерСвидетельства" );
   HNSPDV1=HNSPDV;
   HNSPDV2=HNSPDV;
   HNSPDV3=HNSPDV;
   HNSPDV4=HNSPDV;
   HTEL=Расшифровка.Получить( "Телефоны" );
   HTEL1 = HTEL;
   HFAX1 = HFAX;                                            
   HEMAIL1 = HEMAIL;                                        
   HNAME=СокрЛП (Расшифровка.Получить( "ПолнНаименование" ));

   КодОКПО=СокрЛП(Расшифровка.Получить( "ЕДРПОУ" ));
   Если ТипЗначения(ВыбраннаяФирма)<>0 Тогда
       ЧастноеЛицо = Расшифровка.Получить( "ЧастноеЛицо" );
       Если  ЧастноеЛицо = 1 Тогда
           HTINJ = "";
           HBOS = "";
           HTINF = Строка(КодОКПО);
           HFO = глФИО(Директор,1);
       Иначе
           HTINJ = Строка(КодОКПО);
           HBOS = глФИО(Директор,1);
           HTINF = "";
           HFO = "";
       КонецЕсли;
   Иначе
       Если Расшифровка.Получить( "ВидКонтрагента" ) = Перечисление.ВидыКонтрагентов.ЧастноеЛицо Тогда
           HTINJ = "";
           HBOS = "";
           HTINF = Строка
13 xl
 
17.10.07
14:09
C_DOC_CNT = 1;  //номер документа в периоде.

   НДС20=Расшифровка.Получить( "НДС20" );
   ДатаОтчета=КонКвартала(ДатаВКвартале);
   
   ИзмШапкаПериода();
КонецПроцедуры  

//===========================================
Процедура Заполнить()
Перем Дата1, Дата2;
   Если ДатаВКвартале > КонецРассчитанногоПериодаБИ() Тогда
       Предупреждение ("На " + Формат(НачМесяца(ДатаВКвартале),"ДДММГГГГ") + " бухгалтерские итоги не рассчитаны!"+РазделительСтрок+
       "Расчет итогов выполняется в режиме"+РазделительСтрок+
       """Операции - Управление бухгалтерскими итогами"".");  
       Возврат    //не будем ничего заполнять, если итоги не рассчитаны
   КонецЕсли;  
   ФлагП8Б = 0;
   ФлагП16Б = 0;
   Итоги = СоздатьОбъект("БухгалтерскиеИтоги");
   Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
       Итоги.ИспользоватьРазделительУчета( ВыбраннаяФирма );
   КонецЕсли;
   Если ТипПериода=1 Тогда
       Итоги.ПериодМ(ДатаВКвартале);
       Дата1=НачМесяца(ДатаВКвартале);
       Дата2=КонМесяца(ДатаВКвартале);
   Иначе
       Если СНачалаГода = 1 Тогда
           Итоги.ПериодКВН(ДатаВКвартале);
           Дата1=НачГода(ДатаВКвартале);        
           Дата2=КонКвартала(ДатаВКвартале);
       Иначе    
           Итоги.ПериодКВ(ДатаВКвартале);
           Дата1=НачКвартала(ДатаВКвартале);        
           Дата2=КонКвартала(ДатаВКвартале);
       КонецЕсли;
   КонецЕсли;
                 
   //В соответствии с приказом ГНАУ №244 с 29.07.2005 изменился порядок заполнения налоговой накладной.
   //В соответствии с ним розничные продажи, списание на собственные нужды, ликвидация необор.
   //активов по решению налогоплательщика - также оформляются налоговые накладные. Поэтому после этой
   //даты в новых релизах конфигурации ряд запросов не должен выполняться.
   
   ТекущийРелиз = Число(СтрЗаменить(Константа.НомерРелиза, ".",""));
   Если ((ИдентификаторКонфигурации = "UBUTK") И (ТекущийРелиз >= 770258))
       ИЛИ ((ИдентификаторКонфигурации = "UManf") И (ТекущийРелиз >= 770010))
       ИЛИ ((ИдентификаторКонфигурации = "UBUOUSL") И (ТекущийРелиз >= 770013)) Тогда
       
       Если (Дата1 < '29.07.2005') и (Дата2 >= '29.07.2005') Тогда
           //Граница попадает в интервал - отсекаем справа
           Дата11 = Дата1;
           Дата22 = '28.07.2005';
       ИначеЕсли (Дата1 >= '29.07.2005') Тогда    
           //После границы - запросы не должны формироваться
           Дата11 = '01.01.80';
           Дата22 = '01.01.80';
       Иначе
           //До границы - ничего не делаем
           Дата11 = Дата1;
           Дата22 = Дата2;
       КонецЕсли;
   Иначе
       //В старых версиях конфигураций ничего не делаем
       Дата11 = Дата1;
       Дата22 = Дата2;
   КонецЕсли;    
   
   
   
   //=============================
   СпП.УдалитьСтроки();    
   АвтоРасчет = 1;                
   //=============================
   //Запрос по налоговым накладным
   ФирмаЗапр = "";
   Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
       ФирмаЗапр = "Фирма =  Документ.НалоговаяНакладная.Фирма;
                   |Условие (Фирма = ВыбраннаяФирма);
                   |";
   КонецЕсли;      
   ПериодОтчета = КварталОтчетаСтр();
   Бартер = Перечисление.ВидыТорговли.Бартер;
   ЗапросНН = СоздатьОбъект("Запрос");  
   
   Если ((ИдентификаторКонфигурации = "UBUTK")   и (Число(СтрЗаменить(Константа.НомерРелиза, ".","")) > 770260))
   или  ((ИдентификаторКонфигурации = "UBUOUSL") и (Число(СтрЗаменить(Константа.НомерРелиза, ".","")) > 770015))
   или  ((ИдентификаторКонфигурации = "UManf")   и (Число(СтрЗаменить(Константа.НомерРелиза, ".","")) > 770012)) Тогда          
       ВидОперации = "ВидОперации = Документ.НалоговаяНакладная.ВидОперации;";
       ГруппировкаВидОперации = "Группировка ВидОперации;";
       ГруппировкаВидТорговли = "";
       БазаНДС0 =  "БазаНДС0 = Документ.НалоговаяНакладная.БазаНДС0;";
       СуммаНДС0 = "Функция СуммаБезНДС0= Сумма(БазаНДС0);";
       ЕстьРеквизитВидОперации = 1;
   Иначе
       ВидОперации = "";                                  
       ГруппировкаВидТорговли = "Группировка ВидТорговли;";
       ГруппировкаВидОперации = "";
       БазаНДС0 = "";
       СуммаНДС0 = "";
       ЕстьРеквизитВидОперации = 0;
   КонецЕсли;


   ТекстЗапросНН =    "//{{ЗАПРОС(ЗапросНН)
       |Период с Дата1 по Дата2;
       |ОбрабатыватьДокументы Проведенные;  
       |Валюта        = Документ.НалоговаяНакладная.Валюта;
       |КодНДС        = Документ.НалоговаяНакладная.ВидНДС.Код;
       |ВидТорговли    = Документ.НалоговаяНакладная.ВидТорговли;
       |" + ВидОперации + "
       |СумБезНДС        = Документ.НалоговаяНакладная.БазаНДС;
       |" + БазаНДС0 + "
       |СуммаНДС        = Документ.НалоговаяНакладная.СуммаНДС;
       |" + ФирмаЗапр + "
       |Функция СуммаБезНДС= Сумма(СумБезНДС);
       |" + СуммаНДС0 + "
       |Функция НДС        = Сумма(СуммаНДС);
       |Группировка КодНДС;
       |" + ГруппировкаВидОперации + "
       |" + ГруппировкаВидТорговли + "
       |Группировка Валюта;
       |"//}}ЗАПРОС
       ;                    
     
   ПЦ = 0;
   Пока ПЦ<10000 Цикл
       ПЦ = ПЦ + 1;
   КонецЦикла;
   
   Если ЗапросНН.Выполнить(ТекстЗапросНН) = 0 Тогда
       Предупреждение("Не выполнился запрос 1 по документам!");
       Возврат;
   КонецЕсли;
   
   Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
       ФирмаЗапр = "Фирма =  Документ.СписаниеТМЦ.Фирма;
       |Условие (Фирма = ВыбраннаяФирма);
       |";
   КонецЕсли;
   
   //запрос по документам "Списание ТМЦ" для получения сумм операций по передаче товаров
   //в пределах баланса для непроизводственного использования  
   
   Если глПолучитьНиО(НДС20,"НДС20","основная ставка НДС") = 0 Тогда
       Возврат;
   КонецЕсли;
   
   Если ИдентификаторКонфигурации = "UManf" Тогда
       СписТМЦ = СоздатьОбъект("Запрос");
       ТекстЗапрСписТМЦ =    "//{{ЗАПРОС(СписТМЦ)
       |Период с Дата11 по Дата22;
       |ОбрабатыватьДокументы Проведенные;  
       |СуммаБезНДС = Документ.СписаниеТМЦ.СуммаБезНДС;
       |СуммаНДС = Документ.СписаниеТМЦ.НДС;    
       |СписМБП= Документ.СписаниеТМЦ.СписаниеМБП;
       |НаСобствНужды= Документ.СписаниеТМЦ.НаСобственныеНужды;
       |ВидНДС        = Документ.СписаниеТМЦ.ВидНДС;
       |" + ФирмаЗапр + "    
       |Группировка Документ;
       |Функция СумБезНДС = Сумма(СуммаБезНДС);
       |Функция СумНДС = Сумма(СуммаНДС);
       |Условие(СписМБП = 0);
       |Условие(НаСобствНужды = 1);
       |Условие (ВидНДС = НДС20);
       |"//}}ЗАПРОС
       ;
       
   Иначе
       СписТМЦ = СоздатьОбъект("Запрос");
       ТекстЗапрСписТМЦ =    "//{{ЗАПРОС(СписТМЦ)
       |Период с Дата11 по Дата22;
       |ОбрабатыватьДокументы Проведенные;  
       |СуммаБезНДС = Документ.СписаниеТМЦ.СуммаБезНДС;
       |СуммаНДС = Документ.СписаниеТМЦ.НДС;
       |НаСобствНужды= Документ.СписаниеТМЦ.НаСобственныеНужды;
       |ВидНДС        = Документ.СписаниеТМЦ.ВидНДС;
       |" + ФирмаЗапр + "    
       |Группировка Документ;
       |Функция СумБезНДС = Сумма(СуммаБезНДС);
       |Функция СумНДС = Сумма(СуммаНДС);
       |Условие(НаСобствНужды = 1);
       |Условие (ВидНДС = НДС20);
       |"//}}ЗАПРОС
       ;
   КонецЕсли;
   
   Если СписТМЦ.Выполнить(ТекстЗапрСписТМЦ) = 0 Тогда
       Предупреждение("Не выполнился запрос по документам списания ТМЦ!");
       Возврат;
   КонецЕсли;
   
   //Запрос по розничным продажам  
   Если ИдентификаторКонфигурации = "UBUOUSL" Тогда
       
       Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
           ФирмаЗапр = "Фирма =  Документ.РозничнаяНакладная.Фирма,Документ.ВозвратРозница.Фирма;
           |Условие (Фирма = ВыбраннаяФирма);
           |";
       КонецЕсли;
       
       Если Шаблон("[глВключенУчасток(""Торговля"",'"+Дата1+"')]") = "Нет" Тогда
           Розн = СоздатьОбъект("Запрос");
           ТекстЗапрРозн =    "//{{ЗАПРОС(Розн)
           |Период с Дата11 по Дата22;
           |ОбрабатыватьДокументы Проведенные;  
           |СумСНДС = Документ.РозничнаяНакладная.СуммаСНДС;
           |НДСРозн = Документ.РозничнаяНакладная.НДС;
           |КодНДС = Документ.РозничнаяНакладная.ВидНДС.Код,Документ.ВозвратРозница.ВидНДС.Код;
           |" + ФирмаЗапр + "
           |Функция СуммаСНДСРозн = Сумма(СумСНДС);
           |Группировка Документ;
           |Группировка КодНДС;
           |"//}}ЗАПРОС
           ;
           
           ПЦ = 0;
           Пока ПЦ<10000 Цикл
               ПЦ = ПЦ + 1;
           КонецЦикла;
           
           Если Розн.Выполнить(ТекстЗапрРозн) = 0 Тогда
               Предупреждение("Не выполнился запрос 2 по документам!");
               Возврат;
           КонецЕсли;  
       Иначе
           РознТорг = СоздатьОбъект("Запрос");
           ТекстЗапр =    "//{{ЗАПРОС(РознТорг)
           |Период с Дата11 по Дата22;
           |ОбрабатыватьДокументы Проведенные;
           
           |Дат            = Документ.Т_ЧекКА.ТекущийДокумент.ДатаДок,    Документ.Т_ОтчетКА.ТекущийДокумент.ДатаДок;
           |Фрм            = Документ.Т_ЧекКА.Фирма,                    Документ.Т_ОтчетКА.Фирма;            
           |СуммаСНДС        = Документ.Т_ЧекКА.СуммаСНДС,                Документ.Т_ОтчетКА.СуммаСНДС;
           |СуммаСНДСВсего = Документ.Т_ЧекКА.СуммаСНДС,                Документ.Т_ОтчетКА.СуммаСНДС;
           |Скидка            = Документ.Т_ЧекКА.Скидка;
           |Тов            = Документ.Т_ЧекКА.Товар,                    Документ.Т_ОтчетКА.Товар;
           |СтавкаНДС        = Документ.Т_ЧекКА.Товар.СтавкаНДС,            Документ.Т_ОтчетКА.Товар.СтавкаНДС;
           |Док            = Документ.Т_ЧекКА.ТекущийДокумент,            Документ.Т_ОтчетКА.ТекущийДокумент;
           |Возврат        = Документ.Т_ЧекКА.ВидОперации;
           |Группировка Дат;
           |Группировка Док;
           
           |Функция ИСумма0     = Сумма(СуммаСНДС) когда((СтавкаНДС = ЛьготнаяСтавкаНДС) и (Возврат=0));
           |Функция ИСуммаБез     = Сумма(СуммаСНДС) когда((СтавкаНДС = безНДС)              и (Возврат=0));
           |Функция ИСумма20     = Сумма(СуммаСНДС) когда((СтавкаНДС = ОсновнаяСтавкаНДС) и (Возврат=0));
           
           |Функция ИСумма0Возврат    = Сумма(СуммаСНДС) когда((СтавкаНДС = ЛьготнаяСтавкаНДС) и (Возврат=1));
           |Функция ИСуммаБезВозврат    = Сумма(СуммаСНДС) когда((СтавкаНДС = безНДС)             и (Возврат=1));
           |Функция ИСумма20Возврат    = Сумма(СуммаСНДС) когда((СтавкаНДС = ОсновнаяСтавкаНДС) и (Возврат=1));
           
           |Функция ИСумма0Всего     = Сумма(СуммаСНДСВсего) когда((СтавкаНДС = ЛьготнаяСтавкаНДС) и (Возврат=0));
           |Функция ИСуммаБезВсего     = Сумма(СуммаСНДСВсего) когда((СтавкаНДС = безНДС)               и (Возврат=0));
           |Функция ИСумма20Всего     = Сумма(СуммаСНДСВсего) когда((СтавкаНДС = ОсновнаяСтавкаНДС) и (Возврат=0));
           
           //без расходной розничной можно на удаление
           |Функция ИСумма0ВозвратВсего    = Сумма(СуммаСНДСВсего) когда((СтавкаНДС = ЛьготнаяСтавкаНДС) и (Возврат=1));
           |Функция ИСуммаБезВозвратВсего    = Сумма(СуммаСНДСВсего) когда((СтавкаНДС = безНДС)              и (Возврат=1));
           |Функция ИСумма20ВозвратВсего    = Сумма(СуммаСНДСВсего) когда((СтавкаНДС = ОсновнаяСтавкаНДС) и (Возврат=1));
           
           |Условие(Фрм = Фирма);
           |"//}}ЗАПРОС
           ;        
           
           ПЦ = 0;
           Пока ПЦ<10000 Цикл
               ПЦ = ПЦ + 1;
           КонецЦикла;
           
           Если РознТорг.Выполнить(ТекстЗапр)=0 Тогда
               Предупреждение("Не выполнился запрос по розничным накладным!");
               Возврат;
           КонецЕсли;
       КонецЕсли;
       
   Иначе    
       
       Розн = СоздатьОбъект("Запрос");
       ТекстЗапрРозн = "";
       Если ИдентификаторКонфигурации = "UBUTK" Тогда
           ТекущийРелиз = Число(СтрЗаменить(Константа.НомерРелиза, ".",""));
           Если ТекущийРелиз > 770210 Тогда
               фИспользоватьДанныеИзКнигиПродаж = 1;
           Иначе
               Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
                   ФирмаЗапр = "Фирма =  Документ.РозничнаяНакладная.Фирма,Документ.ВозвратРозница.Фирма;
                   |Условие (Фирма = ВыбраннаяФирма);
                   |";
               КонецЕсли;
               ТекстЗапрРозн =    "//{{ЗАПРОС(Розн)
               |Период с Дата11 по Дата22;
               |ОбрабатыватьДокументы Проведенные;  
               |СумСНДС = Документ.РозничнаяНакладная.СуммаСНДС;
               |СумСНДСВозврат= Документ.ВозвратРозница.СуммаСНДС;
               |НДСРозн = Документ.РозничнаяНакладная.НДС;
               |КодНДС = Документ.РозничнаяНакладная.ВидНДС.Код,Документ.ВозвратРозница.ВидНДС.Код;
               |" + ФирмаЗапр + "
               |Функция СуммаСНДСРозн = Сумма(СумСНДС);
               |Группировка Документ;
               |Группировка КодНДС;
               |"//}}ЗАПРОС
               ;          
           КонецЕсли;
       Иначе
           Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
               ФирмаЗапр = "Фирма =  Документ.РасходнаяРозничная.Фирма,Документ.ОтчетКА.Фирма,Документ.ВозвратРозница.Фирма;
               |Условие (Фирма = ВыбраннаяФирма);
               |";
           КонецЕсли;
           ТекстЗапрРозн =    "//{{ЗАПРОС(Розн)
           |Период с Дата11 по Дата22;
           |ОбрабатыватьДокументы Проведенные;  
           |СумСНДС1 = Документ.РасходнаяРозничная.БазаНДС1,Документ.ОтчетКА.БазаНДС1;
           |СумСНДС2 = Документ.РасходнаяРозничная.БазаНДС2,Документ.ОтчетКА.БазаНДС2;
           |СумСНДС3 = Документ.РасходнаяРозничная.БазаНДС3,Документ.ОтчетКА.БазаНДС3;
           |СумНДС3 = Документ.РасходнаяРозничная.НДС3,Документ.ОтчетКА.НДС3;
           |КонечныйПотребитель= Документ.РасходнаяРозничная.КонечныйПотребитель;
           |" + ФирмаЗапр + "
           |Функция СуммаСНДСРозн1 = Сумма(СумСНДС1);
           |Функция СуммаСНДСРозн2 = Сумма(СумСНДС2);
           |Функция СуммаСНДСРозн3 = Сумма(СумСНДС3);
           |Функция СуммаНДСРозн3 = Сумма(СумНДС3);
           |Условие(КонечныйПотребитель = 1);
           |"//}}ЗАПРОС
           ;
       КонецЕсли;
       
       ПЦ = 0;
       Пока ПЦ<10000 Цикл
           ПЦ = ПЦ + 1;
       КонецЦикла;
       
       Если фИспользоватьДанныеИзКнигиПродаж = 1 Тогда
           Парам = СоздатьОбъект("СписокЗначений");
           Парам.Установить("Действие",    "ДекларацияНДС");
           Парам.Установить("Запрос",        Розн);
           Парам.Установить("Дата1",        Дата11);
           Парам.Установить("Дата2",        Дата22);
           Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
               Парам.Установить("Фирма",    ВыбраннаяФирма);
           КонецЕсли;
           ОткрытьФормуМодально("Отчет.КнигаПродаж", Парам);
           Если Розн = 0 Тогда
               Предупреждение("Не выполнился запрос 2 по документам!");
               Возврат;
           КонецЕсли;
       Иначе
           Если Розн.Выполнить(ТекстЗапрРозн) = 0 Тогда
               Предупреждение("Не выполнился запрос 2 по документам!");
               Возврат;
           КонецЕсли;
       КонецЕсли;        
   КонецЕсли;    
   //І. Податкові зобов'язання
   П1АЗапрНН = 0;
   П1БЗапрНН=0;
   R22GA = 0;
   Если ЗапросНН.Получить("НДС20",,) = 1 Тогда
       //Операції, що оподатковуються за ставкою 20% (включаючи транзитні послуги згідно з
       //абзацом третім пункту 6.2.4, надання послуг згідно з останнім абзацом пункту 6.22 та
       //абзацом другим пункту 6.2.4 статті 6 Закону), крім операцій з ввезення імпортних
       //товарів, податок на додану вартість за які сплачується митним органам при розмитненні
       //по налоговым накладным
       П1АЗапрНН = ЗапросНН.СуммаБезНДС;
       П1БЗапрНН = ЗапросНН.НДС;
       Если ЕстьРеквизитВидОперации = 1 Тогда
           R22GA = ЗапросНН.СуммаБезНДС0;
       КонецЕсли;    
       П1БЗапрНН = ЗапросНН.НДС;
   КонецЕсли;    
   ДобавитьСтрокуРасшифровки( "R22GA", "Показник ""Операції, що оподатковуються за ставкою 0% : інші операції, що оподатковуються за нульовою ставкою"", графа ""Обсяги продажу без урахування ПДВ""","+", "По документам 'Налоговая накладная', со ставкой 20%, со ставкой 0% в табличной части", R22GA,,,,,,,,,,,,);    
   Если ПустоеЗначение(П1АЗапрНН)=1 Тогда
       П1АЗапрНН=0;
   КонецЕсли;
   Если ПустоеЗначение(П1БЗапрНН)=1 Тогда
       П1БЗапрНН=0;
   КонецЕсли;  
       
   //передача товарів (робіт, послуг) у межах балансу платника  для невиробничого
   //використання, витрати на яке не відносяться до валових витрат виробництва (обігу)
   //і не підлягають амортизації (п. 4.2 ст. 4 Закону)
   R11GA = 0; R11GB = 0;
   Пока СписТМЦ.Группировка("Документ") = 1 Цикл  
       R11GA= R11GA + СписТМЦ.СумБезНДС;    
       R11GB= R11GB + СписТМЦ.СумНДС;
   КонецЦикла;    
   
   //ліквідація основних фондів за рішенням платника (п. 4.9 ст. 4 Закону)
   R12GA = 0;R12GB = 0;
   Док =СоздатьОбъект("Документ");
   ДокЛиквНА = СоздатьОбъект("Документ.ЛиквидацияНеоборактивов");  
   ДокЛиквНА.ВыбратьДокументы(Дата11, Дата22);  
   Опер=СоздатьОбъект("Операция");    
   
   Пока (ДокЛиквНА.ПолучитьДокумент() > 0) Цикл
       ТекДок=ДокЛиквНА.ТекущийДокумент();  
       Если (ТекДок.Фирма = ВыбраннаяФирма) и (ТекДок.ВидЛиквидации = Перечисление.ВидыЛиквидацииНеоборАктивов.Списание) и (ТекДок.ТипСписания = Перечисление.ТипыСписанияНеоборАктивов.ПоРешениюНалогоплательщикаИлиКМУ) Тогда
           ТекНА = 0;
           Опер.НайтиОперацию(ТекДок);
           Опер.ВыбратьПроводки();
           Пока (Опер.ПолучитьПроводку()=1) Цикл
               //проверка на то, что начинаются проводки по новому НА
               Если ((Сред(Опер.Кредит.Счет.Код,1,2)="10") или (Сред(Опер.Кредит.Счет.Код,1,2)="11")) и (Опер.Кредит.НеоборотныеАктивы<> ТекНА)  Тогда  
                   //новый ОС и первая проводка по нему (начисление износа), начинаем анализировать,
                   //сбрасываем флажок, а текущим становится данный НА    
                   ТекНА = Опер.Кредит.НеоборотныеАктивы;  
                   ФлагНадобности=0;  
                   //кроме того, если  предыдущий НА относился ко 2 и 3 группе, то
                   Если (ФлагГруппы1 = 1) Тогда
                       R12GA = R12GA + БалСтоим;
                   Иначе
                       R12GA = R12GA + ОстСтоим;
                   КонецЕсли;
                   ФлагГруппы1=0;
                   //начало проводок    
                   //если следующий НА, то пробуем найти его остаточную и балансовую стоимость
                   Если (ТекНА.ВидНеоборотногоАктива = Перечисление.ВидыНеоборотныхАктивов.ОсновныеСредства) и
                   (ТекНА.Производственное = 1) Тогда
                       //начинаем перебирать проводки по этому субконто
                       ФлагНадобности=1;
                   Иначе
                       ФлагНадобности=0;
                   КонецЕсли;
                   Продолжить;        
               КонецЕсли;
               
               Если (Флагнадобности =1) и  ((Сред(Опер.Кредит.Счет.Код,1,2)="10") или (Сред(Опер.Кредит.Счет.Код,1,2)="11")) и
               ((Сред(Опер.Дебет.Счет.Код,1,1)="9") или (Сред(Опер.Дебет.Счет.Код,1,1)="8")) Тогда
                   ОстСтоим = Опер.Сумма;  
               КонецЕсли;
           
               Если (ФлагНадобности =1) и  (Сред(Опер.Дебет.Счет.Код,1,3)="ОС1") Тогда  
       //            Если (Опер.Сумма<>0) Тогда
                       БалСтоим = - Опер.Сумма;
                       ФлагГруппы1 = 1;
       //            КонецЕсли;
               КонецЕсли;
               
               Если ((ФлагНадобности =1) и  (Сред(Опер.Кредит.Счет.Код,1,4)="6415")) Тогда
                   R12GB = R12GB + Опер.Сумма;
               КонецЕсли;
               Продолжить;
           КонецЦикла;    
       Иначе
           Продолжить;
       КонецЕсли;    
   КонецЦикла;
   //
   Если (ФлагГруппы1 = 1) Тогда
       R12GA = R12GA + БалСтоим;
       БалСтоим = 0;
   Иначе
       R12GA = R12GA + ОстСтоим;
       ОстСтоим = 0;
   КонецЕсли;
   
   //Операції, що оподатк. за ставкою 20%, крім операцій із ввезення імпортних товарів,
   //податок на додану вартість за які сплачується митним органам при розмитненні
   R10GA = П1АЗапрНН + R11GA + R12GA;
   R10GB = П1БЗапрНН + R11GB + R12GB;  
                         
   ДобавитьСтрокуРасшифровки( "R10GA", "Показник ""Операції, що оподатковуються за ставкою 20 %, крім операцій із ввезення імпортних товарів, податок на додану вартість за які сплачується митним органам при розмитненні"", графа ""Обсяги продажу без урахування ПДВ""","+", "По документам 'Налоговая накладная', ставка НДС 20%.",П1АЗапрНН,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R10GA", "","+","по документам 'Списание ТМЦ', ставка НДС 20% " ,R11GA,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R10GA", "","+","по документам 'Ликвидация наоборотных активов'" ,R12GA,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R10GB", "Показник ""Операції, що оподатковуються за ставкою 20 %, крім операцій із ввезення імпортних товарів, податок на додану вартість за які сплачується митним органам при розмитненні"", графа ""Сума ПДВ""","+", "По документам 'Налоговая накладная', ставка НДС 20%.",П1БЗапрНН,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R10GB", "","+","по документам 'Списание ТМЦ', ставка НДС 20% " ,R11GB,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R10GB", "","+","по проводкам документа 'Ликвидация наоборотных активов'" ,R12GB,,,,,,,,,,,,);
   
   
   R22GA_расш1 = 0;
   R22GA_расш2 = 0;
   //операции за гривню, ставка 0%, все виды торговли
   Если ЕстьРеквизитВидОперации = 0 Тогда
       Для НомерВПереч = 1 по Перечисление.ВидыТорговли.КоличествоЗначений()  Цикл
           
           Если ЗапросНН.Получить("НДС0",Перечисление.ВидыТорговли.ЗначениеПоНомеру(НомерВПереч),Гривня) = 1 Тогда
               //Операції, що оподатковуються за ставкою 0%
               //б) інші операції, що оподатковуються за нульовою ставкою
               R22GA = Число(R22GA) + ЗапросНН.СуммаБезНДС;
           КонецЕсли;
       ДобавитьСтрокуРасшифровки( "R22GA", "Показник ""Операції, що оподатковуються за ставкою 0% : інші операції, що оподатковуються за нульовою ставкою"", графа ""Обсяги продажу без урахування ПДВ""","+", "По документам 'Налоговая накладная', ставка НДС 0%, вид торговли '" + Перечисление.ВидыТорговли.ЗначениеПоНомеру(НомерВПереч) +  "', валюта 'Гривня'.", ЗапросНН.СуммаБезНДС,,,,,,,,,,,,);    
       КонецЦикла;    
           
   Иначе
       
       Если ЗапросНН.Получить("НДС0",Перечисление.ВидыОперацийНалоговойНакладной.РеализацияВУкраине,Гривня) = 1 Тогда
           //Операції, що оподатковуються за ставкою 0%
           //б) інші операції, що оподатковуються за нульовою ставкою
           R22GA = Число(R22GA) + ЗапросНН.СуммаБезНДС;
           R22GA_расш1 = ЗапросНН.СуммаБезНДС;
       КонецЕсли;            
       ДобавитьСтрокуРасшифровки( "R22GA", "Показник ""Операції, що оподатковуються за ставкою 0% : інші операції, що оподатковуються за нульовою ставкою"", графа ""Обсяги продажу без урахування ПДВ""","+", "По документам 'Налоговая накладная', ставка НДС 0%, вид операции 'Реализация в Украины', валюта 'Гривня'.", R22GA_расш1,,,,,,,,,,,,);    
       Если ЗапросНН.Получить("НДС0",Перечисление.ВидыОперацийНалоговойНакладной.УсловнаяПродажа,Гривня) = 1 Тогда
           //Операції, що оподатковуються за ставкою 0%
           //б) інші операції, що оподатковуються за нульовою ставкою
           R22GA = Число(R22GA) + ЗапросНН.СуммаБезНДС;
       КонецЕсли;            
       ДобавитьСтрокуРасшифровки( "R22GA", "Показник ""Операції, що оподатковуються за ставкою 0% : інші операції, що оподатковуються за нульовою ставкою"", графа ""Обсяги продажу без урахування ПДВ""","+", "По документам 'Налоговая накладная', ставка НДС 0%, вид операции 'Условная продажа', валюта 'Гривня'.", R22GA_расш2,,,,,,,,,,,,);    
   КонецЕсли;
   
   Если ЕстьРеквизитВидОперации = 0 Тогда
       Если ЗапросНН.Получить("НДС0",,) = 1 Тогда
           //Операції, що оподатковуються за ставкою 0% а) експортні операції
           //по налоговым накладным
           R21GA = Число(ЗапросНН.СуммаБезНДС) - R22GA; //експорт = все операции 0% - операции за гривню 0%
       КонецЕсли;
       ДобавитьСтрокуРасшифровки( "R21GA", "Показник ""Операції, що оподатковуються за ставкою 0% : експортні операції"", графа ""Обсяги продажу без урахування ПДВ""","+", "По документам 'Налоговая накладная', ставка НДС 0%, вид торговли <Все виды торговли>, валюта <Не Гривня>.", R21GA,,,,,,,,,,,,);
   Иначе
       Если ЗапросНН.Получить("НДС0",Перечисление.ВидыОперацийНалоговойНакладной.Экспорт,) = 1 Тогда
           //Операції, що оподатковуються за ставкою 0% а) експортні операції
           //по налоговым накладным
           R21GA = Число(ЗапросНН.СуммаБезНДС);  
       КонецЕсли;
       ДобавитьСтрокуРасшифровки( "R21GA", "Показник ""Операції, що оподатковуються за ставкою 0% : експортні операції"", графа ""Обсяги продажу без урахування ПДВ""","+", "По документам 'Налоговая накладная', ставка НДС 0%, вид операции <экспорт>, валюта <Не Гривня>.", R21GA,,,,,,,,,,,,);
   КонецЕсли;
   
   Если ЗапросНН.Получить("БезНДС",,) = 1 Тогда
           //Операції, які звільнені від оподаткування (ст. 5 Закону, інші нормативно-правові акти)
           //по налоговым накладным
           R40GA = ЗапросНН.СуммаБезНДС;
   КонецЕсли;
   
   ДобавитьСтрокуРасшифровки( "R40GA", "Показник ""Операції, які звільнені від оподаткування (статті 5, 11 Закону, інші нормативно-правові акти)"", графа ""Обсяги продажу без урахування ПДВ""","+", "По документам 'Налоговая накладная', ставка БезНДС, вид торговли <Все виды торговли>", R40GA,,,,,,,,,,,,);
   
   //для расшифровок
   П1А_Розн_Расш = 0; П1А_Возв_Расш = 0; П1А_НДС_Расш = 0; П1Б_НДС_Расш = 0;  
   П2_2А_Розн_Расш = 0; П2_2А_Возв_Расш = 0;
   П4А_Розн_Расш = 0; П4А_Возв_Расш = 0;
   НДСРозн_Расш = 0; НДСВозв_Расш = 0;
   //
   Если ИдентификаторКонфигурации = "UBUOUSL" Тогда
       
       //ТОРГОВЛЯ ВКЛЮЧЕНА
       Если Шаблон("[глВключенУчасток(""Торговля"",'"+Дата1+"')]") = "Да" Тогда
           //новый запрос
           ДатаВЗапросе = Дата11;
           Пока ДатаВЗапросе <= Дата22 Цикл  
               НДС = 0; База20 = 0; База0 = 0; БазаБезНДС = 0;
               База20 = База20 - НДС;
               НДСВсего         = НДС;
               База20Всего         = База20;
               База0Всего         = База0;
               БазаБезНДСВсего     = БазаБезНДС;
           
               РознТорг.вНачалоВыборки();
               Если РознТорг.Получить(ДатаВЗапросе,)=1 Тогда
                   Пока РознТорг.Группировка("Док") = 1 Цикл
                       Если РознТорг.Возврат = 1 Тогда
                           Продолжить;
                       КонецЕсли;
                       текНДС          = 0;
                       текНДСВозврат = 0;
                       текНДСВсего           = 0;
                       текНДСВозвратВсего = 0;
                       // расчитаем сумму НДС
                       Если РознТорг.Возврат=0 Тогда
                           текНДС = Окр((РознТорг.ИСумма20)*Шаблон("[глПроцентНДС(ОсновнаяСтавкаНДС)]")/(100+Шаблон("[глПроцентНДС(ОсновнаяСтавкаНДС)]")),2);
                       Иначе
                           текНДСВозврат = Окр((РознТорг.ИСумма20)*Шаблон("[глПроцентНДС(ОсновнаяСтавкаНДС)]")/(100+Шаблон("[глПроцентНДС(ОсновнаяСтавкаНДС)]")),2);
                       КонецЕсли;
                       Если РознТорг.Возврат=0 Тогда
                           текНДСВсего = Окр((РознТорг.ИСумма20Всего)*Шаблон("[глПроцентНДС(ОсновнаяСтавкаНДС)]")/(100+Шаблон("[глПроцентНДС(ОсновнаяСтавкаНДС)]")),2);
                       Иначе
                           текНДСВозвратВсего = Окр((РознТорг.ИСумма20Всего)*Шаблон("[глПроцентНДС(ОсновнаяСтавкаНДС)]")/(100+Шаблон("[глПроцентНДС(ОсновнаяСтавкаНДС)]")),2);
                       КонецЕсли;
                       
                       НДС             = НДС          +    (текНДС            - текНДСВозврат);
                       База20         = База20     +    (РознТорг.ИСумма20    - РознТорг.ИСумма20Возврат);
                       База0         = База0      +    (РознТорг.ИСумма0    - РознТорг.ИСумма0Возврат);
                       БазаБезНДС     = БазаБезНДС + (РознТорг.ИСуммаБез - РознТорг.ИСуммаБезВозврат);
                       
                       НДСВсего         = НДСВсего           + (текНДСВсего                - текНДСВозвратВсего);
                       База20Всего         = База20Всего       + (РознТорг.ИСумма20Всего  - РознТорг.ИСумма20ВозвратВсего);
                       База0Всего         = База0Всего       + (РознТорг.ИСумма0Всего   - РознТорг.ИСумма0ВозвратВсего);
                       БазаБезНДСВсего     = БазаБезНДСВсего + (РознТорг.ИСуммаБезВсего - РознТорг.ИСуммаБезВозвратВсего);
                       
                       Если ПустоеЗначение(РознТорг.Скидка) = 0
14 xl
 
17.10.07
14:11
П1А_Розн_Расш = П1А_Розн_Расш + Розн.СуммаСНДСРозн;
                       R10GB = Число(R10GB) + НДС;
                   КонецЕсли;                              
                   
                   Если СокрЛП(Розн.КодНДС) = "НДС0" Тогда
                       //Операції, що оподатковуються за ставкою 0% а) експортні операції
                       //по розничным продажам                                                
                       
                       //Согласно п 4.5 Закона о НДС                                          
                       //R21GA = Число(R21GA) + (Розн.СуммаСНДСРозн - Розн.СуммаСНДСВозврат);
                       R21GA = Число(R21GA) + (Розн.СуммаСНДСРозн);
                       //П2_1А_Розн_Расш = П2_1А_Розн_Расш + Розн.СуммаСНДСРозн; П2_1А_Возв_Расш = П2_1А_Возв_Расш + Розн.СуммаСНДСВозврат;
                       П2_1А_Розн_Расш = П2_1А_Розн_Расш + Розн.СуммаСНДСРозн;
                   КонецЕсли;
                   Если СокрЛП(Розн.КодНДС) = "БезНДС" Тогда
                       //Операції, які звільнені від оподаткування (ст. 5 Закону, інші нормативно-правові акти)
                       //по розничным продажам                                                
                       
                       //Согласно п 4.5 Закона о НДС                                          
                       //R40GA = Число(R40GA) + (Розн.СуммаСНДСРозн - Розн.СуммаСНДСВозврат);
                       R40GA = Число(R40GA) + (Розн.СуммаСНДСРозн);
                       //П4А_Розн_Расш = П4А_Розн_Расш + Розн.СуммаСНДСРозн; П4А_Возв_Расш = П4А_Возв_Расш + Розн.СуммаСНДСВозврат;
                       П4А_Розн_Расш = П4А_Розн_Расш + Розн.СуммаСНДСРозн;
                   КонецЕсли;                    
               КонецЦикла;
           КонецЦикла;                            
       КонецЕсли;        
       
   Иначе
       
       Если ИдентификаторКонфигурации = "UBUTK" Тогда
           Пока Розн.Группировка("Документ") = 1 Цикл        
               //Согласно п 4.5 Закона о НДС
               //НДС = Число(Розн.НДСРозн) - Розн.НДСВозврат;
               НДС = Число(Розн.НДСРозн);
               
               //НДСРозн_Расш = НДСРозн_Расш + Розн.НДСРозн; НДСВозв_Расш = НДСВозв_Расш + Розн.НДСВозврат;
               НДСРозн_Расш = НДСРозн_Расш + Розн.НДСРозн; НДСВозв_Расш = НДСВозв_Расш;
               Пока Розн.Группировка("КодНДС") = 1 Цикл
                   Если СокрЛП(Розн.КодНДС) = "НДС20" Тогда
                       //Операції, що оподатковуються за ставкою 20% (включаючи транзитні послуги згідно з
                       //абзацом третім пункту 6.2.4, надання послуг згідно з останнім абзацом пункту 6.22 та
                       //абзацом другим пункту 6.2.4 статті 6 Закону), крім операцій з ввезення імпортних
                       //товарів, податок на додану вартість за які сплачується митним органам при розмитненні
                       //по розничным продажам      
                       
                       //Согласно п 4.5 Закона о НДС
                       //R10GA = Число(R10GA) + ((Розн.СуммаСНДСРозн - Розн.СуммаСНДСВозврат) - НДС);
                       R10GA = Число(R10GA) + ((Розн.СуммаСНДСРозн) - НДС);
                       //П1А_Розн_Расш = П1А_Розн_Расш + Розн.СуммаСНДСРозн; П1А_Возв_Расш = П1А_Возв_Расш + Розн.СуммаСНДСВозврат;
                       П1А_Розн_Расш = П1А_Розн_Расш + Розн.СуммаСНДСРозн; П1А_Возв_Расш = П1А_Возв_Расш;
                       R10GB = Число(R10GB) + НДС;
                   КонецЕсли;                              
                   
                   Если СокрЛП(Розн.КодНДС) = "НДС0" Тогда
                       //Операції, що оподатковуються за ставкою 0% а) експортні операції
                       //по розничным продажам      
                       
                       //Согласно п 4.5 Закона о НДС
                       //R21GA = Число(R21GA) + (Розн.СуммаСНДСРозн - Розн.СуммаСНДСВозврат);
                       R21GA = Число(R21GA) + (Розн.СуммаСНДСРозн);
                       //П2_1А_Розн_Расш = П2_1А_Розн_Расш + Розн.СуммаСНДСРозн; П2_1А_Возв_Расш = П2_1А_Возв_Расш + Розн.СуммаСНДСВозврат;
                       П2_1А_Розн_Расш = П2_1А_Розн_Расш + Розн.СуммаСНДСРозн; П2_1А_Возв_Расш = П2_1А_Возв_Расш;
                   КонецЕсли;
                   Если СокрЛП(Розн.КодНДС) = "БезНДС" Тогда
                       //Операції, які звільнені від оподаткування (ст. 5 Закону, інші нормативно-правові акти)
                       //по розничным продажам      
                       
                       //Согласно п 4.5 Закона о НДС
                       //R40GA = Число(R40GA) + (Розн.СуммаСНДСРозн - Розн.СуммаСНДСВозврат);
                       R40GA = Число(R40GA) + (Розн.СуммаСНДСРозн);
                       //П4А_Розн_Расш = П4А_Розн_Расш + Розн.СуммаСНДСРозн; П4А_Возв_Расш = П4А_Возв_Расш + Розн.СуммаСНДСВозврат;
                       П4А_Розн_Расш = П4А_Розн_Расш + Розн.СуммаСНДСРозн; П4А_Возв_Расш = П4А_Возв_Расш;
                   КонецЕсли;                    
               КонецЦикла;
           КонецЦикла;
       Иначе    
           //"НДС20"
           //Операції, що оподатковуються за ставкою 20% (включаючи транзитні послуги згідно з
           //абзацом третім пункту 6.2.4, надання послуг згідно з останнім абзацом пункту 6.22 та
           //абзацом другим пункту 6.2.4 статті 6 Закону), крім операцій з ввезення імпортних
           //товарів, податок на додану вартість за які сплачується митним органам при розмитненні
           //по розничным продажам
           
           НДС = Число(Розн.СуммаНДСРозн3);
           //НДС = Число(Розн.СуммаНДСРозн3) - Розн.СуммаНДСВозврат3;
           
           //Согласно п 4.5 Закона о НДС
           R10GA = Число(R10GA) + ((Розн.СуммаСНДСРозн3) - (НДС));
           //R10GA = Число(R10GA) + ((Розн.СуммаСНДСРозн3 - Розн.СуммаСНДСВозврат3) - (НДС));
           П1А_Розн_Расш = П1А_Розн_Расш + Розн.СуммаСНДСРозн3; П1А_Возв_Расш = П1А_Возв_Расш;
           //П1А_Розн_Расш = П1А_Розн_Расш + Розн.СуммаСНДСРозн3; П1А_Возв_Расш = П1А_Возв_Расш + Розн.СуммаСНДСВозврат3;
           R10GB = Число(R10GB) + НДС;
           
           //"НДС0"
           //Операції, що оподатковуються за ставкою 0% а) експортні операції
           //по розничным продажам
           
           //Согласно п 4.5 Закона о НДС
           R21GA = Число(R21GA) + (Розн.СуммаСНДСРозн2);
           //R21GA = Число(R21GA) + (Розн.СуммаСНДСРозн2 - Розн.СуммаСНДСВозврат2);
           П2_1А_Розн_Расш = П2_1А_Розн_Расш + Розн.СуммаСНДСРозн2; П2_1А_Возв_Расш = П2_1А_Возв_Расш;
           //П2_1А_Розн_Расш = П2_1А_Розн_Расш + Розн.СуммаСНДСРозн2; П2_1А_Возв_Расш = П2_1А_Возв_Расш + Розн.СуммаСНДСВозврат2;
           
           //"БезНДС"
           //Операції, які звільнені від оподаткування (ст. 5 Закону, інші нормативно-правові акти)
           //по розничным продажам
           //Согласно п 4.5 Закона о НДС
           R40GA = Число(R40GA) + (Розн.СуммаСНДСРозн1);
           //R40GA = Число(R40GA) + (Розн.СуммаСНДСРозн1 - Розн.СуммаСНДСВозврат1);                                        
           П4А_Розн_Расш = П4А_Розн_Расш + Розн.СуммаСНДСРозн1; П4А_Возв_Расш = П4А_Возв_Расш;
           //П4А_Розн_Расш = П4А_Розн_Расш + Розн.СуммаСНДСРозн1; П4А_Возв_Расш = П4А_Возв_Расш + Розн.СуммаСНДСВозврат1;
       КонецЕсли;    
   КонецЕсли;    
   ДобавитьСтрокуРасшифровки( "R10GA", "","+", "По документам 'Розничная накладная', ставка НДС 20% (суммы с НДС).", П1А_Розн_Расш,,,,,,,,,,,,);
   //ДобавитьСтрокуРасшифровки( "R10GA", "","-", "По документам 'Возврат розница', ставка НДС 20% (суммы с НДС).", П1А_Возв_Расш,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R10GA", "","-", "По документам 'Розничная накладная', ставка НДС 20%, сумма НДС.", НДСРозн_Расш,,,,,,,,,,,,);
   //ДобавитьСтрокуРасшифровки( "R10GA", "","+", "По документам 'Возврат розница', ставка НДС 20%, сумма НДС.", НДСВозв_Расш,,,,,,,,,,,,);

   ДобавитьСтрокуРасшифровки( "R10GB", "","+", "По документам 'Розничная накладная', ставка НДС 20%, сумма НДС.", НДСРозн_Расш,,,,,,,,,,,,);
   //ДобавитьСтрокуРасшифровки( "R10GB", "","-", "По документам 'Возврат розница', ставка НДС 20%, сумма НДС.", НДСВозв_Расш,,,,,,,,,,,,);
   
   ДобавитьСтрокуРасшифровки( "R21GA", "","+", "По документам 'Розничная накладная', ставка НДС 0%.", П2_1А_Розн_Расш,,,,,,,,,,,,);
   //ДобавитьСтрокуРасшифровки( "R21GA", "","-", "По документам 'Возврат розница', ставка НДС 0%.", П2_1А_Возв_Расш,,,,,,,,,,,,);
   
   ДобавитьСтрокуРасшифровки( "R40GA", "","+", "По документам 'Розничная накладная', ставка БезНДС.", П4А_Розн_Расш,,,,,,,,,,,,);
   //ДобавитьСтрокуРасшифровки( "R40GA", "","-", "По документам 'Возврат розница', ставка БезНДС.", П2_1А_Возв_Расш,,,,,,,,,,,,);
   
   R70GA = 0;
   R70GB = 0;
   Расш_R70GA = 0;
   Расш_R70GB = 0;
   
   Если ЕстьРеквизитВидОперации = 1 Тогда
       Если ЗапросНН.Получить("НДС20",Перечисление.ВидыОперацийНалоговойНакладной.РаботыОтНерезидента,) = 1 Тогда
           R70GA = R70GA + ЗапросНН.СуммаБезНДС;
           Расш_R70GA = ЗапросНН.СуммаБезНДС;
           R70GB = R70GB + ЗапросНН.НДС;    
           Расш_R70GB = ЗапросНН.НДС;
           R10GA = R10GA - R70GA;
           R10GB = R10GB - R70GB;
       КонецЕсли;
   КонецЕсли;    
   
   
   ДобавитьСтрокуРасшифровки( "R10GA", "","-", "По документам 'Налоговая накладная', вид операции 'Работы, полученные от нерезидента', ставка НДС <Все>, вид торговли <Все>.", R70GA,,,,,,,,,,,,);
   
   ДобавитьСтрокуРасшифровки( "R10GB", "","-", "По документам 'Налоговая накладная', вид операции 'Работы, полученные от нерезидента', ставка НДС <Все>, вид торговли <Все>.", R70GB,,,,,,,,,,,,);
   
   
   //Запрос по приложению №2 к Налоговой накладной
   Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
       ФирмаЗапр = "Фирма =  Документ.Приложение2.Фирма;
                   |Условие (Фирма = ВыбраннаяФирма);
                   |";
   КонецЕсли;
   ЗапросП2 = СоздатьОбъект("Запрос");  
       
       ТекстЗапросП2 =    "//{{ЗАПРОС(ЗапросП2)
       |Период с Дата1 по Дата2;
       |Док = Документ.Приложение2.ТекущийДокумент;
       |Контрагент = Документ.Приложение2.Контрагент;
       |НалоговаяНакладная = Документ.Приложение2.НалоговаяНакладная;
       |ИзмСумБезНДС = Документ.Приложение2.ИзмСуммыБезНДС;
       |ИзмНДС = Документ.Приложение2.ИзмНДС;
       |Дат = Документ.Приложение2.ДатаДок;
       |" + ФирмаЗапр + "
       |Функция ИзмСуммыБезНДС = Сумма(ИзмСумБезНДС);
       |Функция ИзмСуммыНДС = Сумма(ИзмНДС);
       |Группировка Док;
       |"//}}ЗАПРОС
       ;
       
   ПЦ = 0;
   Пока ПЦ<10000 Цикл
       ПЦ = ПЦ + 1;
   КонецЦикла;
   
   Если ЗапросП2.Выполнить(ТекстЗапросП2) = 0 Тогда
       Предупреждение("Не выполнился запрос 2 по документам!");
       Возврат;
   КонецЕсли;
   R83GA = 0;
   тбДляТаблицы1 = СоздатьОбъект("ТаблицаЗначений");
 
   Если ЗапросП2.Выгрузить(тбДляТаблицы1,"Дат,Док,Контрагент,НалоговаяНакладная,ИзмСуммыНДС,ИзмСуммыБезНДС",0) = 1 Тогда
         
       НомерСтроки = 1;
                                                 
       тбДляТаблицы1.ВыбратьСтроки();
       
       Пока  тбДляТаблицы1.ПолучитьСтроку() = 1 Цикл
           Если (НомерСтроки < 30) Тогда
               Префикс = Формат (НомерСтроки,"Ч(0)4.0");
               
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G2S");
               ВыбОбласть.Значение = тбДляТаблицы1.Контрагент.ПолнНаименование;  
               
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G3S");
               ВыбОбласть.Значение = тбДляТаблицы1.Контрагент.ИНН;  
               
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G4D");
               ДатаНН = тбДляТаблицы1.НалоговаяНакладная.ДатаДок;
               ВыбОбласть.Значение = ДатаНН;
               
               НомерНалоговойНакладной = "" + глНомерБезПрефикса(тбДляТаблицы1.НалоговаяНакладная.НомерДок);
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G5S");
               ВыбОбласть.Значение = НомерНалоговойНакладной;
               
               НомерКорректДокумента ="" + глНомерБезПрефикса(тбДляТаблицы1.Док.НомерДок) + "/" + глНомерБезПрефикса(тбДляТаблицы1.НалоговаяНакладная.НомерДок);
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G6S");
               ВыбОбласть.Значение = НомерКорректДокумента;
               
               ДатаКорректДокумента = тбДляТаблицы1.Док.ДатаДок;
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G7D");  
               ВыбОбласть.Значение = ДатаКорректДокумента;
               
               Основание = тбДляТаблицы1.Док.Примечание;
               ВыбОбласть = Таблица.Область("T1R"+Префикс+"G8S");
               ВыбОбласть.Значение = Основание;
               
               Если   тбДляТаблицы1.ИзмСуммыНДС > 0 Тогда  
                   ВыбОбласть = Таблица.Область("T1R"+Префикс+"G9");
                   ВыбОбласть.Значение =  тбДляТаблицы1.ИзмСуммыНДС;
                   Флаг_П2=1;
                   ДобавитьСтрокуРасшифровки( "T1R"+Префикс+"G9", "Показник ""Розрахунок коригування сум ПДВ (Додаток № 2) : Коригування податкових зобов'язань по податку на додану вартість, рядок 8"", графа ""Сума ПДВ(+)""","+", "По документам 'Приложение2'.", тбДляТаблицы1.ИзмСуммыНДС,,,,,,,,,,,,);
               ИначеЕсли тбДляТаблицы1.ИзмСуммыНДС < 0 Тогда
                   ВыбОбласть = Таблица.Область("T1R"+Префикс+"G10");
                   ВыбОбласть.Значение = - тбДляТаблицы1.ИзмСуммыНДС;
                   Флаг_П2=1;
                   ДобавитьСтрокуРасшифровки( "T1R"+Префикс+"G10", "Показник ""Розрахунок коригування сум ПДВ (Додаток № 2) : Коригування податкових зобов'язань по податку на додану вартість, рядок 8"", графа ""Сума ПДВ(+)""","+", "По документам 'Приложение2'.", - тбДляТаблицы1.ИзмСуммыНДС,,,,,,,,,,,,);
               КонецЕсли;    
               R83GA = R83GA + тбДляТаблицы1.ИзмСуммыБезНДС;
               
               НомерСтроки = НомерСтроки + 1;
           Иначе    
               Прервать;
           КонецЕсли;                        
       КонецЦикла;    
   КонецЕсли;
   
   //Коригування на основі попередніх звітних періодів (- чи +). У разі заповнення цієї графи
   //є обов'язковим подання додатка №2 до декларації
   //там же указываются и самостоятельно выявленные ошибки
   //сначала выполняется проверка на предмет наличия приложений 2 к налоговым накладным

   R83GB = (Округ(T1R0001G9) - Округ(T1R0001G10))
         + (Округ(T1R0002G9) - Округ(T1R0002G10))
         + (Округ(T1R0003G9) - Округ(T1R0003G10))
         + (Округ(T1R0004G9) - Округ(T1R0004G10))  
         + (Округ(T1R0005G9) - Округ(T1R0005G10))
         + (Округ(T1R0006G9) - Округ(T1R0006G10))
         + (Округ(T1R0007G9) - Округ(T1R0007G10))
         + (Округ(T1R0008G9) - Округ(T1R0008G10))
         + (Округ(T1R0009G9) - Округ(T1R0009G10))
         + (Округ(T1R0010G9) - Округ(T1R0010G10))
         + (Округ(T1R0011G9) - Округ(T1R0011G10))
         + (Округ(T1R0012G9) - Округ(T1R0012G10))
         + (Округ(T1R0013G9) - Округ(T1R0013G10))
         + (Округ(T1R0014G9) - Округ(T1R0014G10))
         + (Округ(T1R0015G9) - Округ(T1R0015G10))
         + (Округ(T1R0016G9) - Округ(T1R0016G10))
         + (Округ(T1R0017G9) - Округ(T1R0017G10))
         + (Округ(T1R0018G9) - Округ(T1R0018G10))
         + (Округ(T1R0019G9) - Округ(T1R0019G10))  
         + (Округ(T1R0020G9) - Округ(T1R0020G10))
         + (Округ(T1R0021G9) - Округ(T1R0021G10))
         + (Округ(T1R0022G9) - Округ(T1R0022G10))
         + (Округ(T1R0023G9) - Округ(T1R0023G10))
         + (Округ(T1R0024G9) - Округ(T1R0024G10))
         + (Округ(T1R0025G9) - Округ(T1R0025G10))
         + (Округ(T1R0026G9) - Округ(T1R0026G10))
         + (Округ(T1R0027G9) - Округ(T1R0027G10))
         + (Округ(T1R0028G9) - Округ(T1R0028G10))
         + (Округ(T1R0029G9) - Округ(T1R0029G10));
   //если один из таких показателей не равен нулю то, расшифровываем их
   //в противном случае в этих ячейках могут быть указаны самостоятельно выявленные ошибки
   //поэтому расшифровка смысла не имеет
   
   //Запрос по документу "Запись книги приобретения"
   Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
       ФирмаЗапр = "Фирма =  Документ.ЗаписьКнигиПриобретения.Фирма;
                   |Условие (Фирма = ВыбраннаяФирма);
                   |";
   КонецЕсли;
   Запр = СоздатьОбъект("Запрос");
   ТекстЗапр = "//{{ЗАПРОС(Запр)
   |Период с Дата1 по Дата2;
   |СуммаБезНДС = Документ.ЗаписьКнигиПриобретения.СуммаБезНДС;
   |НДС = Документ.ЗаписьКнигиПриобретения.НДС;
   |СуммаСНДС = Документ.ЗаписьКнигиПриобретения.СуммаСНДС;  
   |ВалРасх = Документ.ЗаписьКнигиПриобретения.ВаловыеРасходы;
   |НалКред = Документ.ЗаписьКнигиПриобретения.НалоговыйКредит;
   |ВидОп = Документ.ЗаписьКнигиПриобретения.ВидОперации;
   |ВидНДС = Документ.ЗаписьКнигиПриобретения.ВидНДС.Код;
   |ДляОблагаемых = Документ.ЗаписьКнигиПриобретения.ДляОблагаемыхОпераций;
   |ДляУслуг = Документ.ЗаписьКнигиПриобретения.ДляПоставкиУслуг;
   |" + ФирмаЗапр + "
   |Функция Сумма = Сумма(СуммаБезНДС);
   |Функция СуммаНДС = Сумма(НДС);
   |Группировка ВидОп;
   |Группировка ВидНДС;
   |Группировка ВалРасх;
   |Группировка ДляОблагаемых;
   |Группировка НалКред;
   |Группировка ДляУслуг;
   |"//}}ЗАПРОС
   ;  
   ПЦ = 0;
   Пока ПЦ<10000 Цикл
       ПЦ = ПЦ + 1;
   КонецЦикла;

   Если Запр.Выполнить(ТекстЗапр) = 0 Тогда
       Предупреждение("Не выполнился запрос 3 по документам!");
       Возврат;
   КонецЕсли;  
   
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ИмпортПоВекселю,,,,,) = 1 Тогда
       //Обсяг товарів ввезених (пересланих) на митну територію України  протягом звітного
       //періоду, сплату ПДВ по яких було відстрочено шляхом оформлення податкового векселя
       //(п. 11.5 ст. 11 Закону)
       R60GA = Запр.Сумма;
       R60GB = Запр.СуммаНДС;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R60GA", "Показник ""Обсяг товарів, які протягом звітного періоду були ввезені (переслані) на митну територію України і сплату ПДВ за які було відстрочено шляхом оформлення податкового векселя (п. 11.5 ст. 11 Закону)"", графа ""Обсяги продажу без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт товаров, на которые оформлен налоговый вексель', ставка НДС <Все>, валовые расходы <Все>, облагаемые налогом <Все>, налоговый кредит <Все>.", R60GA,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R60GB", "Показник ""Обсяг товарів, які протягом звітного періоду були ввезені (переслані) на митну територію України і сплату ПДВ за які було відстрочено шляхом оформлення податкового векселя (п. 11.5 ст. 11 Закону)"", графа ""Сума ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт товаров, на которые оформлен налоговый вексель', ставка НДС <Все>, валовые расходы <Все>, облагаемые налогом <Все>, налоговый кредит <Все>.", R60GB,,,,,,,,,,,,);
   
   Расш2_R70GA = 0;
   Расш2_R70GB = 0;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидента,,,,,) = 1 Тогда
       //Роботи (послуги), отримані від нерезидента (останній абзац п. 4.3 ст. 4 Закону)
       Расш2_R70GA = Запр.Сумма;
       Расш2_R70GB = Запр.СуммаНДС;
       R70GA = R70GA + Запр.Сумма;
       R70GB = R70GB + Запр.СуммаНДС;
   КонецЕсли;
   
       
   ДобавитьСтрокуРасшифровки( "R70GA", "Показник ""Послуги, отримані від нерезидента на митній території України"", графа ""Обсяги продажу без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Работы, полученные от нерезидента', ставка НДС <Все>, валовые расходы <Все>, облагаемые налогом <Все>, налоговый кредит <Все>.", Расш2_R70GA,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R70GB", "Показник ""Послуги, отримані від нерезидента на митній території України"", графа ""Сума ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Работы, полученные от нерезидента', ставка НДС <Все>, валовые расходы <Все>, облагаемые налогом <Все>, налоговый кредит <Все>.", Расш2_R70GB,,,,,,,,,,,,);
                           

   ДобавитьСтрокуРасшифровки( "R70GA", "",
   "+", "По документам 'Налоговая накладная', вид операции 'Работы, полученные от нерезидента', ставка НДС <Все>, вид торговли <Все>.", Расш_R70GA,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R70GB", "",
   "+", "По документам 'Налоговая накладная', вид операции 'Работы, полученные от нерезидента', ставка НДС <Все>, вид торговли <Все>.", Расш_R70GB,,,,,,,,,,,,);

   //Придбані з податком на додану вартість на митній території України товари (роботи,
   //послуги), вартість яких включається до складу валових витрат виробництва (обігу), та
   //основні фонди і нематеріальні активи, які підлягають амортизації:
   //а) для здійснення операцій, які підлягають оподаткуванню
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС20",1,1,1,) = 1 Тогда
       П10аА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС0",1,1,1,) = 1 Тогда
       П10аА2 = Запр.Сумма;
   КонецЕсли;
   R101GA = Число(П10аА1) + Число(П10аА2);
   ДобавитьСтрокуРасшифровки( "R101GA", "Показник ""Придбані з податком на додану вартість на митній території України товари (послуги)  з метою їх використання у межах господарської діяльності платника податку : для здійснення операцій, які підлягають оподаткуванню"", графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 20%, для исп.в хоз.деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", П10аА1,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R101GA","",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 0%, для исп.в хоз.деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", П10аА2,,,,,,,,,,,,);
   
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС20",1,1,1,) = 1 Тогда
       R101GB = Запр.СуммаНДС;
   КонецЕсли;                
   ДобавитьСтрокуРасшифровки( "R101GB", "Показник ""Придбані з податком на додану вартість на митній території України товари (послуги) з метою їх використання у межах господарської діяльності платника податку : для здійснення операцій, які підлягають оподаткуванню"", графа ""Дозволений податковий кредит""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 20%, для исп.в хоз.деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", R101GB,,,,,,,,,,,,);
   
   //б) для здійснення операцій, які не підлягають оподаткуванню (п.3.2  ст.3 Закону), або/та звільнені від оподаткування (ст. 5 Закону, інші нормативно-правові акти)
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС20",1,0,0,0) = 1 Тогда
       П10бА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС0",1,0,0,0) = 1 Тогда
       П10бА2 = Запр.Сумма;
   КонецЕсли;
   R102GA = Число(П10бА1) + Число(П10бА2);
   ДобавитьСтрокуРасшифровки( "R102GA", "Показник ""Придбані з податком на додану вартість на митній території України товари (послуги) з метою їх використання у межах господарської діяльності платника податку : для здійснення операцій, які не підлягають оподаткуванню (п. 3.2 ст. 3 Закону) або/та звільнені від оподаткування (ст. 5, 11 Закону, інші нормативно-правові акти)"", графа ""Обсяги продажу без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 20%, для исп.в хоз.деят-ти 'Да', облагаемые налогом 'Нет', налоговый кредит 'Нет',поставка услуг 'Нет'.", П10бА1,,,,,,,,,,,,);
   ДобавитьСтрокуРасшифровки( "R102GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 0%, для исп.в хоз.деят-ти 'Да', облагаемые налогом 'Нет', налоговый кредит 'Нет',поставка услуг 'Нет'.", П10бА2,,,,,,,,,,,,);
   
   //Придбані без податку на додану вартість на митній території України товари (роботи,
   //послуги), вартість яких включається до складу валових витрат виробництва (обігу), та
   //основні фонди й нематеріальні активи, які підлягають амортизації:
   //а) для здійснення операцій, які підлягають оподаткуванню
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"БезНДС",1,1,0,) = 1 Тогда
       R111GA = Запр.Сумма;
   КонецЕсли;            
   ДобавитьСтрокуРасшифровки( "R111GA", "Показник ""Придбані без податку на додану вартість на митній території України товари (послуги) з метою їх використання у межах господарської діяльності платника податкуть амортизації : для здійснення операцій, які підлягають оподаткуванню"", графа ""Обсяги продажу без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка БезНДС, для исп.в хоз.деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Нет'.", R111GA,,,,,,,,,,,,);
   //б) для здійснення операцій, які не підлягають оподаткуванню (п.3.2 ст.3 Закону), або/та  звільнені від оподаткування (ст. 5 Закону, інші нормативно-правові акти)
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"БезНДС",1,0,0,0) = 1 Тогда
       R112GA = Запр.Сумма;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R112GA", "Показник ""Придбані без податку на додану вартість на митній території України товари (послуги)з метою їх використання у межах господарської діяльності платника податкуть амортизації : для здійснення операцій, які не підлягають оподаткуванню (п. 3.2 ст. 3 Закону) або/та звільнені від оподаткування (ст. 5, 11 Закону, інші нормативно-правові акти)"", графа ""Обсяги продажу без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка БезНДС, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Нет', налоговый кредит 'Нет'.", R112GA,,,,,,,,,,,,);
   
   //Імпортовані товари (роботи, послуги), вартість яких включається до складу валових витрат
   //виробництва (обігу), та основні фонди й нематеріальні активи, які підлягають амортизації
   //(для здійснення операцій, які підлягають оподаткуванню, включаючи й операції, що
   //оподатковуються за нульовою ставкою):
   //а) ПДВ, сплачений митним органам
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"НДС20",1,1,1,) = 1 Тогда
       П12аА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"НДС0",1,1,1,) = 1 Тогда
       П12аА2 = Запр.Сумма;
   КонецЕсли;
   R121GA = Число(П12аА1) + Число(П12аА2);
   ДобавитьСтрокуРасшифровки( "R121GA", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податку (для здійснення операцій, які оподатковуються за ставкою 20 % та нульовою ставкою) : ПДВ, сплачений митним органам"", графа ""Обсяги продажу без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", П12аА1,,,,,,,,,,,,);                                                                                                                                                                                            
   ДобавитьСтрокуРасшифровки( "R121GA", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податку (для здійснення операцій, які оподатковуються за ставкою 20 % та нульовою ставкою) : ПДВ, сплачений митним органам"", графа ""Обсяги продажу без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка НДС 0%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", П12аА2,,,,,,,,,,,,);
   
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"НДС20",1,1,1,) = 1 Тогда
       R121GB = Запр.СуммаНДС;
   КонецЕсли;                
   ДобавитьСтрокуРасшифровки( "R121GB", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податку (для здійснення операцій, які оподатковуються за ставкою 20 % та нульовою ставкою) : ПДВ, сплачений митним органам"", графа ""Дозволений податковий кредит""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", R121GB,,,,,,,,,,,,);
   
   //б) податкові векселі, погашені у попередньому звітному періоді, або в поточному звітному
   //періоді за умови дострокової їх оплати,  що дають право на збільшення податкового кредиту
   //в поточному звітному періоді
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ВексельПрошлогоПериода,"НДС20",1,1,1,) = 1 Тогда
       R122GA = Запр.Сумма;
       R122GB = Запр.СуммаНДС;
   КонецЕсли;
   
   ДобавитьСтрокуРасшифровки( "R122GA", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податку (для здійснення операцій, які оподатковуються за ставкою 20 % та нульовою ставкою) : погашені податкові векселі, що дають право на збільшення податкового кредиту в поточному звітному періоді"", графа ""Обсяги придбання""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Нал. вексель погашен в прошлом периоде', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", R122GA,,,,,,,,,,,,);

   
   ДобавитьСтрокуРасшифровки( "R122GB", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податку (для здійснення операцій, які оподатковуються за ставкою 20 % та нульовою ставкою) : погашені податкові векселі, що дають право на збільшення податкового кредиту в поточному звітному періоді"", графа ""Дозволений податковий кредит""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Нал. вексель погашен в прошлом периоде', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", R122GB,,,,,,,,,,,,);
   
   //в) звільнені від  ПДВ (пп 5.1, 5.3, 5.5, ст. 5 Закону, інші нормативно-правові акти)
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"БезНДС",1,1,0,) = 1 Тогда
       R123GA = Запр.Сумма;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R123GA", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податк (для здійснення операцій, які оподатковуються за ставкою 20 % та нульовою ставкою) : звільнені від ПДВ (ст. 5, 11 Закону, інші нормативно-правові акти)"", графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка БезНДС, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Нет'.", R123GA,,,,,,,,,,,,);
   
   //г) роботи (послуги), отримані від нерезидента
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидентаПрошлогоПериода,"НДС20",1,1,1,) = 1 Тогда
       П12гА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидентаПрошлогоПериода,"НДС0",1,1,1,) = 1 Тогда
       П12гА2 = Запр.Сумма;
   КонецЕсли;  
   R124GA = Число(П12гА1) + Число(П12гА2) ;
   ДобавитьСтрокуРасшифровки( "R124GA",
15 insider
 
17.10.07
14:12
(12),(13) ты в порядке? еще глобальник вывали сюда...
16 xl
 
17.10.07
14:12
"+", "По документам 'Запись книги приобретения', вид операции 'Учтены работы, полученнные от нерезидента в прошлом периоде', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", П12гА1,,,,,,,,,,,,);                                                                                                                                                                            
   ДобавитьСтрокуРасшифровки( "R124GA", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податкуть амортизації (для здійснення операцій, які оподатковуються за ставкою 20 % та нульовою ставкою) : роботи (послуги), отримані від нерезидента"", графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Учтены работы, полученнные от нерезидента в прошлом периоде', ставка НДС 0%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", П12гА2,,,,,,,,,,,,);
   
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидентаПрошлогоПериода,"НДС20",1,1,1,) = 1 Тогда
       R124GB = Запр.СуммаНДС;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R124GB", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податку (для здійснення операцій, які оподатковуються за ставкою 20 % та нульовою ставкою) : роботи (послуги), отримані від нерезидента"", графа ""Дозволений податковий кредит""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Учтены работы, полученнные от нерезидента в прошлом периоде', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Да', налоговый кредит 'Да'.", R124GB,,,,,,,,,,,,);
   
   //Імпортовані товари (роботи, послуги), з метою їх використання у межах господарської діяльності платника податку
   //(для здійснення операцій, які не підлягають оподаткуванню (п. 3.2 ст. 3 Закону) або/та
   //звільнених від оподаткування (ст.5 Закону, інші нормативно-правові акти):
   //а) ПДВ, сплачений митним органам
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"НДС20",1,0,0,) = 1 Тогда
       П13аА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"НДС0",1,0,0,) = 1 Тогда
       П13аА2 = Запр.Сумма;
   КонецЕсли;
   
   R131GA =Число(П13аА1) + Число(П13аА2);
   ДобавитьСтрокуРасшифровки( "R131GA", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податкуть амортизації, з рядка 13 - для здійснення операцій, які не підлягають оподаткуванню (п. 3.2 ст. 3 Закону) : ПДВ, сплачений митним органам"", графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Нет', налоговый кредит 'Нет'.", П13аА1,,,,,,,,,,,,);                                                                                                                                                                                                        
   ДобавитьСтрокуРасшифровки( "R131GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка НДС 0%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Нет', налоговый кредит 'Нет'.", П13аА2,,,,,,,,,,,,);
   
   //б) звільнені від ПДВ ( п. 5.1, п. 5.3 та 5.5 ст. 5 Закону, інші нормативно-правові акти)
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"БезНДС",1,0,0,) = 1 Тогда
       R132GA = Запр.Сумма;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R132GA", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податкуть амортизації, з рядка 13 - для здійснення операцій, які не підлягають оподаткуванню (п. 3.2 ст. 3 Закону) : звільнені від ПДВ (ст. 5, 11 Закону, інші нормативно-правові акти)"", графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка БезНДС, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Нет', налоговый кредит 'Нет'.", R132GA,,,,,,,,,,,,);
   
   
   //в) роботи (послуги), отримані від нерезидента
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидентаПрошлогоПериода,"НДС20",1,0,0,) = 1 Тогда
       П13вА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидентаПрошлогоПериода,"НДС0",1,0,0,) = 1 Тогда
       П13вА2 = Запр.Сумма;
   КонецЕсли;  
   
   R133GA = Число(П13вА1) + Число(П13вА2);
   ДобавитьСтрокуРасшифровки( "R133GA", "Показник ""Імпортовані товари (послуги) з метою їх використання у межах господарської діяльності платника податкуть амортизації, з рядка 13 - для здійснення операцій, які не підлягають оподаткуванню (п. 3.2 ст. 3 Закону) : послуги, отримані від нерезидента"", графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Учтены работы, полученнные от нерезидента в прошлом периоде', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Нет', налоговый кредит 'Нет'.", П13вА1,,,,,,,,,,,,);                                                                                                                                                                                                        
   ДобавитьСтрокуРасшифровки( "R133GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Учтены работы, полученнные от нерезидента в прошлом периоде', ставка НДС 0%, для исп. в хоз. деят-ти 'Да', облагаемые налогом 'Нет', налоговый кредит 'Нет'.", П13вА2,,,,,,,,,,,,);
   
  //Придбання (виготовлення, будівництво, спорудження) з податком
  //на додану вартість вітчизняних товарів (послуг) та основних
  //фондів, імпорт товарів та отримання від нерезидента на митній
  //території України послуг, які не призначаються для їх використання
  //у господарській діяльності
  //а) на митній території України
   R140GA = 0;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС20",0,,0,) = 1 Тогда
       П14аА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС0",0,,0,) = 1 Тогда
       П14аА2 = Запр.Сумма;
   КонецЕсли;
   R140GA = Число(П14аА1) + Число(П14аА2);
   ДобавитьСтрокуРасшифровки( "R140GA", "Показник ""Придбання (виготовлення, будівництво, спорудження) з податком на додану вартість вітчизняних товарів (послуг) та основних фондів, імпорт товарів та отримання від нерезидента на митній території України послуг, які не призначаються для їх використання у господарській діяльності, графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 20%, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.", П14аА1,,,,,,,,,,,,);                                                                                                                                                                                                        
   
   ДобавитьСтрокуРасшифровки( "R140GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 0%, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.", П14аА2,,,,,,,,,,,,);
   
   
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС20",1,0,0,1) = 1 Тогда
       П14гА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"НДС0",1,0,0,1) = 1 Тогда
       П14гА2 = Запр.Сумма;
   КонецЕсли;
   R140GA = R140GA + Число(П14гА1) + Число(П14гА2);
   ДобавитьСтрокуРасшифровки( "R140GA", "Показник ""Придбання (виготовлення, будівництво, спорудження) з податком на додану вартість вітчизняних товарів (послуг) та основних фондів, імпорт товарів та отримання від нерезидента на митній території України послуг, які не призначаються для їх використання у господарській діяльності, графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 20%, для исп. в хоз. деят-ти 'Да', облагаемые налогом <Нет>, налоговый кредит 'Нет',поставка услуг 'Да.'", П14гА1,,,,,,,,,,,,);                                                                                                                                                                                                        
   
   ДобавитьСтрокуРасшифровки( "R140GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка НДС 0%, для исп. в хоз. деят-ти 'Да', облагаемые налогом <Нет>, налоговый кредит 'Нет',поставка услуг 'Да.'.", П14гА2,,,,,,,,,,,,);

   
   
   //б) ввезені (переслані) із-за меж митної території України
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"НДС20",0,,0,) = 1 Тогда
       П14бА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"НДС0",0,,0,) = 1 Тогда
       П14бА2 = Запр.Сумма;
   КонецЕсли;  
   
   R140GA = R140GA + Число(П14бА1) + Число(П14бА2);
   
   ДобавитьСтрокуРасшифровки( "R140GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка НДС 20%, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.", П14бА1,,,,,,,,,,,,);                                                                                                                                                                                                        
   ДобавитьСтрокуРасшифровки( "R140GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка НДС 0%, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.", П14бА2,,,,,,,,,,,,);
   
   //в) роботи (послуги), отримані від нерезидента
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидентаПрошлогоПериода,"НДС20",0,,0,) = 1 Тогда
       П14вА1 = Запр.Сумма;
   КонецЕсли;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидентаПрошлогоПериода,"НДС0",0,,0,) = 1 Тогда
       П14вА2 = Запр.Сумма;
   КонецЕсли;
   
   R140GA = R140GA + Число(П14вА1) + Число(П14вА2);
   
   ДобавитьСтрокуРасшифровки( "R140GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Учтены работы, полученнные от нерезидента в прошлом периоде', ставка НДС 20%, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.", П14вА1,,,,,,,,,,,,);                                                                                                                                                                                                        
   ДобавитьСтрокуРасшифровки( "R140GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Учтены работы, полученнные от нерезидента в прошлом периоде', ставка НДС 0%, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.", П14вА2,,,,,,,,,,,,);
   
   //Придбання (виготовлення, будівництво, спорудження) без податку
   //на додану вартість вітчизняних товарів (послуг) та основних
   //фондів, імпорт товарів та отримання від нерезидента на митній
   //території України послуг, які не призначаються для їх використання
   //у господарській діяльності, або з метою їх використання для
   //поставки послуг за межами митної території України
   R150GA = 0;  
   ПокупкаНаТерритории = 0;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"БезНДС",0,,0,) = 1 Тогда
       ПокупкаНаТерритории = Запр.Сумма;
       R150GA = ПокупкаНаТерритории;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R150GA", "Показник ""Придбання без податку на додану вартість  вітчизняних товарів (послуг) та основних фондів,
   |імпорт товарів та отримання від нерезидента на митній території України послуг, які не призначаються для їх використання у господарській діяльності, графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка БезНДС, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.", ПокупкаНаТерритории,,,,,,,,,,,,);                                                                                                                                                                                                        
   
   ПокупкаНаТерриторииДляУслуг = 0;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПокупкаВУкраине,"БезНДС",1,0,0,1) = 1 Тогда
       ПокупкаНаТерриторииДляУслуг = Запр.Сумма;
       R150GA = R150GA + ПокупкаНаТерриторииДляУслуг;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R150GA", "Показник ""Придбання без податку на додану вартість  вітчизняних товарів (послуг) та основних фондів,
   |імпорт товарів та отримання від нерезидента на митній території України послуг, які не призначаються для їх використання у господарській діяльності,або з метою їх використання для
   |поставки послуг графа ""Обсяги придбання без урахування ПДВ""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Покупка на территории Украины', ставка БезНДС, для исп. в хоз. деят-ти 'Да', облагаемые налогом'Нет', налоговый кредит 'Нет', поставка услуг 'да'..", ПокупкаНаТерриторииДляУслуг,,,,,,,,,,,,);                                                                                                                                                                                                        
   

   
   //б) ввезені (переслані) з-за меж митної території України
   Импорт = 0;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.Импорт,"БезНДС",0,,0,) = 1 Тогда
       Импорт = Запр.Сумма;
       R150GA = R150GA + Импорт;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R150GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Импорт с оплатой НДС по ГТД', ставка БезНДС, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.",Импорт,,,,,,,,,,,,);                                                                                                                                                                                                        
   
   //в) роботи (послуги), отримані від нерезидента
   УслугиНерезидента = 0;
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.РаботыОтНерезидентаПрошлогоПериода,"БезНДС",0,,0,) = 1 Тогда
       УслугиНерезидента = Запр.Сумма;
       R150GA = R150GA + УслугиНерезидента;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R150GA", "",
   "+", "По документам 'Запись книги приобретения', вид операции 'Учтены работы, полученнные от нерезидента в прошлом периоде', ставка БезНДС, для исп. в хоз. деят-ти 'Нет', облагаемые налогом <Все>, налоговый кредит 'Нет'.", УслугиНерезидента,,,,,,,,,,,,);                                                                                                                                                                                                        
   
   //Коригування платежів з урахуванням положень про вексельну форму оплати податку на додану
   //вартість при ввезенні (пересиланні) товарів на митну територію України (п. 11.5 ст. 5
   //Закону):
   //б) до збільшення (+): суми податку на додану вартість, які підлягають оплаті або оплачені
   //в поточному звітному періоді (термін оплати векселя настав або вексель оплачено
   //достроково в поточному звітному періоді)(податкові векселі, які оплачені в звітному
   //періоді, незалежно від того, в якому звітному періоді їх видано)
   Если Запр.Получить(Перечисление.ВидыОперацийКнигиПриобретения.ПогашениеНалоговогоВекселя,,,,,) = 1 Тогда
       R192GB = Запр.СуммаНДС;
   КонецЕсли;
   ДобавитьСтрокуРасшифровки( "R192GB", "Показник ""Коригування платежів з урахуванням положень про вексельну форму оплати податку на додану вартість при ввезенні (пересиланні) товарів на митну територію України (п. 11.5 ст. 11 Закону) : до збільшення (+):суми податку на додану вартість, які підлягають включенню до складу податкових зобов'язань у поточному звітному періоді (податкові векселі, термін погашення яких припадає на поточний звітний період) "", графа ""Колонка Б""",
   "+", "По документам 'Запись книги приобретения', вид операции 'Погашение налогового векселя', ставка БезНДС, валовые расходы <Все>, облагаемые налогом <Все>, налоговый кредит <Все>.", R192GB,,,,,,,,,,,,);                                                                                                                                                                                                        
   
   //Коригування перенарахованого (-) та недорахованого (+) податкового кредиту за попередній
   //звітний період. У разі заповнення цієї графи є обов'язковим подання додатка №2 до
   //декларації  
   
   Если Форма.ВыбраннаяФирма.Видимость()=1 Тогда
       ФирмаЗапр = "Фирма =  Документ.ЗаписьКнигиПриобретения.Фирма;
                   |Условие (Фирма = ВыбраннаяФирма);
                   |";
   КонецЕсли;
   
   ЗапрДляТабл2Приложения = СоздатьОбъект("Запрос");
   ТекстЗапр = "//{{ЗАПРОС(Запр)
   |Период с Дата1 по Дата2;
   |Дат = Документ.ЗаписьКнигиПриобретения.ДатаДок;
   |Док = Документ.ЗаписьКнигиПриобретения.ТекущийДокумент;
   |Контрагент = Документ.ЗаписьКнигиПриобретения.Контрагент;
   |СуммаБезНДС = Документ.ЗаписьКнигиПриобретения.СуммаБезНДС;
   |НДС = Документ.ЗаписьКнигиПриобретения.НДС;
   |ВидОп = Документ.ЗаписьКнигиПриобретения.ВидОперации;
   |" + ФирмаЗапр + "
   |Условие (ВидОп = Перечисление.ВидыОперацийКнигиПриобретения.РасчетКорректировки);
   |Функция Сумма = Сумма(СуммаБезНДС);
   |Функция СуммаНДС = Сумма(НДС);
   |Группировка Док;
   |"//}}ЗАПРОС
   ;  
   Если ЗапрДляТабл2Приложения.Выполнить(ТекстЗапр) = 0 Тогда
       Предупреждение("Не выполнился запрос по документам!");
       Возврат;
   КонецЕсли;
   
   тбДляТаблицы2 = СоздатьОбъект("ТаблицаЗначений");
   R162GA = 0;
   Если ЗапрДляТабл2Приложения.Выгрузить(тбДляТаблицы2,"Дат,Док,Контрагент,Сумма,СуммаНДС",0) = 1 Тогда
       
       НомерСтроки = 1;
       
   
       тбДляТаблицы2.ВыбратьСтроки();
       
       Пока  тбДляТаблицы2.ПолучитьСтроку() = 1 Цикл
           Если НомерСтроки < 30 Тогда
               Префикс = Формат (НомерСтроки,"Ч(0)4.0");
               
               ВыбОбласть = Таблица.Область("T2R"+Префикс+"G2S");
               ВыбОбласть.Значение = тбДляТаблицы2.Контрагент.ПолнНаименование;  
               
               ВыбОбласть = Таблица.Область("T2R"+Префикс+"G3S");
               ВыбОбласть.Значение = тбДляТаблицы2.Контрагент.ИНН;  
               
               
               НомерКорректДокумента ="" + глНомерБезПрефикса(тбДляТаблицы2.Док.НомерДок);
               ВыбОбласть = Таблица.Область("T2R"+Префикс+"G6S");
               ВыбОбласть.Значение = НомерКорректДокумента;
               
               ДатаКорректДокумента = Формат (тбДляТаблицы2.Док.ДатаДок, "ДДММГГГГ");
               ВыбОбласть = Таблица.Область("T2R"+Префикс+"G7D");
               ВыбОбласть.Значение = ДатаКорректДокумента;
               
               Основание = тбДляТаблицы2.Док.Примечание;
               ВыбОбласть = Таблица.Область("T2R"+Префикс+"G8S");
               ВыбОбласть.Значение = Основание;
               
               Если   тбДляТаблицы2.СуммаНДС > 0 Тогда  
                   ВыбОбласть = Таблица.Область("T2R"+Префикс+"G9");
                   ВыбОбласть.Значение =  тбДляТаблицы2.СуммаНДС;
                   ДобавитьСтрокуРасшифровки( "T2R"+Префикс+"G9", "Показник ""Коригування податкового кредиту по податку на додану вартість, рядок 16"", графа ""Сума ПДВ(+)""",
                   "+", "По документам 'Запись книги приобретения', вид операции 'Расчет корректировки стоимости', валовые расходы <Все>, облагаемые налогом <Все>, налоговый кредит <Все>.", тбДляТаблицы2.СуммаНДС,,,,,,,,,,,,);
               ИначеЕсли тбДляТаблицы2.СуммаНДС < 0 Тогда
                   ВыбОбласть = Таблица.Область("T2R"+Префикс+"G10");
                   ВыбОбласть.Значение = - тбДляТаблицы2.СуммаНДС;
                   Флаг_П2=1;
                   ДобавитьСтрокуРасшифровки( "T2R"+Префикс+"G10", "Показник ""Коригування податкового кредиту по податку на додану вартість, рядок 16"", графа ""Сума ПДВ(+)""",
                   "-", "По документам 'Запись книги приобретения', вид операции 'Расчет корректировки стоимости', валовые расходы <Все>, облагаемые налогом <Все>, налоговый кредит <Все>.", - тбДляТаблицы2.СуммаНДС,,,,,,,,,,,,);
                   
               КонецЕсли;    
               R162GA = R162GA + тбДляТаблицы2.Сумма;
               НомерСтроки = НомерСтроки + 1;
           Иначе    
               Прервать;
           КонецЕсли;    
       КонецЦикла;    
   КонецЕсли;
   //если один из таких показателей не равен нулю то, расшифровываем их
   //в противном случае в этих ячейках могут быть указаны самостоятельно выявленные ошибки
   //поэтому расшифровка смысла не имеет  
   R162GB = (Округ(T2R0001G9) - Округ(T2R0001G10))
         + (Округ(T2R0002G9) - Округ(T2R0002G10))
         + (Округ(T2R0003G9) - Округ(T2R0003G10))
         + (Округ(T2R0004G9) - Округ(T2R0004G10))  
         + (Округ(T2R0005G9) - Округ(T2R0005G10))
         + (Округ(T2R0006G9) - Округ(T2R0006G10))
         + (Округ(T2R0007G9) - Округ(T2R0007G10))
         + (Округ(T2R0008G9) - Округ(T2R0008G10))
         + (Округ(T2R0009G9) - Округ(T2R0009G10))
         + (Округ(T2R0010G9) - Округ(T2R0010G10))
         + (Округ(T2R0011G9) - Округ(T2R0011G10))
         + (Округ(T2R0012G9) - Округ(T2R0012G10))
         + (Округ(T2R0013G9) - Округ(T2R0013G10))
         + (Округ(T2R0014G9) - Округ(T2R0014G10))
         + (Округ(T2R0015G9) - Округ(T2R0015G10))
         + (Округ(T2R0016G9) - Округ(T2R0016G10))
         + (Округ(T2R0017G9) - Округ(T2R0017G10))
         + (Округ(T2R0018G9) - Округ(T2R0018G10))
         + (Округ(T2R0019G9) - Округ(T2R0019G10))  
         + (Округ(T2R0020G9) - Округ(T2R0020G10))
         + (Округ(T2R0021G9) - Округ(T2R0021G10))
         + (Округ(T2R0022G9) - Округ(T2R0022G10))
         + (Округ(T2R0023G9) - Округ(T2R0023G10))
         + (Округ(T2R0024G9) - Округ(T2R0024G10))
         + (Округ(T2R0025G9) - Округ(T2R0025G10))
         + (Округ(T2R0026G9) - Округ(T2R0026G10))
         + (Округ(T2R0027G9) - Округ(T2R0027G10))
         + (Округ(T2R0028G9) - Округ(T2R0028G10))
         + (Округ(T2R0029G9) - Округ(T2R0029G10));
   
   
   //значения по деклаларциям прошлого периода, возможны, начиная с июля и 3 квартала 2005 года
   Если (НачКвартала(ДатаВКвартале)>='01.07.2005') Тогда
       Если (ТипПериода=1)  Тогда  
           ДатПрошлогоПериода = ДобавитьМесяц(НачМесяца(ДатаВКвартале),-1);
       Иначе
           ДатПрошлогоПериода = КонКвартала(ДобавитьМесяц(КонКвартала(ДатаВКвартале),-3));
       КонецЕсли;
       
       R231GB = ЗначПокПредДекл("R222GB","строка 23.1",ДатПрошлогоПериода);
       R232GB = ЗначПокПредДекл("R260GB","строка 23.2",ДатПрошлогоПериода);
       
       R020G03  = ЗначПокПредДекл("R100G03","строка 2 приложения № 2",ДатПрошлогоПериода);
       R061G03 = ЗначПокПредДекл("R110G03","строка 6.1 приложения № 2",ДатПрошлогоПериода);
       R062G03 = ЗначПокПредДекл("R252GB","строка 6.2 приложения № 2",ДатПрошлогоПериода);
       R020G3  = ЗначПокПредДекл("R170GB","строка 2 приложения № 3",ДатПрошлогоПериода);
   КонецЕсли;
   
   ДатаДекл = ТекущаяДата();
   ДатаПрил1 = ТекущаяДата(); ДатаПрил2 = ТекущаяДата(); ДатаПрил3 = ТекущаяДата(); ДатаПрил4 = ТекущаяДата();
   
   ИзмШапкаПериода();
   Расчет();  
   
   
   Если (НачКвартала(ДатаВКвартале)>='01.07.2005') Тогда
       Если R010G3 <> 0 Тогда
           Если (ТипПериода=1)  Тогда  
               Дата1 = ДобавитьМесяц(НачМесяца(ДатаВКвартале),-1);
               Дата2 = КонМесяца(Дата1);
           Иначе
               Дата1 = ДобавитьМесяц(НачКвартала(ДатаВКвартале),-3);
               Дата2 = КонКвартала(Дата1);
           КонецЕсли;
           
           спСчета = СоздатьОбъект("СписокЗначений");
           спСчета.ДобавитьЗначение(СчетПоКоду(631));
           спСчета.ДобавитьЗначение(СчетПоКоду(3711));
           спСчета.ДобавитьЗначение(СчетПоКоду(633));
           спСчета.ДобавитьЗначение(СчетПоКоду(6852));
       
           Запр = СоздатьОбъект("Запрос");
           ТекстЗапр = "//{{ЗАПРОС(Запр)
           |Период с Дата1 по Дата2;
           |Фирма = Документ.БанковскаяВыписка.Фирма,Документ.РасходныйКассовый.Фирма;
           |НДС = Документ.БанковскаяВыписка.НДС,Документ.РасходныйКассовый.НДС;
           |КоррСчет = Документ.БанковскаяВыписка.Счет,Документ.РасходныйКассовый.Счет;
           |Функция СуммаНДС = Сумма(НДС);
           |Условие (Фирма=ВыбраннаяФирма);
           |Условие (КоррСчет в СпСчета);
           |"//}}ЗАПРОС
           ;  
           
           Если Запр.Выполнить(ТекстЗапр) = 0 Тогда
               Предупреждение("Не выполнился запрос по платежным документам!");
               Возврат;
           КонецЕсли;
           
           R030G3 = Запр.СуммаНДС;
       КонецЕсли;    
   КонецЕсли;    
   
   
   R040G3 = ?(R030G3 < R010G3,R030G3,R010G3);
                               
   //Заполнение строки №28 как как произведение показателя строки  с кодом 28.2 на 5%
   R280GB = ((R282GB * ПроцентШтрафа)/100);

   
   Форма.Раскрыть.Доступность(1);
   СпП.Сортировать( "ИмяЯчейки, НомСтроки");    
КонецПроцедуры
//===========================================
Процедура ИзмПредставление(Бланк)
   Если Бланк = 1 Тогда
       ВыбОбласть = Таблица.Область("Таблица1");
       ВыбОбласть.Формат("Ч020.2");  
       ВыбОбласть = Таблица.Область("Таблица2");
       ВыбОбласть.Формат("Ч020.2");  
       ВыбОбласть = Таблица.Область("Таблица3");
       ВыбОбласть.Формат("Ч020.2");              
       ВыбОбласть = Таблица.Область("Таблица4");
       ВыбОбласть.Формат("Ч020.2");                
       ВыбОбласть = Таблица.Область("Таблица5");
       ВыбОбласть.Формат("Ч020.2");                
       ВыбОбласть = Таблица.Область("Таблица6");
       ВыбОбласть.Формат("Ч020.2");              
       ВыбОбласть = Таблица.Область("Таблица7");
       ВыбОбласть.Формат("Ч020.2");              
       ВыбОбласть = Таблица.Область("Таблица8");
       ВыбОбласть.Формат("Ч020.2");              
       ИзмШапкаПериода();
   Иначе
       Если СКопейками=1 Тогда
           ВыбОбласть = Таблица.Область("Таблица1");
           ВыбОбласть.Формат("Ч-020.2");    
           ВыбОбласть = Таблица.Область("Таблица2");
           ВыбОбласть.Формат("Ч-020.2");    
           ВыбОбласть = Таблица.Область("Таблица3");
           ВыбОбласть.Формат("Ч-020.2");    
           ВыбОбласть = Таблица.Область("Таблица4");
           ВыбОбласть.Формат("Ч-020.2");            
           ВыбОбласть = Таблица.Область("Таблица5");
           ВыбОбласть.Формат("Ч-020.2");            
           ВыбОбласть = Таблица.Область("Таблица6");
           ВыбОбласть.Формат("Ч-020.2");    
           ВыбОбласть = Таблица.Область("Таблица7");
           ВыбОбласть.Формат("Ч-020.2");    
           ВыбОбласть = Таблица.Область("Таблица8");
           ВыбОбласть.Формат("Ч-020.2");              

       Иначе              
           ВыбОбласть = Таблица.Область("Таблица1");
           ВыбОбласть.Формат("Ч-020.0");
           ВыбОбласть = Таблица.Область("Таблица2");
           ВыбОбласть.Формат("Ч-020.0");
           ВыбОбласть = Таблица.Область("Таблица3");
           ВыбОбласть.Формат("Ч-020.0");          
           ВыбОбласть = Таблица.Область("Таблица4");
           ВыбОбласть.Формат("Ч-020.0");            
           ВыбОбласть = Таблица.Область("Таблица5");
           ВыбОбласть.Формат("Ч-020.0");          
           ВыбОбласть = Таблица.Область("Таблица6");
           ВыбОбласть.Формат("Ч-020.0");          
           ВыбОбласть = Таблица.Область("Таблица7");
           ВыбОбласть.Формат("Ч-020.0");          
           ВыбОбласть = Таблица.Область("Таблица8");
           ВыбОбласть.Формат("Ч-020.0");          

       КонецЕсли;
   КонецЕсли;
   
КонецПроцедуры

//===========================================
// устанавливает пометки выгрузки в таблице тбСхемыXML
//^
Процедура  ОпределитьСписокВыгружаемыхСхем();
   тбСхемыXML.ВыбратьСтроки();
   Пока тбСхемыXML.ПолучитьСтроку() = 1 Цикл
       //по-умолчанию выгружаем все приложения
       тбСхемыXML.фВыгрузка = 1;
   КонецЦикла;
КонецПроцедуры        
//===========================================
//выполняет округление данных в соответствии с форматом заполнения
//"бумажного" оригинала
Процедура ВыполнитьОкругление(спПоказателейОтчета)
   Перем ФорматОбласти;
   Перем ПредставлениеЗначения;
   Перем ОкругленноеЗначение;
   Для    Инд = 1 по спПоказателейОтчета.РазмерСписка() Цикл
       спПоказателейОтчета.ПолучитьЗначение(Инд,ПредставлениеЗначения);
       ВыбОбласть = Таблица.Область(ПредставлениеЗначения);
       ФорматОбласти = ВыбОбласть.Формат();
       Если (Сред(ФорматОбласти,6,2) =".0") Тогда
           ОкругленноеЗначение = Окр (спПоказателейОтчета.Получить(ПредставлениеЗначения),0);    
           спПоказателейОтчета.Установить(ПредставлениеЗначения,ОкругленноеЗначение);
       КонецЕсли;
   КонецЦикла;    
КонецПроцедуры


//===========================================
//^
Процедура  СохранитьВФорматеXML()
   Перем спДанныеОтчета, спПараметры;
   
   //Создадим список параметров для передачи их в обработку выгрузки
   спПараметры = СоздатьОбъект("СписокЗначений");
   спПараметры.ДобавитьЗначение("ЭкспортXML", "Команда"); //Операция

   ОпределитьСписокВыгружаемыхСхем();
   спПараметры.ДобавитьЗначение(тбСхемыXML, "Схемы");    //Схемы (правила) выгрузки. Определеяются ГНАУ
   
   Таблица.Выгрузить(спДанныеОтчета);  
   СКопейками = 0;
   ИзмПредставление(0);
   ВыполнитьОкругление(спДанныеОтчета);
     
   спПараметры.ДобавитьЗначение(спДанныеОтчета,"Данные"); //собственно данные отчета
   
   спПараметры.ДобавитьЗначение(КаталогДанныхФирмы, "КаталогДанныхФирмы"); //каталог для сохранения выгрузки
   спПараметры.ДобавитьЗначение(ВыбраннаяФирма.Наименование, "Фирма");
   ОткрытьФорму
17 xl
 
17.10.07
14:12
все, весь отчет вывел. как ?
18 insider
 
17.10.07
14:17
(17) плохо :)
не нужно постить такие куски кода - это как бы не принято. я сказал, где смотреть, а не сказал, что сейчас исправлю и вышлю, правда? у меня немного другие планы. в первом куске в начале ветки прерывание цикла, убери "прервать" и выводи сколько нужно. тебе же уже написали.
19 xl
 
17.10.07
14:18
Многостраничные отчеты
----------------------
Если количество строк в отчете не оговорено заранее, то при составлении отчета
могут потребоваться дополнительные экземпляры (страницы) стандартного бланка.
Для таких отчетов предусмотрены специальные элементы управления созданием отчета.

Реквизит "Бланк" показывает номер страницы отчета. При открытии отчета
этот реквизит имеет значение "1".

Управление реквизитом "Бланк" осуществляется кнопками:
"<" и ">"    - кнопки пролистывания бланков; текущая страница бланка
         отображается в окне редактирования;
"Новый"    - добавить в отчет новую страницу (бланк);
"Удалить"      - удалить текущую страницу (бланк) отчета.

Кроме того, в диалоге управления составлением многостраничного отчета всегда
присутствует кнопка "Печать всех" для печати всех страниц отчета без
предварительного просмотра на экране (см. п. "Печать отчета").

может это ? где найти эти кнопки ?
20 Обдолбанный Вася
 
17.10.07
14:23
ЗЫ... кто возьмется написать бота ТочкаОстанова?
21 insider
 
17.10.07
14:33
(19) на морде отчета эти кнопки обычно, открой в юзерском режиме и поиграйся
22 xl
 
17.10.07
15:08
нашел "действия" -  "Бланк", но если нажать - все очищается и если нажать "заполнить" -то заполняется теми же накладными что и в первый раз :(