Имя: Пароль:
1C
1С v8
Как определить вид субконто для ХозрасчетныйОстаткиИОбороты.Субконто1?
0 Ivan_495
 
23.12.11
12:02
Как определить вид субконто для ХозрасчетныйОстаткиИОбороты.Субконто1?
ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт,
   ХозрасчетныйОстаткиИОбороты.Регистратор,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дт1, &Дт2, Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ
   ХозрасчетныйОстаткиИОбороты.Счет В ИЕРАРХИИ(&Счет)

УПОРЯДОЧИТЬ ПО
   ХозрасчетныйОстаткиИОбороты.Счет.Код
1 Axel2009
 
23.12.11
12:04
счет.видысубконто[0]
2 hhhh
 
23.12.11
12:08
(1) не то
(0) шестой параметр задаешь в

  РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дт1, &Дт2, Регистратор, , , &Субконто, )

и там задаешь в массиве, какое у тебя субконто будет первое, какое - второе.
3 Ivan_495
 
23.12.11
12:28
(2)
ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
   ХозрасчетныйОстаткиИОбороты.Регистратор,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2
   ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дт1, &Дт2, Регистратор, , , &субконто, ) КАК ХозрасчетныйОстаткиИОбороты
ГДЕ
   ХозрасчетныйОстаткиИОбороты.Счет В (&Счет)

УПОРЯДОЧИТЬ ПО
   ХозрасчетныйОстаткиИОбороты.Счет.Код
ИТОГИ
   СУММА(СуммаНачальныйОстатокДт),
   СУММА(СуммаНачальныйОстатокКт)
ПО
   ОБЩИЕ
для счетов с разными субконто не работает
4 Ivan_495
 
23.12.11
12:41
нужно остатки по всему плану счетов выгрузить,чтобы субконто номенклатура попало в колонку 1, субконто склады попадает в колонку2?
5 rvsg
 
23.12.11
12:48
Вот так
ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт,
   ХозрасчетныйОстаткиИОбороты.Регистратор,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ВидСубконто1.ВидСубконто как ВидСубконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ВидСубконто2.ВидСубконто как ВидСубконто2
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дт1, &Дт2, Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидСубконто2
       ПО (ХозрасчетныйОстаткиИОбороты.Счет = ВидСубконто2.Ссылка И ВидСубконто2.НомерСтроки = 2)
       ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидСубконто1
       ПО (ХозрасчетныйОстаткиИОбороты.Счет = ВидСубконто1.Ссылка
               И ВидСубконто1.НомерСтроки = 1)
ГДЕ
   ХозрасчетныйОстаткиИОбороты.Счет В (&Счет)

УПОРЯДОЧИТЬ ПО
   ХозрасчетныйОстаткиИОбороты.Счет.Код
6 rvsg
 
23.12.11
12:51
Если только вид Субконто1 нужен, то можно первое соединение убрать. Виды Субконто это таблица для каждого конкретного счета, а их порядок там задается жестко. Поэтому это будет работать корректно
7 GenV
 
23.12.11
12:55
(4) Обычно разбивают на несколько запросов с отбором на возможное количество субконто (пример Номенклатура, Номенклатура+Партии) и с отбором по массиву счетов. Если все в куче, тогда определить доступные счета по условиям, их поместить в ВТ. Затем запрос с отбором по этим счетам и выбором нужного вида субконто с выбором по виду субконто нужного вида субконто.
8 Ivan_495
 
23.12.11
14:48
(6) когда запускаю отчет по всем счетам входящее сальдо не сходиться
ВЫБРАТЬ
   ХозрасчетныйОстаткиИОбороты.Счет КАК Счет,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт КАК СуммаНачальныйОстатокДт,
   ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт КАК СуммаНачальныйОстатокКт,
   ХозрасчетныйОстаткиИОбороты.Регистратор,
   ХозрасчетныйОстаткиИОбороты.Субконто1,
   ВидСубконто1.ВидСубконто КАК ВидСубконто1,
   ХозрасчетныйОстаткиИОбороты.Субконто2,
   ВидСубконто2.ВидСубконто КАК ВидСубконто2
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дт1, &Дт2, Регистратор, , , , ) КАК ХозрасчетныйОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидСубконто2
       ПО ХозрасчетныйОстаткиИОбороты.Счет = ВидСубконто2.Ссылка
           И (ВидСубконто2.НомерСтроки = 2)
       ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный.ВидыСубконто КАК ВидСубконто1
       ПО ХозрасчетныйОстаткиИОбороты.Счет = ВидСубконто1.Ссылка
           И (ВидСубконто1.НомерСтроки = 1)
ГДЕ
   ХозрасчетныйОстаткиИОбороты.Счет.Забалансовый <> ИСТИНА
   И (НЕ ХозрасчетныйОстаткиИОбороты.Счет ЕСТЬ NULL )

УПОРЯДОЧИТЬ ПО
   ХозрасчетныйОстаткиИОбороты.Счет.Код
ИТОГИ
   СУММА(СуммаНачальныйОстатокДт),
   СУММА(СуммаНачальныйОстатокКт)
ПО
   ОБЩИЕ
9 DrHiHi
 
23.12.11
14:53
ниче не понял, но по сути нужно задать массив видов субконто, типа
массивСубконто = новый массив;
массивсубконто.добавить(планывидовхарактеристик.видысубконтохозрасчетный.Склад);
массивсубконто.добавить(планывидовхарактеристик.видысубконтохозрасчетный.номенклатура);
и в запросе у тебя всегда будет субконто1 = склад и субконто2 = номенклатура
10 DrHiHi
 
23.12.11
14:58
(8) в каких случаях в условии (НЕ ХозрасчетныйОстаткиИОбороты.Счет ЕСТЬ NULL ) будет ложь??
11 mikeA
 
23.12.11
15:10
(4) ну и сделай через ВЫБОР КОГДА...
12 Ivan_495
 
23.12.11
15:12
(10) да это условие можно убрать...
нужна выгрузка по всем счетам входящего сальдо
в виде

счет  суммаДТ   СУММА КТ  Номенклатура     склад    контргаент договор
01     555.12        0.00   NULL              NULL    NULL     NULL
10.1   111.12        0.00   гайка         Иванова   NULL       NULL
10.2   444.15        0.00   болт           Петров    NULL       NULL

60.1    888.55     0.00     NULL           NULL  ОАО "Рогаикопыта"дог 5

99     0.00      6895.45      NULL           NULL      NULL     NULL
13 DrHiHi
 
23.12.11
15:43
ну тогда (11) если тебе нужно по видом субконто не составного типа, тогда через Выбор когда ХозрасчетныйОстаткиИОбороты.Субконто1 Ссылка Справочник.....
ИЛИ ХозрасчетныйОстаткиИОбороты.Субконто2 Ссылка Справочник
если есть составной тип тогда нужно подумать :))
14 Ivan_495
 
23.12.11
16:36
код вроде такой
ВЫБРАТЬ
   ХозрасчетныйОстатки.Счет,
   ВЫБОР
       КОГДА ХозрасчетныйОстатки.Субконто1 ССЫЛКА Справочник.Номенклатура
           ТОГДА ХозрасчетныйОстатки.Субконто1
       ИНАЧЕ NULL
   КОНЕЦ КАК Номенклатура,
   ВЫБОР
       КОГДА ХозрасчетныйОстатки.Субконто2 ССЫЛКА Справочник.Склады
           ТОГДА ХозрасчетныйОстатки.Субконто2
       ИНАЧЕ NULL
   КОНЕЦ КАК Склады,
   ВЫБОР
       КОГДА ХозрасчетныйОстатки.Субконто1 ССЫЛКА Справочник.Контрагенты
           ТОГДА ХозрасчетныйОстатки.Субконто1
       ИНАЧЕ NULL
   КОНЕЦ КАК Контрагенты,
   ВЫБОР
       КОГДА ХозрасчетныйОстатки.Субконто2 ССЫЛКА Справочник.ДоговорыКонтрагентов
           ТОГДА ХозрасчетныйОстатки.Субконто2
       ИНАЧЕ NULL
   КОНЕЦ КАК ДоговорыКонтрагентов,
   ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаОстатокДт,
   ХозрасчетныйОстатки.СуммаОстатокКт КАК СуммаОстатокКт
ИЗ
   РегистрБухгалтерии.Хозрасчетный.Остатки(&Дт, , , ) КАК ХозрасчетныйОстатки
ГДЕ
   ХозрасчетныйОстатки.Счет.Забалансовый <> ИСТИНА
   //И ХозрасчетныйОстатки.Счет В &Счет

УПОРЯДОЧИТЬ ПО
   ХозрасчетныйОстатки.Счет.Код

не пойму почему если сложить все строки СуммаОстатокДт не равняется
сумме из сальдо на начало периода?
15 GenV
 
23.12.11
19:26
(14) Потому что секунду нужно к дате остатков добавлять.