|
Выборка Документов | ☑ | ||
---|---|---|---|---|
0
ВежливаяТварь
05.10.11
✎
15:26
|
Доброе время суток. Поставили передо мной такую задачу. Нужно в печатную форму вывести все номера расходных накладных(РеализациятоваровУслуг) и долги по ним по определённому контрагенту. Решил что вытяну все его документы "РеализациятоваровУслуг" и вытяну все введённые на основании документы.
И дальше просто буду сверять если введено на основании платёжное поручение входящие или возврат товаров и суммы совпадают то долга нет. И тут возникла проблема. Документы РеализацияТоваровУслуг и введённые на основании их документы вытягиваются, но уж слишком долго, порядка 30- 60 секунд. Подскажите пожалуйста есть ли способ уменьшить затрачиваемое время. Код: ЗапросЗадолженности=Новый Запрос ("ВЫБРАТЬ | ВзаиморасчетыСКонтрагентамиОбороты.Контрагент, | ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот, | ВзаиморасчетыСКонтрагентамиОбороты.Регистратор КАК Регистратор |ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&ДатаНач, &ДатаКон, Регистратор, Контрагент = &Контрагент) КАК ВзаиморасчетыСКонтрагентамиОбороты |ГДЕ | ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовОборот > 0 | |УПОРЯДОЧИТЬ ПО | Регистратор"); ЗапросЗадолженности.УстановитьПараметр("Контрагент",СсылкаНаОбъект.Контрагент); ДатаКон=СсылкаНаОбъект.Дата; ДатаНач=ДобавитьМесяц(ДатаКон,-12); ЗапросЗадолженности.УстановитьПараметр("ДатаНач",ДатаНач); ЗапросЗадолженности.УстановитьПараметр("ДатаКон",ДатаКон); ДокРеализацияТоваровИУслуг=Документы.РеализацияТоваровУслуг; РезультатЗапроса=ЗапросЗадолженности.Выполнить().Выбрать(); Пока РезультатЗапроса.Следующий() Цикл ДокРеализацияТоваровИУслуг=РезультатЗапроса.Регистратор; ЗаспроСвязанныхДокументов=Новый Запрос ("ВЫБРАТЬ | СвязанныеДокументы.Ссылка КАК СвязанныеДокументы |ИЗ | КритерийОтбора.СвязанныеДокументы(&ДокРеализацияТоваровУслуг) КАК СвязанныеДокументы"); ЗаспроСвязанныхДокументов.УстановитьПараметр("ДокРеализацияТоваровУслуг",ДокРеализацияТоваровИУслуг); РезультатСвязанныхДоков=ЗаспроСвязанныхДокументов.Выполнить().Выбрать(); Сообщить(Строка(ДокРеализацияТоваровИУслуг)+" ---Реализация товаров и услуг"); Пока РезультатСвязанныхДоков.Следующий() Цикл Сообщить(Строка(РезультатСвязанныхДоков.СвязанныеДокументы)+"----------------------------связанный документ"); КонецЦикла; Сообщить("===================================================================="); КонецЦикла; |
|||
1
Господин ПЖ
05.10.11
✎
15:27
|
ппц...
|
|||
2
Господин ПЖ
05.10.11
✎
15:27
|
уволицо нахрен еще задачу не поставили?
|
|||
3
ВежливаяТварь
05.10.11
✎
15:27
|
Всё так плохо?
|
|||
4
Нуф-Нуф
05.10.11
✎
15:28
|
взаиморасчеты по документам расчетов вас спасут
|
|||
5
Нуф-Нуф
05.10.11
✎
15:28
|
Поставь чайник на плиту!
|
|||
6
ВежливаяТварь
05.10.11
✎
15:29
|
(5)Намек на то что всё на самом делается легко а я изобретаю велосипед причем через попу?
|
|||
7
Ненавижу 1С
гуру
05.10.11
✎
15:29
|
(0) нет, всё ещё хуже
(4) а если не ведутся? )) |
|||
8
Нуф-Нуф
05.10.11
✎
15:30
|
(7) тогда начать вести :)
|
|||
9
Нуф-Нуф
05.10.11
✎
15:30
|
(6) не, просто фраза и песни прикольная
|
|||
10
ВежливаяТварь
05.10.11
✎
15:31
|
Узнал взаиморасчеты ведутся. А можно чуть по подробней про них, пожалуйста?
|
|||
11
Ненавижу 1С
гуру
05.10.11
✎
15:32
|
(10)
ВЫБРАТЬ ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(, Контрагент = &Контрагент) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки УПОРЯДОЧИТЬ ПО ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.МоментВремени ИТОГИ СУММА(СуммаВзаиморасчетовОстаток) ПО ДоговорКонтрагента |
|||
12
ВежливаяТварь
05.10.11
✎
15:33
|
Огромное спасибо, сейчас попробую.
|
|||
13
Ненавижу 1С
гуру
05.10.11
✎
15:34
|
(12) там конечно не все реализации, но как-то так
|
|||
14
Sheldon
05.10.11
✎
15:36
|
Но в результате этих махинаций получишь только остатки по реализациям, а судя по постановке "и вытяну все введённые на основании документы", то человеку нужны не остатки, а и обороты, чтобы видеть что было оплачено, в полном ли объеме и какими документами
или я не прав? |
|||
15
ВежливаяТварь
05.10.11
✎
15:42
|
Нет всё именно так как нужно, там я не совсем корректно выразился. Проверил всё с калькулятором все сходится причем так как надо. Ещё раз спасибо.
|
|||
16
cViper
05.10.11
✎
15:45
|
(15) Постарайся в будущем запросы в цикле не писать. не правильно это.
|
|||
17
ВежливаяТварь
05.10.11
✎
15:56
|
(16) Спасибо.Учту.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |