Помогите плиз!!!

Новая тема
"Я не программистка. Мне нужна ваша помощь.
Нашла в инете отчет по реализации по услугам а он не робит. помогите надо оч срочно(((

Вот исходник
Заранее спс!!!!!

НДС и себестоимость не надо и разницу тоже надо чтоб прост формировал по субконту за период и валюту тоже надо чтоб просто показывало сколько было и всего за месяц

//*******************************************
Процедура Сформировать()
   строкаФильтра=ПериодСтр(НачДата,КонДата);
строкаФильтра=строкаФильтра+РазделительСтрок;

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

Таб=СоздатьОбъект("Таблица");      
Опер=создатьОбъект("Операция");

Таб.ВывестиСекцию("Шапка|Общая");        
Если ФормироватьСебестоимость=1 Тогда
   Таб.ПрисоединитьСекцию("Шапка|Себестоимость");
КонецЕсли;
Ном=0;              
итСуммаЗакупки=0;
итНДС=0;
итСуммаВсего=0;
итНаценка=0;
Пока Запрос.Группировка(1)=1 Цикл
ЦеныВДоговоре = 1; // в рублях
Договор=Запрос.Док.Договор;
Если Договор.Выбран() = 1 Тогда
    Если ПустоеЗначение(Договор.ВалютаДоговора) = 0 Тогда
ЦеныВДоговоре = 2; // в валюте
КонецЕсли;
КонецЕсли;              
Если ЦеныВДоговоре=2 Тогда
Валюта = Договор.ВалютаДоговора;
Кратность = Валюта.Кратность.Получить(Запрос.Док.ДатаДок);
Кратность = ?(Кратность=0, 1, Кратность);    
КонецЕсли;
       КурсВОтчет=ВыбВалюта.Курс.Получить(Запрос.Док.ДатаДок);
//сообщить(Запрос.ДокСР);
       
//------------
//считаем суммовые разницы по документу
//
СумРазница=0;
Если НЕ(ПустоеЗначение(Запрос.ДокСР)=1) Тогда
Если Опер.НайтиОперацию(Запрос.ДокСР)=1 Тогда
    Опер.ПолучитьПроводкуПоНомеру(Запрос.НомерСтрокиСР);
СумРазница=Опер.Сумма;
Если ЦеныВДоговоре=2 Тогда
    Если КурсВОтчет<>0 Тогда
        КратностьВОтчет = ВыбВалюта.Кратность.Получить(Запрос.Док.ДатаДок);
КратностьВОтчет = ?(КратностьВОтчет=0, 1, КратностьВОтчет);    
СумРазница=СумРазница/КурсВОтчет*КратностьВОтчет;
    КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
       //конец расчета СР
//----------------

Если НЕ(Опер.НайтиОперацию(Запрос.Док)=1) Тогда
сообщить("Нет операции по документу: "+строка(Запрос.Док));
продолжить;
КонецЕсли;                        

Пока Запрос.Группировка(2)=1 Цикл    
Если ПустоеЗначение(Запрос.Товар)=1 Тогда
   Продолжить;
КонецЕсли;
Ном=Ном+1;
Опер.ПолучитьПроводкуПоНомеру(Запрос.НомерСтроки);
Если Опер.Кредит.Субконто(1)=Запрос.Товар Тогда
СуммаЗакупки=Опер.Сумма;            
иначе
сообщить(строка(Запрос.Док)+". Проводки не соответсвуют документу. Необходимо перепровести документ");
КонецЕсли;

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


И заплатите ему денег.
> > Пригласите программиста
>
>
> И заплатите ему денег.
>

И нормально заплатите.
"> > > Пригласите программиста
> >
> >
> > И заплатите ему денег.
> >
>
> И нормально заплатите.

И вперед! ;)"
"> > > > Пригласите программиста
> > >
> > >
> > > И заплатите ему денег.
> > >
> >
> > И нормально заплатите.
>
> И вперед! ;)
И пригласите блондинку! :)

"
"
> > И вперед! ;)
> И пригласите блондинку! :)
>

Вот эти два пункта не обязательны
"
"Ты не любишь блондинок?, просто ты не умеешь их готовить! ;))"
Читают тему
(гостей: 1)

Быстрый переход