Имя: Пароль:
1C
1С v8
Нужен пример.
,
0 wade25
 
12.10.11
13:52
Запроса к регистру бухгалтерии, чтобы выводились остатки по определенным счетам.

зы. вообще нужен запрос по дебиторским/кредиторским задолженностям, дальше сам бы допилил =)
1 rotting
 
12.10.11
13:53
что не получается?
2 wade25
 
12.10.11
13:53
(1) Сейчас напишу =)
3 smitru
 
12.10.11
13:54
ВЫБРАТЬ РАЗЛИЧНЫЕ
   ХозрасчетныйОстаткиИОбороты.Регистратор,
   ХозрасчетныйОстаткиИОбороты.Счет,
   ХозрасчетныйОстаткиИОбороты.Период КАК Период,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ХозрасчетныйОстаткиИОбороты.Субконто3,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт,
   ХозрасчетныйОстаткиИОбороты.СуммаОборот,
   ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
   ХозрасчетныйОстаткиИОбороты.СуммаОборотКт
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Счет = &Счет, , Субконто2 = &Договор) КАК ХозрасчетныйОстаткиИОбороты

УПОРЯДОЧИТЬ ПО
   Период
4 wade25
 
12.10.11
14:10
Если хочу по нескольким счетам, при передаче параметра через запятую писать, или по несколько раз передать параметр?
5 forforumandspam
 
12.10.11
14:12
(4) В  качестве параметра передавать массив или список значений.
6 smitru
 
12.10.11
14:15
ВЫБРАТЬ РАЗЛИЧНЫЕ
   ХозрасчетныйОстаткиИОбороты.Регистратор,
   ХозрасчетныйОстаткиИОбороты.Счет,
   ХозрасчетныйОстаткиИОбороты.Период КАК Период,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ХозрасчетныйОстаткиИОбороты.Субконто3,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт,
   ХозрасчетныйОстаткиИОбороты.СуммаОборот,
   ХозрасчетныйОстаткиИОбороты.СуммаОборотДт,
   ХозрасчетныйОстаткиИОбороты.СуммаОборотКт
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Счет в (&Счет), , Субконто2 = &Договор) КАК ХозрасчетныйОстаткиИОбороты

УПОРЯДОЧИТЬ ПО
   Период


А счет это тогда массив счетов
7 wade25
 
12.10.11
14:16
(6) Т.е. просто массив создать и в него счета загнать? Или как?
8 forforumandspam
 
12.10.11
14:19
(7) да
9 wade25
 
12.10.11
14:23
И последний вопрос, если хочу все по 60 счету то как написать? (т.е. и 60.01 и 60.02 не разбивая)
10 salvator
 
12.10.11
14:24
(9) В ИЕРАРХИИ
11 wade25
 
12.10.11
14:27
(10) Счет = &Счет в ИЕРАРХИИ?
12 salvator
 
12.10.11
14:28
(11) Счет В ИЕРАРХИИ (&Счет)
13 wade25
 
12.10.11
14:39
Спс большое =)
14 wade25
 
12.10.11
15:37
МасСчетов = Новый Массив;
МасСчетов.Добавить(62.02);
Запрос.УстановитьПараметр("Счет", МасСчетов);

 Что может быть не так?
15 shuhard
 
12.10.11
15:38
(14)[МасСчетов.Добавить(62.02);]
дорогая редакция,
мы офигеваем
16 salvator
 
12.10.11
15:39
(14) Сам понял что написал-то?
ПланыСчетов.Хозрасчетый.НайтиПоКоду("62.02");
17 smitru
 
12.10.11
15:39
(15) +1 :-)))

Ошибка в - МасСчетов.Добавить(62.02)

нужно  МасСчетов.Добавить(ПланыСчетов.Хозрасчетый.НайтиПоКоду("62.02"));
18 wade25
 
12.10.11
15:46
7 часов уже пишу что то, вот и... =)
19 salvator
 
12.10.11
15:51
+(16) На будущее: вместо НайтиПоКоду используй предопределенное значение счета
20 Reset
 
12.10.11
15:55
МасСчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыПоАвансамПолученным)
21 wade25
 
12.10.11
16:01
В одном запросе есть возможность выбрать по иерархии счета, а так же по некоторым отдельно? Т.е. все по 60, и только 60.02?
22 smitru
 
12.10.11
16:03
(21) можно... А зачем задваивать данные по 60.02? Вначале выводить эти цифры в составе 60-го, а затем повторять тоже самое обратно????
23 wade25
 
12.10.11
16:04
(22) Не то написал, 60 полностью и 76.1 отдельно =)
24 salvator
 
12.10.11
16:10
(23) В массив загоняй счета.
25 smitru
 
12.10.11
16:10
(23) можно

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

УПОРЯДОЧИТЬ ПО
   Период";



МасСчетов = Новый Массив;
МасСчетов.Добавить(ПланыСчетов.Хозрасчетый.НайтиПоКоду("60"));
МасСчетов.Добавить(ПланыСчетов.Хозрасчетый.НайтиПоКоду("76.01"));
Запрос.УстановитьПараметр("Счет", МасСчетов);
26 wade25
 
12.10.11
16:25
(25) Не то, но спс =) Уже разобрался =)
27 wade25
 
13.10.11
12:25
Как сделать параметр необязательным. Т.е. если я коннтрагент не передам, то выберет всех?

ВЫБРАТЬ РАЗЛИЧНЫЕ
   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
   ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
   ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Договор,
   ХозрасчетныйОстаткиИОбороты.Субконто2.ВидДоговора КАК ВидДоговора,
   ЕСТЬNULL(СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт), 0) КАК ДебиторскаяЗадолжность,
   ЕСТЬNULL(СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт), 0) КАК КредиторскаяЗадолжность
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Счет В (&Счет), , ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ
   ХозрасчетныйОстаткиИОбороты.Субконто1 = &Контрагент
   И ХозрасчетныйОстаткиИОбороты.Субконто2.ВидДоговора = &ВидДоговора

СГРУППИРОВАТЬ ПО
   ХозрасчетныйОстаткиИОбороты.Счет,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ХозрасчетныйОстаткиИОбороты.Субконто2.ВидДоговора
28 smitru
 
13.10.11
12:39
(27) а никак :-) Т.е. используешь два запроса или модифицируешь существующий

Т.е. если тебе нужен отбор по контрагенту используешь:

ВЫБРАТЬ РАЗЛИЧНЫЕ
   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
   ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
   ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Договор,
   ХозрасчетныйОстаткиИОбороты.Субконто2.ВидДоговора КАК ВидДоговора,
   ЕСТЬNULL(СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт), 0) КАК ДебиторскаяЗадолжность,
   ЕСТЬNULL(СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт), 0) КАК КредиторскаяЗадолжность
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Счет В (&Счет), , ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ
   ХозрасчетныйОстаткиИОбороты.Субконто1 = &Контрагент

СГРУППИРОВАТЬ ПО
   ХозрасчетныйОстаткиИОбороты.Счет,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ХозрасчетныйОстаткиИОбороты.Субконто2.ВидДоговора


А если нужно по всем контрагентам без отбора тогда:

ВЫБРАТЬ РАЗЛИЧНЫЕ
   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
   ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
   ХозрасчетныйОстаткиИОбороты.Субконто2 КАК Договор,
   ХозрасчетныйОстаткиИОбороты.Субконто2.ВидДоговора КАК ВидДоговора,
   ЕСТЬNULL(СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт), 0) КАК ДебиторскаяЗадолжность,
   ЕСТЬNULL(СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт), 0) КАК КредиторскаяЗадолжность
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Счет В (&Счет), , ) КАК ХозрасчетныйОстаткиИОбороты


СГРУППИРОВАТЬ ПО
   ХозрасчетныйОстаткиИОбороты.Счет,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ХозрасчетныйОстаткиИОбороты.Субконто2.ВидДоговора
29 Serdolik55
 
13.10.11
13:42
Коллеги, дык типовые отчеты в бухгалтерии есть. Ими можно спокойно выводить ту информацию, которую вы хотите получить!
30 WF72
 
13.10.11
13:47
Не всегда. Что, если нужна универсальная дебиторка/кредиторка с указанием даты возникновения задолженности, например? Я к примеру такую хрень еще в 2005 году писал.
31 wade25
 
13.10.11
16:27
(30) Точно такая ситуация =)