Имя: Пароль:
1C
1С v8
Собрать данные с валютных и рублевых счетов в запросе
0 Cherokee
 
12.10.11
11:08
Здравствуйте! Пытаюсь в одном запросе собрать данные по валютным и рублевым счетам. Для этого из регистра бухгалтерии выбираю данные, устанавливаю периодичность по регистратору. Для того, чтоб получить курс валюты, выбираю из регистра сведений курс валюты, связь делаю по валюте и дате. Но не дает сумму нач остатка...

ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.Счет,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ВЫБОР
       КОГДА ХозрасчетныйОстаткиИОбороты.Счет.Валютный
           ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт
       ИНАЧЕ ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт * КурсыВалютСрезПоследних.Курс
   КОНЕЦ КАК СальдоНачальное
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(ДОБАВИТЬКДАТЕ(&КонецПериода, ДЕНЬ, -45), &КонецПериода, Регистратор, , Счет В (&СписокСчетов), , Организация = &Организация) КАК ХозрасчетныйОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних КАК КурсыВалютСрезПоследних
       ПО ХозрасчетныйОстаткиИОбороты.Валюта = КурсыВалютСрезПоследних.Валюта
           И ХозрасчетныйОстаткиИОбороты.Период = КурсыВалютСрезПоследних.Период

СГРУППИРОВАТЬ ПО
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ХозрасчетныйОстаткиИОбороты.Счет,
   ВЫБОР
       КОГДА ХозрасчетныйОстаткиИОбороты.Счет.Валютный
           ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт
       ИНАЧЕ ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт * КурсыВалютСрезПоследних.Курс
   КОНЕЦ
1 Cherokee
 
12.10.11
11:10
упс. Сюда отправил, и обнаружил ошибку сам.

   ВЫБОР
       КОГДА ХозрасчетныйОстаткиИОбороты.Счет.Валютный
           ТОГДА ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт * КурсыВалютСрезПоследних.Курс
       ИНАЧЕ ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт
   КОНЕЦ КАК СальдоНачальное
2 butterbean
 
12.10.11
11:10
нафига остатки и обороты если нужен только нач остаток?? юзай остатки и выбирай курсы на эту же дату
3 Cherokee
 
12.10.11
11:12
а это только начало. Будут и обороты
4 butterbean
 
12.10.11
11:13
5 unregistered
 
12.10.11
11:14
(0) У тебя связь с курсами валют не отрабатывает и КурсыВалютСрезПоследних.Курс всегда NULL.
Вообще зачем тут таблица среза? Должна быть основная таблица регистра.

Во первых, связь должна быть не по Период, а что-то вроде
НАЧАЛОПЕРИОДА(ХозрасчетныйОстаткиИОбороты.Период, ДЕНЬ) = КурсыВалют.Период

Во-вторых, подобный запрос будет работать только при условии, что курс установлен на каждый день. Есть запись в регистре КурсыВалют на дату каждого документа. Если записи о курсе нет хоть
6 butterbean
 
12.10.11
11:15
а вообще в типовых Сумма и так всегда в рублях, так что смысл твоих операций непонятен
7 unregistered
 
12.10.11
11:15
+ к (5) на одну дату, то опять получим Курс = NULL в запросе.

А вообще лучше см. (4)
8 Cherokee
 
12.10.11
11:17
Спасибо, щас подумаю над написанным.
(6) есть рублевые и валютные счета, надо собрать в кучу кредиторку
9 butterbean
 
12.10.11
11:18
(8) дык ресурс Сумма и так везде в рублях, нафига курсы-то??
10 unregistered
 
12.10.11
11:25
(9) Сальдо начальное по курсу на дату документа в общем случае будет отличаться от рублевой оценки счета.
Короче смотря что нужно автору. Либо рублевый остаток по счету, либо именно валютный остаток, выраженный в рублях по курсу на дату документа. Почти всегда это будут две разные цифры.
11 butterbean
 
12.10.11
11:28
(10) они будут разные, но  бухи сильно удивятся увидев что-то отличное от ОСВ