Имя: Пароль:
1C
1C 7.7
v7: Валюта в отчете
0 kouki
 
09.09.11
12:59
Здравствуйте, Гуру 1с.))) Сталкнулся с такой проблеммой. на предприятии с определенного момента начали продавать за евро. И хотят, чтобы это евро попадало в отчет. В отчете вроде подкоректировал но блин... какой то глюк счс скину код только не ругайте... длинный гадина

ТекстЗапроса =
       "//{{ЗАПРОС(Показать)
       |Обрабатывать НеПомеченныеНаУдаление;
       |Период с НачДата по КонДата;
       |РасходСоСклада = Документ.РасходСоСкладаВБелорусскихРублях.ТекущийДокумент,
       |                    Документ.РасходСоСкладаВВалюте.ТекущийДокумент;
       |Получатель = Документ.РасходСоСкладаВБелорусскихРублях.Получатель,  
       |                Документ.РасходСоСкладаВВалюте.Получатель;
       |Продукция = Документ.РасходСоСкладаВБелорусскихРублях.Продукция,  
       |                Документ.РасходСоСкладаВВалюте.Продукция;
       |Скидка = Документ.РасходСоСкладаВБелорусскихРублях.Скидка,  
       |            Документ.РасходСоСкладаВВалюте.Скидка;
       |Валюта = Документ.РасходСоСкладаВБелорусскихРублях.Валюта,
       |            Документ.РасходСоСкладаВВалюте.Валюта;
       |ДатаТТН = Документ.РасходСоСкладаВБелорусскихРублях.ДатаТТН,
       |                Документ.РасходСоСкладаВВалюте.ДатаТТН;  
       |ДатаТТН1 = Документ.РасходСоСкладаВБелорусскихРублях.ДатаТТН1,
       |                Документ.РасходСоСкладаВВалюте.ДатаТТН1;
       |ДатаТТН2 = Документ.РасходСоСкладаВБелорусскихРублях.ДатаТТН2,
       |                Документ.РасходСоСкладаВВалюте.ДатаТТН2;
       |ДатаТТН3 = Документ.РасходСоСкладаВБелорусскихРублях.ДатаТТН3,
       |                Документ.РасходСоСкладаВВалюте.ДатаТТН3;
       |НомерТТН = Документ.РасходСоСкладаВБелорусскихРублях.НомерТТН,
       |                Документ.РасходСоСкладаВВалюте.НомерТТН;
       |НомерТТН1 = Документ.РасходСоСкладаВБелорусскихРублях.НомерТТН1,
       |                Документ.РасходСоСкладаВВалюте.НомерТТН1;
       |НомерТТН2 = Документ.РасходСоСкладаВБелорусскихРублях.НомерТТН2,
       |                Документ.РасходСоСкладаВВалюте.НомерТТН2;
       |НомерТТН3 = Документ.РасходСоСкладаВБелорусскихРублях.НомерТТН3,
       |                Документ.РасходСоСкладаВВалюте.НомерТТН3;
       |НомерТН2 = Документ.РасходСоСкладаВБелорусскихРублях.НомерТН2,
       |                Документ.РасходСоСкладаВВалюте.НомерТН2;
       |НомерТН21 = Документ.РасходСоСкладаВБелорусскихРублях.НомерТН21,
       |                Документ.РасходСоСкладаВВалюте.НомерТН21;
       |НомерТН22 = Документ.РасходСоСкладаВБелорусскихРублях.НомерТН22,
       |                Документ.РасходСоСкладаВВалюте.НомерТН22;
       |НомерТН23 = Документ.РасходСоСкладаВБелорусскихРублях.НомерТН23,
       |                Документ.РасходСоСкладаВВалюте.НомерТН23;
       |Количество = Документ.РасходСоСкладаВБелорусскихРублях.Количество,
       |                    Документ.РасходСоСкладаВВалюте.Количество;
       |Количество1 = Документ.РасходСоСкладаВБелорусскихРублях.Количество1,
       |                    Документ.РасходСоСкладаВВалюте.Количество1;
       |Количество2 = Документ.РасходСоСкладаВБелорусскихРублях.Количество2,
       |                    Документ.РасходСоСкладаВВалюте.Количество2;
       |Количество3 = Документ.РасходСоСкладаВБелорусскихРублях.Количество3,  
       |                    Документ.РасходСоСкладаВВалюте.Количество3;
       |ВсегоСНДС = Документ.РасходСоСкладаВБелорусскихРублях.ВсегоСНДС,
       |                Документ.РасходСоСкладаВВалюте.ВсегоСНДС;
       |ВсегоСНДС1 = Документ.РасходСоСкладаВБелорусскихРублях.ВсегоСНДС1,
       |                Документ.РасходСоСкладаВВалюте.ВсегоСНДС1;
       |ВсегоСНДС2 = Документ.РасходСоСкладаВБелорусскихРублях.ВсегоСНДС2,
       |                Документ.РасходСоСкладаВВалюте.ВсегоСНДС2;
       |ВсегоСНДС3 = Документ.РасходСоСкладаВБелорусскихРублях.ВсегоСНДС3,
       |                Документ.РасходСоСкладаВВалюте.ВсегоСНДС3;
       |Условие (((ДатаТТН>=НачДата) и (ДатаТТН<=КонДата)) или ((ДатаТТН1>=НачДата) и (ДатаТТН1<=КонДата)) или ((ДатаТТН2>=НачДата) и (ДатаТТН2<=КонДата)) или ((ДатаТТН3>=НачДата) и (ДатаТТН3<=КонДата)));
       |Группировка Продукция упорядочить по Продукция.Наименование;
       |Группировка РасходСоСклада упорядочить по РасходСоСклада.НомерДок без групп;
       |"//}}ЗАПРОС
       ;        
       Если ПоРоссии = 1 Тогда
           ТекстЗапроса = ТекстЗапроса + "Условие(Найти(НРег(Получатель.ПолноеНаименование()),""россия"")>0);";
       ИначеЕсли ПоСНГ = 1 Тогда
           ТекстЗапроса = ТекстЗапроса + "Условие(Найти(НРег(Получатель.ПолноеНаименование()),""снг"")>0);";
       ИначеЕсли ПоДалЗар = 1 Тогда
           ТекстЗапроса = ТекстЗапроса + "Условие(Найти(НРег(Получатель.ПолноеНаименование()),""зарубеж"")>0);";
       КонецЕсли;
   // Если ошибка в запросе, то выход из процедуры
   Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
       Возврат;
   КонецЕсли;
   //формирование таблицы значения последние добавления по евро
   ТЗ = СоздатьОбъект("ТаблицаЗначений");
   ТЗ.НоваяКолонка("Группа");  
   ТЗ.НоваяКолонка("Продукция");
   ТЗ.НоваяКолонка("БелКол");
   ТЗ.НоваяКолонка("БелСум");
   ТЗ.НоваяКолонка("РосКол");
   ТЗ.НоваяКолонка("РосСум");
   ТЗ.НоваяКолонка("РосВБелСум");
   ТЗ.НоваяКолонка("ДолКол");
   ТЗ.НоваяКолонка("ДолСум");
   ТЗ.НоваяКолонка("ДолВБелСум");
   ТЗ.НоваяКолонка("ЕвроКол");
   ТЗ.НоваяКолонка("ЕвроСум");
   ТЗ.НоваяКолонка("ЕвроВБелСум");
   
   СпрВал = СоздатьОбъект("Справочник.Валюты");
   
   Пока Запрос.Группировка(1) = 1 Цикл
       Пока Запрос.Группировка(2) = 1 Цикл  
           Если ПустоеЗначение(Запрос.НомерТТН)=0 Тогда  
               Если (Запрос.ДатаТТН>=НачДата) и (Запрос.ДатаТТН<=КонДата) Тогда
                   Если Запрос.Валюта.Код = "974" Тогда
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = Запрос.Количество;
                       ТЗ.БелСум = Запрос.ВсегоСНДС;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = 0;
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                       //новые строчки
                   ИначеЕсли Запрос.Валюта.Код = "643" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = Запрос.Количество;
                       ТЗ.РосСум = Запрос.ВсегоСНДС;
                       ТЗ.РосВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1);  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "840" Тогда  
                       СпрВал.НайтиПоКоду("643");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1);
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = Запрос.Количество;
                       ТЗ.ДолСум = Запрос.ВсегоСНДС;
                       ТЗ.ДолВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                       //----- новая для Евро
                       ИначеЕсли Запрос.Валюта.Код = "978" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1);  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = Запрос.Количество;
                       ТЗ.ЕвроСум = Запрос.ВсегоСНДС;
                       ТЗ.ЕвроВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       //----- новая для Евро
                       
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;  
           Если ПустоеЗначение(Запрос.НомерТТН1)=0 Тогда  
               Если (Запрос.ДатаТТН1>=НачДата) и (Запрос.ДатаТТН1<=КонДата) Тогда    
                   Если Запрос.Валюта.Код = "974" Тогда
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = Запрос.Количество1;
                       ТЗ.БелСум = Запрос.ВсегоСНДС1;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = 0;  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "643" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН1);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = Запрос.Количество1;
                       ТЗ.РосСум = Запрос.ВсегоСНДС1;
                       ТЗ.РосВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН1)*Запрос.ВсегоСНДС1,0,1);
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН1)*Запрос.ВсегоСНДС1,0,1)/КурсВал,0,1);;  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "840" Тогда  
                       СпрВал.НайтиПоКоду("643");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН1);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН1)*Запрос.ВсегоСНДС1,0,1)/КурсВал,0,1); ;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = Запрос.Количество1;
                       ТЗ.ДолСум = Запрос.ВсегоСНДС1;    
                       ТЗ.ДолВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН1)*Запрос.ВсегоСНДС1,0,1);
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                       //----- новая для Евро
                       ИначеЕсли Запрос.Валюта.Код = "978" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1);  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = Запрос.Количество;
                       ТЗ.ЕвроСум = Запрос.ВсегоСНДС;
                       ТЗ.ЕвроВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       //----- новая для Евро
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;
           Если ПустоеЗначение(Запрос.НомерТТН2)=0 Тогда
               Если (Запрос.ДатаТТН2>=НачДата) и (Запрос.ДатаТТН2<=КонДата) Тогда    
                   Если Запрос.Валюта.Код = "974" Тогда
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = Запрос.Количество2;
                       ТЗ.БелСум = Запрос.ВсегоСНДС2;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = 0;
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "643" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН2);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = Запрос.Количество2;
                       ТЗ.РосСум = Запрос.ВсегоСНДС2;  
                       ТЗ.РосВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН2)*Запрос.ВсегоСНДС2,0,1);
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН2)*Запрос.ВсегоСНДС2,0,1)/КурсВал,0,1);;
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "840" Тогда
                       СпрВал.НайтиПоКоду("643");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН2);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН2)*Запрос.ВсегоСНДС2,0,1)/КурсВал,0,1); ;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = Запрос.Количество2;
                       ТЗ.ДолСум = Запрос.ВсегоСНДС2;
                       ТЗ.ДолВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН2)*Запрос.ВсегоСНДС2,0,1);
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                       //----- новая для Евро
                       ИначеЕсли Запрос.Валюта.Код = "978" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1);  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = Запрос.Количество;
                       ТЗ.ЕвроСум = Запрос.ВсегоСНДС;
                       ТЗ.ЕвроВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       //----- новая для Евро
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;
           Если ПустоеЗначение(Запрос.НомерТТН3)=0 Тогда  
               Если (Запрос.ДатаТТН3>=НачДата) и (Запрос.ДатаТТН3<=КонДата) Тогда    
                   Если Запрос.Валюта.Код = "974" Тогда
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = Запрос.Количество3;
                       ТЗ.БелСум = Запрос.ВсегоСНДС3;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = 0;
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "643" Тогда  
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН3);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = Запрос.Количество3;
                       ТЗ.РосСум = Запрос.ВсегоСНДС3;  
                       ТЗ.РосВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН3)*Запрос.ВсегоСНДС3,0,1);
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН3)*Запрос.ВсегоСНДС3,0,1)/КурсВал,0,1);;
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "840" Тогда
                       СпрВал.НайтиПоКоду("643");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН3);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН3)*Запрос.ВсегоСНДС3,0,1)/КурсВал,0,1); ;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = Запрос.Количество3;
                       ТЗ.ДолСум = Запрос.ВсегоСНДС3;
                       ТЗ.ДолВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН3)*Запрос.ВсегоСНДС3,0,1);
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                       //----- новая для Евро
                       ИначеЕсли Запрос.Валюта.Код = "978" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1);  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = Запрос.Количество;
                       ТЗ.ЕвроСум = Запрос.ВсегоСНДС;
                       ТЗ.ЕвроВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       //----- новая для Евро
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;  
           Если ПустоеЗначение(Запрос.НомерТН2)=0 Тогда  
               Если (Запрос.ДатаТТН>=НачДата) и (Запрос.ДатаТТН<=КонДата) Тогда    
                   Если Запрос.Валюта.Код = "974" Тогда
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = Запрос.Количество;
                       ТЗ.БелСум = Запрос.ВсегоСНДС;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;  
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = 0;
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "643" Тогда  
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = Запрос.Количество;
                       ТЗ.РосСум = Запрос.ВсегоСНДС;
                       ТЗ.РосВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1);;
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                   ИначеЕсли Запрос.Валюта.Код = "840" Тогда
                       СпрВал.НайтиПоКоду("643");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1); ;  
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = Запрос.Количество;
                       ТЗ.ДолСум = Запрос.ВсегоСНДС;    
                       ТЗ.ДолВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
                       //----- новая для Евро
                       ИначеЕсли Запрос.Валюта.Код = "978" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = 0;
                       ТЗ.РосСум = 0;
                       ТЗ.РосВБелСум = 0;
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1)/КурсВал,0,1);  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = Запрос.Количество;
                       ТЗ.ЕвроСум = Запрос.ВсегоСНДС;
                       ТЗ.ЕвроВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН)*Запрос.ВсегоСНДС,0,1);
                       //----- новая для Евро
                   КонецЕсли;
               КонецЕсли;
           КонецЕсли;  
           Если ПустоеЗначение(Запрос.НомерТН21)=0 Тогда
               Если (Запрос.ДатаТТН1>=НачДата) и (Запрос.ДатаТТН1<=КонДата) Тогда    
                   Если Запрос.Валюта.Код = "974" Тогда
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Прод
1 kouki
 
09.09.11
13:00
+ семерка. Неактуально но Я в РБ... тут все неактуально)))))
2 1Сергей
 
09.09.11
13:03
что за глюк-то?
3 kouki
 
09.09.11
13:05
Значит в отчете Евро так и не появилось. Если честно с первого взгляда мне показалось что там работы то на пару минут. Дописать Евро и все.. но не тут то было.. Значит я проверяю  на отладчике то на поинт где код = "978"  ниразу не попадает. Хотя документы с валютой евро имеются за дату.
4 kouki
 
09.09.11
13:06
А и скажите. В запросе не стоял период. Я дописал. Это же правильно. Ато все документы перелопачивал запрос
5 Ёпрст
 
09.09.11
13:11
(0) И где этому вас вообще учат ?
Будете торговать в другой валюте, будете заводить новый вид документа ?
Полный пэ.
6 kouki
 
09.09.11
13:11
А может я что-то недопонял????=//
7 kouki
 
09.09.11
13:13
(5) Да вроде документа два всего: расход в Бел рублях и расход в валюте.. А вот уже в другом доке ставится какая именно валюта... Возможно вы не так поняли. + все уже написано было
8 Ёпрст
 
09.09.11
13:21
(7) и зафига нужен второй документ, когда всё можно учитывать в 1 виде документа ?
9 kouki
 
09.09.11
13:40
(8) Ну менять тут все как то не очень хочеться тем более вопрос то не по количкству документов
10 Ёпрст
 
09.09.11
14:02
(9) да я вижу.
Отчет поди написан школьником ?
Нахрена еще раз проверять то, что в условии запроса задано ?
Нафига по 20 раз писать один и тот же код, когда разница только в поиске валюты ?
11 Ёпрст
 
09.09.11
14:03
+10 за строчки кода что ли оплата у вас ?
:)
12 kouki
 
09.09.11
15:01
Может и школьником... И я такой же школьник... ТАк скажите мне что тут урезать то??????
13 kouki
 
09.09.11
15:02
(10) + Если общая отчетность по всем валютам походу вот и выходит 20-ка))))))
14 Ёпрст
 
09.09.11
15:03
(12) ну по-уму, весь код в топку.
15 kouki
 
09.09.11
15:06
Ох блин(((((((( Епта...
16 kouki
 
09.09.11
15:07
Ну работало же епта!!!!!! и пофигу что школьник писал.... А может лучше поправить????
17 kouki
 
09.09.11
15:12
Я понимаю, что можно и упростить. но пока просто решить проблему в этой версии
18 kouki
 
09.09.11
15:19
А и еще объясните пожалуйста  одну вещь
19 kouki
 
09.09.11
15:19
ИначеЕсли Запрос.Валюта.Код = "643" Тогда
                       СпрВал.НайтиПоКоду("840");
                       КурсВал = СпрВал.ТекущийЭлемент().Курс.Получить(Запрос.ДатаТТН1);
                       ТЗ.НоваяСтрока();  
                       ТЗ.Группа = Запрос.Продукция.Группа;  
                       ТЗ.Продукция = Запрос.Продукция;
                       ТЗ.БелКол = 0;
                       ТЗ.БелСум = 0;  
                       ТЗ.РосКол = Запрос.Количество1;
                       ТЗ.РосСум = Запрос.ВсегоСНДС1;
                       ТЗ.РосВБелСум = Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН1)*Запрос.ВсегоСНДС1,0,1);
                       ТЗ.ДолКол = 0;
                       ТЗ.ДолСум = Окр(Окр(Запрос.Валюта.Курс.Получить(Запрос.ДатаТТН1)*Запрос.ВсегоСНДС1,0,1)/КурсВал,0,1);;  
                       ТЗ.ДолВБелСум = 0;
                       ТЗ.ЕвроКол = 0;
                       ТЗ.ЕвроСум = 0;
                       ТЗ.ЕвроВБелСум = 0;
20 kouki
 
09.09.11
15:19
Вот нафига если валюта  = RUR еще в долларах результат смотреть?????
21 Ёпрст
 
09.09.11
15:20
(16) отладчик в рукти и вперёд, смотреть, чему же всё таки равно Запрос.Валюта.Код у тебя, это для начала.
22 Ёпрст
 
09.09.11
15:21
(20) смотри, какая валюта у тебя основная, видать весь учет ведётся в баксах :) и потом пересчет всегда по курсу.
А так, хз..
23 kouki
 
09.09.11
15:24
Ну все таки покупают у нас больше в Беларусских)))) Типо отечественный производитель!!!)))))
24 kouki
 
09.09.11
15:27
Ну я в принципе понял на отладчике и сижу... счас отлавлю... Но просто интересно то. что я то дописал одно условие по евро... оно ж идентично по идее как и с баксами.. Блин баксы идут евро нет...ААААААА!!!!!!!!!!!!!!!! но ничего мы не сдаемся))))
25 kouki
 
12.09.11
11:50
А зачем вообще номер ТН проверять?????типо отгружено что???
26 kouki
 
12.09.11
12:38
(21) Значит на отдладчике проверил.. И увидел то, что документы в которых шел расчет валютой не видит запрос вообще(((
27 kouki
 
12.09.11
12:38
ТОлько национальную валюту и все
28 kouki
 
12.09.11
13:03
странно почему такая фигня.. ведь запрос вроде правильный
29 kouki
 
12.09.11
13:21
долары попадают а евро нет((((блин(((