Имя: Пароль:
1C
1С v8
v8: Отчет по расчетам с контрагентами
0 sweety-twetty
 
16.08.12
10:48
Добрый день, уважаемый форум)Надеюсь на Вашу помощь в решении моего вопроса

Есть регистр накоплений ВзаиморасчетыСКонтрагентами . Получаем выборку и по макету формируем отчет. Отдельно считаются те документы, по которым есть движения по номенклатуре(Поступление ТиУ, Возврат Т) и те, в которых расчет по ден.средствам(ПКО,РКО и т.д). В регистр документы попадают нормально, при попытке перепровести документы, ошибка не исправлена.Что может быть не так? Возможно что-то неправильно с записью документов в регистр?
Буду очень признательна за любые подсказки и советы)
1 Гефест
 
16.08.12
10:50
Так в чем ошибка? И где фото?
2 ДенисЧ
 
16.08.12
10:51
"В регистр документы попадают нормально, при попытке перепровести документы, ошибка не исправлена"

Пардон, кто на ком стоял? Какая ошибка?
3 sweety-twetty
 
16.08.12
10:58
Остаток на начало дня не правильный, то есть отдельно считаються поступление ТиУ и документы кассы

Как пример:
                 НачОст        Приход       Расход         КонОст
ПоступлТиУ         0             100                         100
РКО                0                          20              -20
ВозвратТ(от пок.)  100           150                         250
ПКО               -20            100                         80
4 0Mint
 
16.08.12
11:02
Что за конфигурация, типовая ли? Наверное отчет неправильно написан.
5 sweety-twetty
 
16.08.12
11:07
Если можно посмотрите код отчета.Заранее благодарна

Функция СформироватьНаСервере(ДатаНач,ДатаКон,Контрагент,УсловияВыбора)
   ТабДок = Новый ТабличныйДокумент;                                    
   Макет = Отчеты.РасчетыСКонтрагентом.ПолучитьМакет("Макет");          //Получение макета
   
   ОбластьМакета = Макет.ПолучитьОбласть("Шапка");        //Получение области "Шапка"
   ОбластьМакета.Параметры.ДатаНач    = ДатаНач;
   ОбластьМакета.Параметры.ДатаКон    = ДатаКон;
   ОбластьМакета.Параметры.Контрагент = Контрагент;
   ТабДок.Вывести(ОбластьМакета);
   
   ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");        //Получение области "ШапкаТаблицы"
   ТабДок.Вывести(ОбластьМакета);
   
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Номенклатура,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.КоличествоОборот,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ЦенаОборот,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовРасход,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток,
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор.Дата КАК РегистраторДата
   |ИЗ
   |    РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(, , Регистратор, , ) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
   |ГДЕ
   |    ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент = &Контрагент
   |    И ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Регистратор.Дата МЕЖДУ &ДатаНач И &ДатаКон
   |
   |УПОРЯДОЧИТЬ ПО
   |    РегистраторДата";
   Запрос.УстановитьПараметр("ДатаНач",НачалоДня(Отчет.ДатаНач));
   Запрос.УстановитьПараметр("ДатаКон",КонецДня(Отчет.ДатаКон));
   Запрос.УстановитьПараметр("Контрагент",Отчет.Контрагент);
   Выборка = Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
       ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");        //Получение области "ШапкаТаблицы"
       ОбластьМакета.Параметры.Регистратор = ВЫборка.Регистратор;
       ОбластьМакета.Параметры.НачальныйОстаток = ВЫборка.СуммаВзаиморасчетовНачальныйОстаток;
       ОбластьМакета.Параметры.Приход = ВЫборка.СуммаВзаиморасчетовПриход;
       ОбластьМакета.Параметры.Расход = ВЫборка.СуммаВзаиморасчетовРасход;
       ОбластьМакета.Параметры.КонечныйОстаток = ВЫборка.СуммаВзаиморасчетовКонечныйОстаток;
       ТабДок.Вывести(ОбластьМакета);
КонецЦикла;
   Возврат ТабДок;
КонецФункции
6 Alex S D
 
16.08.12
11:20
включи в выборку ПериодСекунда
7 sweety-twetty
 
16.08.12
11:26
То есть сделать периодичность  - Секунда? А как тогда регистратор в выборке получить. ведь при такой периодичности его не будет
8 Гефест
 
16.08.12
11:28
Зачем в запросе номенклатура, которая потом не используется?
9 Eugene_life
 
16.08.12
11:33
Может быть,дело в ДатаКон?
Запрос.УстановитьПараметр("ДатаКон",Новый Граница(КонецДня(Отчет.ДатаКон),ВидГраницы.Включая));
10 sweety-twetty
 
16.08.12
11:34
Она используеться при детализации.        
Если Отчет.Детализация=Истина Тогда
               ОбластьМакета = Макет.ПолучитьОбласть("Расшифровка");        //Получение области "Расшифровка"
               Для каждого Строка из ВЫборка.Регистратор.Товары Цикл
                   ОбластьМакета.Параметры.Номенклатура = Строка.Номенклатура;
                   ОбластьМакета.Параметры.Цена          = Строка.Цена;
                   ОбластьМакета.Параметры.Количество   = Строка.Количество;
                   ОбластьМакета.Параметры.ПриходДокумент = Строка.Цена*Строка.Количество;
                   ОбластьМакета.Параметры.РасходДокумент = 0;
                   ТабДок.Вывести(ОбластьМакета);
               КонецЦикла;
11 Sereja
 
16.08.12
11:36
(7) Сделать периодичность Авто, и в выборку добавить период секунда
12 sweety-twetty
 
16.08.12
11:43
(9) попробовала - не помогло,
(11) сделала периодичность авто и периодсекунду добавила, все равно отчет выводиться не правильно

Выложила то как выглядит отчет - может это чем-нибудь поможет?

[URL=http://saveimg.ru/show-image.php?id=d354d4dd1c284f49c5dbc56942e27602] [IMG]http://saveimg.ru/thumbnails/16-08-12/8cfb18a5d167abce006ee4a61d1a4c29.bmp[/IMG][/URL]
13 sweety-twetty
 
16.08.12
11:44
14 Eugene_life
 
16.08.12
11:58
(13) А какой остаток должен быть? В чем ошибка?
15 sweety-twetty
 
16.08.12
12:00
если смотреть на данный отчет, насколько я понимаю Начальныйостаток в строке второго документа(ПКО 0000001 от 14.08.2012 10:47:50) должен быть равен 1000
16 sweety-twetty
 
16.08.12
12:39
Ап,пожалуйста
17 sweety-twetty
 
17.08.12
09:57
АП, надеюсь на помощь)