|
v7: Бухгалтерский запрос | ☑ | ||
---|---|---|---|---|
0
BarakuzA
28.06.12
✎
15:42
|
Есть вот такой запрос к бух итогам:
БИ.ВыполнитьЗапрос(ВыбНачПериода,ВыбКонПериода,"41.1,43.2",,,1,"День",5); БИ.ВыбратьПериоды(1); Пока БИ.ПолучитьПериод()=1 Цикл БИ.ВыбратьСубконто(1); Пока БИ.ПолучитьСубконто(1)=1 Цикл ТЗ.НоваяСтрока(); ТЗ.День = БИ.НачДата; ТЗ.Номенклатура = БИ.Субконто(1).Родитель; ТЗ.КоличествоКонОст = БИ.СКД("К"); ТЗ.СуммаРубКонОст = БИ.СКД("С"); КонецЦикла; КонецЦикла; В результате которого если за день не было оборотов по счету, то Количество и Сумма выводит по нулям, как исправить чтобы выводил при нулевых оборотах??? |
|||
1
chief accountant
28.06.12
✎
15:53
|
Чтобы выводилось строка с нулевыми оборотами?
|
|||
2
BarakuzA
28.06.12
✎
15:55
|
(1) - нет, например на 1 число есть оборот по счету и показывает остаток в ТЗ, на 2 число - нет оборота по счету, а остаток есть, но в ТЗ этой даты и остатка нет
|
|||
3
BarakuzA
28.06.12
✎
15:55
|
да,выводилось строка с нулевыми оборотами
|
|||
4
Гость2
28.06.12
✎
15:59
|
Проверяй МойДень и БИ.НачДата
А мой день был ранее равен БИ.НачДата + 1 |
|||
5
chief accountant
28.06.12
✎
16:00
|
(2)(3) Что-то я въехать не могу чего надо-то. Короче кури отчет Журнал-ордер там всё реализовано
|
|||
6
Гость2
28.06.12
✎
16:01
|
Иесле не равны то добавляй "нулевую" строку и увеличивай МойДень на 1
|
|||
7
BarakuzA
28.06.12
✎
16:16
|
(5)ПериодыСНулевымиОборотами - ??? не могу понять откуда это берется
|
|||
8
chief accountant
28.06.12
✎
16:17
|
(7) чекбокс на форме
|
|||
9
BarakuzA
28.06.12
✎
16:20
|
(8) - эт я понял, смысл в тексте отчета
Ит.ВыполнитьЗапрос(Дата1, Дата2, Счет,,, 3, ВидПериода) Ит.ВыбратьПериоды(ПериодыСНулевымиОборотами); |
|||
10
пипец
28.06.12
✎
16:24
|
жесть , синтаксис помошник читать не ?
|
|||
11
1Сергей
28.06.12
✎
16:26
|
(10) его ещё купить надо ;)
|
|||
12
BarakuzA
28.06.12
✎
16:26
|
(10) - не в этом смысле. Я ПериодыСНулевымиОборотами - где используется еще,кроме этих двух строк
|
|||
13
1Сергей
28.06.12
✎
16:27
|
(12) ПериодыСНулевымиОборотами - это флаг, устанавливается на морде
|
|||
14
BarakuzA
28.06.12
✎
16:35
|
(13) - установил я флаг, в самом отчете где он и на что влияет???
|
|||
15
1Сергей
28.06.12
✎
16:36
|
ВыбратьПериоды(<?>,,,)
SelectPeriods(<?>,,,) Синтаксис: ВыбратьПериоды(<ФлагВсе>,<ФлагДК>,<Номер>,<РазвСальдо>) Назначение: Открывает выборку периодов. Возвращает 1 - если действие выполнено и в выборке есть хотя бы один период; 0 - если действие не выполнено или в выборке нет ни одного периода. Параметры: !!!!!!! <ФлагВсе> - число: 0 - отбирать те счета, которые имели итоги на этом уровне обхода итогов запроса; 1 - включить в выборку все счета, которые имели итоги в данном запросе; -1, -2 : включить в выборку счета, которые имели итоги в группировке n-го вышестоящего уровня. По умолчанию - 0. !!!!!!! |
|||
16
chief accountant
28.06.12
✎
16:36
|
(14) Короче завязывай тупить если надо пустые строки, то
БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьСубконто(ВидыСубконто.Материалы); БИ.ВыполнитьЗапрос('01/01/2012','01/06/2012',"10",,,1,"День"); БИ.ВыбратьПериоды(1); Пока БИ.ПолучитьПериод()=1 Цикл БИ.ВыбратьСубконто(1,1); Пока БИ.ПолучитьСубконто(1)=1 Цикл Сообщить(БИ.НачДата); Сообщить(БИ.СКД("К")); Сообщить(БИ.СКД("С")); КонецЦикла; КонецЦикла; |
|||
17
BarakuzA
28.06.12
✎
16:40
|
Все ОТлично!!!!!!!!!! СпасибоБОльшое!!!!!!!!!!!!!
|
|||
18
1Сергей
28.06.12
✎
16:44
|
о, чудо...
|
|||
19
chief accountant
28.06.12
✎
16:45
|
акуеть
|
|||
20
BarakuzA
28.06.12
✎
16:47
|
Всегото навсего надо было добавить 1!
|
|||
21
chief accountant
28.06.12
✎
16:49
|
(20) Вего-навсего надо было написать в сабже два слова: не работает. Ответ получил бы в (1)
|
|||
22
BarakuzA
29.06.12
✎
12:49
|
Выводится с нулевым оборотом строка, только остаток показывает 0, хотя на самом деле есть остаток???
|
|||
23
chief accountant
29.06.12
✎
13:16
|
(22) в (16) всё выводится проверено на деме
|
|||
24
BarakuzA
29.06.12
✎
13:29
|
если на складе остаток есть, отчет выводит 0?
|
|||
25
BarakuzA
29.06.12
✎
13:29
|
выложи что информационная строка выводит
|
|||
26
chief accountant
29.06.12
✎
13:36
|
...
27.05.2012 282 7050 27.05.2012 25 3750 28.05.2012 46 4600 28.05.2012 282 7050 28.05.2012 25 3750 29.05.2012 46 4600 29.05.2012 282 7050 29.05.2012 25 3750 30.05.2012 46 4600 30.05.2012 282 7050 30.05.2012 25 3750 31.05.2012 46 4600 31.05.2012 282 7050 31.05.2012 25 3750 01.06.2012 46 4600 01.06.2012 282 7050 01.06.2012 25 3750 |
|||
27
BarakuzA
29.06.12
✎
13:42
|
у тебя каждый день меняется оборот, возьми ситуацию когда за день нет оборота.
|
|||
28
chief accountant
29.06.12
✎
13:51
|
(27) Раскрой глаза, ничего не меняется, за июнь оборотов небыло. Там три позиции материалов
|
|||
29
BarakuzA
29.06.12
✎
13:55
|
(28)-извини,повнимательнее посмотрел. тогда я ничего не понимаю. почему у меня не работает...
|
|||
30
BarakuzA
29.06.12
✎
13:56
|
БИ=СоздатьОбъект("БухгалтерскиеИтоги");
Если ВыбТовар.Выбран()=1 Тогда БИ.ИспользоватьСубконто(ВидыСубконто.ГотовПрод,выбТовар,1); Иначе БИ.ИспользоватьСубконто(ВидыСубконто.ГотовПрод); КонецЕсли; ТЗ=СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Номенклатура"); ТЗ.НоваяКолонка("День","Дата"); ТЗ.НоваяКолонка("КоличествоКонОст","Число"); ТЗ.НоваяКолонка("СуммаРубКонОст","Число"); БИ.ВыполнитьЗапрос(ВыбНачПериода,ВыбКонПериода,"41.1,43.2",,,1,"День"); //БИ.ВыбратьСубконто(); //Пока БИ.ПолучитьСубконто()=1 Цикл // БИ.ВыбратьПериоды(ПериодыСНулевымиОборотами); // Пока БИ.ПолучитьПериод()=1 Цикл // ТЗ.НоваяСтрока(); // ТЗ.День = БИ.НачДата; // Если ПоГруппам=1 Тогда // ТЗ.Номенклатура = БИ.Субконто().Родитель; // Иначе // ТЗ.Номенклатура = БИ.Субконто(); // КонецЕсли; // ТЗ.КоличествоКонОст = БИ.СКД("К"); // ТЗ.СуммаРубКонОст = БИ.СКД("С"); // КонецЦикла; //КонецЦикла; БИ.ВыбратьПериоды(1); Пока БИ.ПолучитьПериод()=1 Цикл БИ.ВыбратьСубконто(1,1); Пока БИ.ПолучитьСубконто(1)=1 Цикл ТЗ.НоваяСтрока(); ТЗ.День = БИ.НачДата; Если ПоГруппам=1 Тогда ТЗ.Номенклатура = БИ.Субконто(1).Родитель; Иначе ТЗ.Номенклатура = БИ.Субконто(1); КонецЕсли; ТЗ.КоличествоКонОст = БИ.СКД("К"); ТЗ.СуммаРубКонОст = БИ.СКД("С"); КонецЦикла; КонецЦикла; |
|||
31
chief accountant
29.06.12
✎
14:18
|
БИ=СоздатьОбъект("БухгалтерскиеИтоги");
//Если ВыбТовар.Выбран()=1 Тогда // БИ.ИспользоватьСубконто(ВидыСубконто.ГотовПрод,выбТовар,1); //Иначе БИ.ИспользоватьСубконто(ВидыСубконто.Номенклатура); //КонецЕсли; ТЗ=СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Номенклатура"); ТЗ.НоваяКолонка("День","Дата"); ТЗ.НоваяКолонка("КоличествоКонОст","Число"); ТЗ.НоваяКолонка("СуммаРубКонОст","Число"); БИ.ВыполнитьЗапрос('01/01/2012','01/06/2012',"41.1,43",,,1,"День"); БИ.ВыбратьПериоды(1); Пока БИ.ПолучитьПериод()=1 Цикл БИ.ВыбратьСубконто(1,1); Пока БИ.ПолучитьСубконто(1)=1 Цикл ТЗ.НоваяСтрока(); ТЗ.День = БИ.НачДата; //Если ПоГруппам=1 Тогда // ТЗ.Номенклатура = БИ.Субконто(1).Родитель; //Иначе ТЗ.Номенклатура = БИ.Субконто(1); //КонецЕсли; ТЗ.КоличествоКонОст = БИ.СКД("К"); ТЗ.СуммаРубКонОст = БИ.СКД("С"); Сообщить(БИ.НачДата); Сообщить(БИ.Субконто(1)); Сообщить(БИ.СКД("К")); Сообщить(БИ.СКД("С")); КонецЦикла; КонецЦикла; 29.05.2012 Пальто женское 3 6000 29.05.2012 Пальто женское GRE 6 54340.72 29.05.2012 Пальто имп. мужское 23 76825.88 29.05.2012 Пальто мужское 5 15000 29.05.2012 Пальто мужское (собств.) 18 55177.94 29.05.2012 Пальто мужское черное GRE 10 76578.28 29.05.2012 Плащ 3 3000 30.05.2012 Пальто женское 3 6000 30.05.2012 Пальто женское GRE 6 54340.72 30.05.2012 Пальто имп. мужское 23 76825.88 30.05.2012 Пальто мужское 5 15000 30.05.2012 Пальто мужское (собств.) 18 55177.94 30.05.2012 Пальто мужское черное GRE 10 76578.28 30.05.2012 Плащ 3 3000 31.05.2012 Пальто женское 3 6000 31.05.2012 Пальто женское GRE 6 54340.72 31.05.2012 Пальто имп. мужское 23 76825.88 31.05.2012 Пальто мужское 5 15000 31.05.2012 Пальто мужское (собств.) 18 55177.94 31.05.2012 Пальто мужское черное GRE 10 76578.28 31.05.2012 Плащ 3 3000 01.06.2012 Пальто женское 3 6000 01.06.2012 Пальто женское GRE 6 54340.72 01.06.2012 Пальто имп. мужское 23 76825.88 01.06.2012 Пальто мужское 5 15000 01.06.2012 Пальто мужское (собств.) 18 55177.94 01.06.2012 Пальто мужское черное GRE 10 76578.28 01.06.2012 Плащ 3 3000 Всё работает, проверено на деме |
|||
32
BarakuzA
29.06.12
✎
14:37
|
а выбор номенклатуры почему убрал?
|
|||
33
chief accountant
29.06.12
✎
15:24
|
(32) лень реквизит на форме делать
|
|||
34
BarakuzA
29.06.12
✎
15:41
|
(33)-попробуй период задать несколько месяцев.
|
|||
35
BarakuzA
29.06.12
✎
15:42
|
Если период задаю один месяц,то все ок! а если два или три - то идет лажа.
|
|||
36
BarakuzA
29.06.12
✎
15:44
|
и несколько одновременно позиций в группе
|
|||
37
chief accountant
29.06.12
✎
16:04
|
(34)(35) Раскрой глаза: БИ.ВыполнитьЗапрос('01/01/2012','01/06/2012'
|
|||
38
BarakuzA
02.07.12
✎
13:21
|
(37) - Нашел Причину, на sql не формирует как надо, а на dbf версии все ок.
|
|||
39
chief accountant
02.07.12
✎
13:31
|
(38) версия движка?
|
|||
40
BarakuzA
02.07.12
✎
13:43
|
27, sql 2000
|
|||
41
chief accountant
02.07.12
✎
13:53
|
(40) Угумс, проверил на рабочей базе, не фурычит.
|
|||
42
chief accountant
02.07.12
✎
14:15
|
41+ а вот так фурычит :)
БИ.ВыбратьПериоды(1); Пока БИ.ПолучитьПериод()=1 Цикл БИ.ВыбратьСубконто(1,1); Пока БИ.ПолучитьСубконто(1)=1 Цикл БИ.ВыбратьСчета(1); Пока БИ.ПолучитьСчет()=1 Цикл ТЗ.НоваяСтрока(); ТЗ.День = БИ.НачДата; //Если ПоГруппам=1 Тогда // ТЗ.Номенклатура = БИ.Субконто(1).Родитель; //Иначе ТЗ.Номенклатура = БИ.Субконто(1); //КонецЕсли; ТЗ.КоличествоКонОст = БИ.СКД("К"); ТЗ.СуммаРубКонОст = БИ.СКД("С"); Сообщить(БИ.НачДата); Сообщить(БИ.Субконто(1)); Сообщить(БИ.СКД("К")); Сообщить(БИ.СКД("С")); КонецЦикла; КонецЦикла; КонецЦикла; |
|||
43
BarakuzA
02.07.12
✎
15:46
|
(42) - и у меня все отлично!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |