|
нужна помощь с запросом | ☑ | ||
---|---|---|---|---|
0
krmik
01.03.13
✎
14:59
|
на счете 10.1 есть следующие субконто: 1. Номенклатура 2. Склады 3. ГТД
требуется написать запрос по бухгалтерскому регистру, который покажет остатки и приходные документы из которых состоит текущий остаток и количество участвующее в остатке. У меня мысли крутятся около такого запроса, но до конца никак не срастутся... ВЫБРАТЬ ТаблицаДокументов.Период КАК Период, ТаблицаДокументов.Регистратор, ТаблицаДокументов.Счет, ТаблицаДокументов.Субконто1, ТаблицаДокументов.Субконто2, ТаблицаДокументов.Субконто3, ТаблицаДокументов.КоличествоНачальныйОстаток, ТаблицаДокументов.КоличествоОборот, ТаблицаДокументов.КоличествоКонечныйОстаток, ХозрасчетныйОстатки.КоличествоОстаток, СУММА(ТаблицаНакопления.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток1, СУММА(ТаблицаНакопления.КоличествоОборот) КАК КоличествоОборот1, СУММА(ТаблицаНакопления.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток1 ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , Счет = &Счет, , ) КАК ТаблицаДокументов ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , Счет = &Счет, , ) КАК ТаблицаНакопления ПО ТаблицаДокументов.Счет = ТаблицаНакопления.Счет И ТаблицаДокументов.Субконто1 = ТаблицаНакопления.Субконто1 И ТаблицаДокументов.Субконто2 = ТаблицаНакопления.Субконто2 И ТаблицаДокументов.Субконто3 = ТаблицаНакопления.Субконто3 И ТаблицаДокументов.Период > ТаблицаНакопления.Период ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки ПО ТаблицаДокументов.Счет = ХозрасчетныйОстатки.Счет И ТаблицаДокументов.Субконто1 = ХозрасчетныйОстатки.Субконто1 И ТаблицаДокументов.Субконто2 = ХозрасчетныйОстатки.Субконто2 И ТаблицаДокументов.Субконто3 = ХозрасчетныйОстатки.Субконто3 ГДЕ ТаблицаДокументов.Организация = &Организация И НЕ ТаблицаДокументов.Регистратор = НЕОПРЕДЕЛЕНО И НЕ ТаблицаНакопления.Регистратор = НЕОПРЕДЕЛЕНО И ТаблицаДокументов.Субконто1 = &Субконто1 И ХозрасчетныйОстатки.КоличествоОстаток > 0 СГРУППИРОВАТЬ ПО ТаблицаДокументов.Период, ТаблицаДокументов.Регистратор, ТаблицаДокументов.Счет, ТаблицаДокументов.Субконто1, ТаблицаДокументов.Субконто2, ТаблицаДокументов.Субконто3, ТаблицаДокументов.КоличествоНачальныйОстаток, ТаблицаДокументов.КоличествоОборот, ТаблицаДокументов.КоличествоКонечныйОстаток, ХозрасчетныйОстатки.КоличествоОстаток УПОРЯДОЧИТЬ ПО Период |
|||
1
lxndr
01.03.13
✎
15:01
|
(0) это невозможно. Если нужны документы партии - должна быть соответствующая аналитика на плане счетов.
|
|||
2
pessok
01.03.13
✎
15:07
|
(1) ну он может вытащить регистратор
|
|||
3
lxndr
01.03.13
✎
15:08
|
(2) из остатков?
|
|||
4
ssh2006
01.03.13
✎
15:10
|
(0) Можешь заморочится таким способом - определить по "ФИФО" документы из тех соображений, что остаток образуют самые последние по времени документы. Т.е. например остаток 5. Пусть последние приходы в порядке убывания времени поступления с такими количествами - 1,3,5,4,5,5. Значит остаток 5 образуют приходы где кол 1,3,5.
|
|||
5
Sammo
01.03.13
✎
15:11
|
Собираешь остатки и join-ишь с оборотами по регистраторам, чтобы собрать количество >= остатка по убыванию даты регистратора
|
|||
6
pessok
01.03.13
✎
15:14
|
(3)из ОстаткиИОбороты
|
|||
7
Тролль главный
01.03.13
✎
15:15
|
(6) в оборотах да? в итоговыхостатках нет
|
|||
8
DirecTwiX
01.03.13
✎
15:15
|
И НЕ ТаблицаДокументов.Регистратор = НЕОПРЕДЕЛЕНО
И НЕ ТаблицаНакопления.Регистратор = НЕОПРЕДЕЛЕНО Как регистратор может быть пустым? Максимум, там будет Null. А если хочешь избавиться от Null'ов, то используй внутренне соединение |
|||
9
pessok
01.03.13
✎
15:16
|
(7) в итоговых остатках нельзя, есессна. какие регистраторы по остаткам могут быть? :)
|
|||
10
ssh2006
01.03.13
✎
15:18
|
+(4) пример в теме v8: Как лучше сделать отчет по взаиморасчетам по ФИФО
последний пост, запрос определяет документы, которые образовали задолженность с суммой "остатка" по каждому документу |
|||
11
krmik
01.03.13
✎
17:39
|
конструкция запроса типа
И НЕ ТаблицаДокументов.Регистратор = НЕОПРЕДЕЛЕНО И НЕ ТаблицаНакопления.Регистратор = НЕОПРЕДЕЛЕНО у меня к месту. с ней все нормально. |
|||
12
krmik
01.03.13
✎
17:44
|
пока у меня получается так:
"ВЫБРАТЬ ТаблицаДокументов.Период КАК Период, ТаблицаДокументов.Регистратор, ТаблицаДокументов.Счет, ТаблицаДокументов.Субконто1, ТаблицаДокументов.Субконто2, ТаблицаДокументов.Субконто3, ТаблицаДокументов.КоличествоНачальныйОстаток, ТаблицаДокументов.КоличествоОборот, ТаблицаДокументов.КоличествоКонечныйОстаток, СУММА(ТаблицаНакопления.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток1, СУММА(ТаблицаНакопления.КоличествоОборот) КАК КоличествоОборот1, СУММА(ТаблицаНакопления.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток1 ПОМЕСТИТЬ ВТ_Остатки ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , Счет = &Счет, , ) КАК ТаблицаДокументов ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Дата1, &Дата2, Регистратор, , Счет = &Счет, , ) КАК ТаблицаНакопления ПО ТаблицаДокументов.Счет = ТаблицаНакопления.Счет И ТаблицаДокументов.Субконто1 = ТаблицаНакопления.Субконто1 И ТаблицаДокументов.Субконто2 = ТаблицаНакопления.Субконто2 И ТаблицаДокументов.Субконто3 = ТаблицаНакопления.Субконто3 И ТаблицаДокументов.Период >= ТаблицаНакопления.Период ГДЕ ТаблицаДокументов.Организация = &Организация И НЕ ТаблицаДокументов.Регистратор = НЕОПРЕДЕЛЕНО И НЕ ТаблицаНакопления.Регистратор = НЕОПРЕДЕЛЕНО И ТаблицаДокументов.Субконто1 = &Субконто1 СГРУППИРОВАТЬ ПО ТаблицаДокументов.Период, ТаблицаДокументов.Регистратор, ТаблицаДокументов.Счет, ТаблицаДокументов.Субконто1, ТаблицаДокументов.Субконто2, ТаблицаДокументов.Субконто3, ТаблицаДокументов.КоличествоНачальныйОстаток, ТаблицаДокументов.КоличествоОборот, ТаблицаДокументов.КоличествоКонечныйОстаток" затем идет запрос "ВЫБРАТЬ МАКСИМУМ(ВТ_Остатки.Период) КАК Период ИЗ ВТ_Остатки КАК ВТ_Остатки ГДЕ ВТ_Остатки.КоличествоОборот1 <= 0" и последний запрос "ВЫБРАТЬ ВТ_Остатки.Период, ВТ_Остатки.Регистратор, ВТ_Остатки.Счет, ВТ_Остатки.Субконто1, ВТ_Остатки.Субконто2, ВТ_Остатки.Субконто3, ВТ_Остатки.КоличествоНачальныйОстаток, ВТ_Остатки.КоличествоОборот, ВТ_Остатки.КоличествоКонечныйОстаток, ВТ_Остатки.КоличествоНачальныйОстаток1, ВТ_Остатки.КоличествоОборот1, ВТ_Остатки.КоличествоКонечныйОстаток1 ИЗ ВТ_Остатки КАК ВТ_Остатки ГДЕ ВТ_Остатки.Период > &Период" как раз вроде и выводит то что мне нужно. щас проверяю. Поле "КоличествоОборот1" как раз и выводит остаток на документ. Однако, что-то мне подсказывает, что все это можно одним запросом сделать. |
|||
13
Iren KI
01.03.13
✎
17:57
|
нужна помощь. Программа 1с предприятие платформа 8.2(16 352)
редакция 2.0 (2.045.5) выдает ошибку при закрытии месяца: ОбщийМодуль.НалоговыйУчет.Модуль(1886)}: Ошибка при вызове метода контекста (Индекс) ИндексЗначения = Перечисления.ВидыРасходовНУ.Индекс(ВидРасхода); по причине: Несоответствие типов (параметр номер '1') |
|||
14
krmik
01.03.13
✎
18:01
|
перед строкой ИндексЗначения = Перечисления.ВидыРасходовНУ.Индекс(ВидРасхода);
поставте проверку, например что-то типа этого Если ТипЗнч(ВидРасхода) = Тип("ПеречислениеСсылка.ВидыРасходовНУ") Тогда |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |