|
v8: Вопрос про запрос... | ☑ | ||
---|---|---|---|---|
0
vfif2601
16.04.12
✎
20:12
|
Необходимо получить данные по остаткам на начало периода по 62 счету и проводки сделанные по реализации( Дт 62.01 Кт 90.01.1), хотелось бы получить данные одним запросом. Возможна и такие ситуации, что есть остатки но нет оборотов и есть обороты, но нет остатков. Каким образом можно получить такие данные в одном запросе?
|
|||
1
comp2006
16.04.12
✎
20:18
|
Запросом не получается?
|
|||
2
Живой Ископаемый
16.04.12
✎
20:20
|
http://www.forum.mista.ru/topics_by_tag.php?tag_id=950
давайте тому кто создаст уже 1000-ю ветку с этим оригинальным названием, дадим какой-нибудь приз |
|||
3
vfif2601
16.04.12
✎
20:22
|
(2) Не получается. Если бы получалось, не спрашивала бы.
|
|||
4
comp2006
16.04.12
✎
20:22
|
ВЫБРАТЬ
ХозрасчетныйОстаткиИОбороты.Счет, ХозрасчетныйОстаткиИОбороты.Субконто1, ХозрасчетныйОстаткиИОбороты.Субконто2, ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток, ХозрасчетныйОстаткиИОбороты.СуммаОборотДт, ХозрасчетныйОстаткиИОбороты.СуммаОборотКт, ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Д1, &Д2, , , Счет = &Сч62, , Организация = &Орг) КАК ХозрасчетныйОстаткиИОбороты |
|||
5
catena
16.04.12
✎
20:23
|
(2)Те, у кого не получается, спрашивают про то, что не получается: соединение, параметры виртуальных таблиц и проч. Те, кто даже не пытался - создают ветки "про запрос..."
|
|||
6
vfif2601
16.04.12
✎
20:24
|
Мне надо использовать именно именно таблицу ОборотыДтКт, так как в таблице ОстаткиИОбороты нельзя наложить условие на корр счет.
|
|||
7
vfif2601
16.04.12
✎
20:24
|
(5) Не понимаю как указать связи
|
|||
8
Конфигуратор1с
16.04.12
✎
20:25
|
(7)потому что фото нет
|
|||
9
comp2006
16.04.12
✎
20:27
|
Пакетный запрос.
В первом пакете получаем остатки по сч. 62 Во втором ОборотыДтКт, где в параметрах нужная корреспонденция В третьем соединяем две таблицы (не забываем ЕСТЬNULL) |
|||
10
catena
16.04.12
✎
20:32
|
(7)Связи с чем?
|
|||
11
catena
16.04.12
✎
20:33
|
Вообще не так делается: показываешь, что наваял, а тебя тыкают носом в ошибки. С нуля никто писать не будет.
|
|||
12
comp2006
16.04.12
✎
20:34
|
(11)...наваяла...
|
|||
13
Конфигуратор1с
16.04.12
✎
20:34
|
(11)Вы чего такая сердитая сегодня?
|
|||
14
Torquader
16.04.12
✎
20:37
|
Откуда берётся столько лиц женского полу, которые почему-то верят, что могут научиться программировать в 1С.
|
|||
15
catena
16.04.12
✎
20:40
|
(12)Ой, пардон. Не буду тогда мешать д'артаньянам :)
(13)правда? Свекровь говорит, что это биоритмы перед днем рождения бушуют, я не при чем. (14)А я и не верю :( |
|||
16
Живой Ископаемый
16.04.12
✎
20:40
|
2(12) как тебе родовое окончание поможет в написании запроса?
|
|||
17
Конфигуратор1с
16.04.12
✎
20:40
|
(14)а количество мужского полу лиц вас не смущает? )))
|
|||
18
Конфигуратор1с
16.04.12
✎
20:41
|
(15)А когда день рождения?
|
|||
19
Живой Ископаемый
16.04.12
✎
20:41
|
(17) +100500
|
|||
20
comp2006
16.04.12
✎
20:41
|
catena, не обижайся! Реплика в (14), думаю, к тебе не относилась!
|
|||
21
Torquader
16.04.12
✎
20:43
|
(15) Я говорил не о вас, а о том "чуде", которое открыло тему.
(17) Как-то они меньше напрягают, потому как или стараются думать, или вообще идут пить пиво, забыв про 1С. |
|||
22
Зеленый Кот
16.04.12
✎
20:45
|
все норм - 1989
|
|||
23
Конфигуратор1с
16.04.12
✎
20:45
|
(21)шовинист?))) По моим наблюдениям, пол на интеллект никак не влияет. Как пример - v8: Запрос в 1с торговля 11
|
|||
24
catena
16.04.12
✎
20:45
|
(18)В следующую рабочую, блин, субботу.
(20)Я не обижаюсь. У меня тут функция оракловая не хочет параметр возвращать, так что, видимо, все-таки ко мне. |
|||
25
Torquader
16.04.12
✎
20:49
|
(23) ВСЁ убедил! Они все одинаковые!
(24) А чего там с функцией-то не получается ? |
|||
26
catena
16.04.12
✎
20:55
|
(25)Да зараза, если через ADODB.Command с коммандтайп = 4, говорит, что функция должна быть декларирована, а если через комманд, но с бегин-енд - не знаю, как ретурн значение...
|
|||
27
Torquader
16.04.12
✎
20:58
|
(26) Функция, это хранимая процедура - насколько я понимаю.
Тогда или Execute procedure или select [функция] from system; |
|||
28
catena
16.04.12
✎
21:03
|
(27)хм... селект фром систем не пробовала еще. Попробую.
А екзекьют по имени функции не хочет. Завтра еще попытаю наших ораклистов на предмет области доступности... |
|||
29
Torquader
16.04.12
✎
21:05
|
(28) Если EXECUTE не работает, то есть подозрение, что или функция не до конца определена, или нет прав у данной учётной записи.
|
|||
30
Конфигуратор1с
16.04.12
✎
21:07
|
(24)это какая рабочая суббота????
|
|||
31
catena
16.04.12
✎
21:13
|
(29)Если я делаю EXECUTE('declare dd varchar(256); begin dd:=[функция]; end") - отрабатывает без ошибок. А если делаю CommandText=[функция];CommandType = 4;EXECUTE() - говорит что функция не declare или не адентифай.
(30)28-же! |
|||
32
comp2006
16.04.12
✎
21:17
|
vfif2601, попробуй так. У тебя всё получится!
ВЫБРАТЬ ХозрасчетныйОстаткиИОбороты.Счет, ХозрасчетныйОстаткиИОбороты.Субконто1, ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт ПОМЕСТИТЬ НачальныеОстатки62 ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&Д1, , , , Счет = &Сч62_1, , Организация = &Орг) КАК ХозрасчетныйОстаткиИОбороты ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ХозрасчетныйОборотыДтКт.СчетДт, ХозрасчетныйОборотыДтКт.СубконтоДт1, ХозрасчетныйОборотыДтКт.СчетКт, ХозрасчетныйОборотыДтКт.СуммаОборот ПОМЕСТИТЬ ОборотДт62_1_Кт90_01_1 ИЗ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&Д1, &Д2, , СчетДт = &Сч62_1, , СчетКт = &Сч90_01_1, , Организация = &Орг) КАК ХозрасчетныйОборотыДтКт ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЕСТЬNULL(НачальныеОстатки62.Субконто1, ОборотДт62_1_Кт90_01_1.СубконтоДт1) КАК Контрагент, ЕСТЬNULL(НачальныеОстатки62.СуммаНачальныйОстатокДт, 0) КАК НачальныйОстатокДт62_01, ЕСТЬNULL(ОборотДт62_1_Кт90_01_1.СуммаОборот, 0) КАК СуммаОборотДт62_1_Кт90_01_1 ИЗ НачальныеОстатки62 КАК НачальныеОстатки62 ПОЛНОЕ СОЕДИНЕНИЕ ОборотДт62_1_Кт90_01_1 КАК ОборотДт62_1_Кт90_01_1 ПО НачальныеОстатки62.Субконто1 = ОборотДт62_1_Кт90_01_1.СубконтоДт1 |
|||
33
Torquader
16.04.12
✎
21:22
|
(31) А SELECT [функция] FROM SYSTEM; что даёт ?
Просто в описании ADO сказано, что Set r=CommandObject.Execute(StoredProcedureName,Empty,4) должно выполнять процедуру, возвращающую только одну строку |
|||
34
catena
16.04.12
✎
21:31
|
(33)Завтра попробую, отпишусь. На работе мисту закрыли :(
Я просто до этого только процедуры выполняла, меня не очень интересовали аут-параметры :) |
|||
35
Torquader
16.04.12
✎
21:36
|
(34) А без них тоже самое.
Но, насколько я знаю, oracle вообще select любит. P.S. у меня, например, с FireBird не сложилось - ну не захотел он выдавать результаты выполнения не-SELECT процедуры наружу, как я его не мучал - то есть или SELECT или RESULT а оба вместе - шиш - а очень хотелось. |
|||
36
catena
17.04.12
✎
18:03
|
Torquader , спасибо за помощь!
from system не прокатило, но натолкнуло меня на from dual. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |