Имя: Пароль:
1C
1C 7.7
v7: Бух итоги по субсчетам
,
0 IrinaBrik
 
16.11.11
13:09
Здравствуйте)

у меня вот такая загвоздка
надо получить бух итоги по субсчетам 10го счета (10.1, 10.3, 10.6, 10.9)
уже есть список с нужными субсчетами. в цикле его перебираю, текущий субсчет - текСчет
что я делаю

БИ = СоздатьОбъект("БухгалтерскиеИтоги");
текСчет = СписокСчетов.ПолучитьЗначение(i, текСчет);
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент);
БИ.ВключатьСубсчета(1,0);
БИ.ВыполнитьЗапрос(начДата, конДата, текСчет + "60.1",,,2,,1);
БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1) = 1 Цикл
   Сообщить(БИ.СКД());
КонецЦикла;

В ЧЕМ ПРОБЛЕМА: по всем субсчетам 10-го счета СКД одинаковое, такое же как и у самого 10 счета. Как корректно выполнить фильтрацию пот субсчетам, чтобы СКД было разно?
1 viktor_vv
 
16.11.11
13:15
Я тока не понял нафик здесь запос в цикле. Загони все счета в одну строку. Потом

БИ.ВыбратьСчет();
Пока БИ.ПолучитьСчет() = 1 Цикл
БИ.ВыбратьСубконто(1);
Пока БИ.ПолучитьСубконто(1) = 1 Цикл
   Сообщить(БИ.СКД());
КонецЦикла;

и т. д.
2 KishMish
 
16.11.11
13:15
текСчет - какое значение?
3 IrinaBrik
 
16.11.11
13:22
(1) сейчас спробую
(2) переменной текСчет по очереди присваивается значение из списка: 10.1, 10.3, 10.6, 10.9
4 IrinaBrik
 
16.11.11
13:31
(1) не выходит
мне надо получить сумму оборотов между 10.х счетом и 60.1
если писать ВыполнитьЗапрос(начДата, конДата, "10.1, 10.3, 10.6, 10.9, 60.1",,,1,,1) - не работает, сумма оборотов нулевая
также и при ВыполнитьЗапрос(начДата, конДата, "10.1, 10.3, 10.6, 10.9", "60.1",,2,,1)

я вообще перепробовала все комбинации аргументов запроса. хоть какой то результат получается только при том запросе, который в первом сообщении. НО там не различается сумма по разным субсчетам
5 BlackSeaCat
 
16.11.11
13:41
БИ.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Контрагент) - с каких пор у 10 счета аналитика по контрагентам?
6 IrinaBrik
 
16.11.11
13:44
(5) но ведь у 60.1 она есть
7 BlackSeaCat
 
16.11.11
13:48
(6) Вы же делаете запрос по 10-ке. А 60 - КОРРЕСПОНДИРУЮЩИЙ счет. Понимаете разницу?

Если надо отобрать обороты по одному контрагенту, то метод ИспользоватьКорСубконто вам в помощь.

А если надо разворачивать по материалам, то обязательно должно быть и

БИ.ИспользоватьСубконто(ВидыСубконто.Материалы);
8 IrinaBrik
 
16.11.11
13:55
да, понимаю)

отбирать надо по не по одному контрагенту

а разворачивать надо по группам материалов, поэтому и использую субсчета 10го счета)

БИ.ВыполнитьЗапрос(НачДата, КонДата, "60.1",текСчет,,2,,1); тоже не работает
9 afk
 
16.11.11
13:55
БИ.ИспользоватьКорСубконто("Контрагенты", выбКонтрагент, 1);

БИ.ВключатьСубсчета(-1);

БИ.ВыполнитьЗапрос(начДата, конДата, "10", "60.1");

БИ.ВыбратьСчета();
Пока БИ.ПолучитьСчет() = 1 Цикл
БИ.ВыбратьКорСубконто();
Пока БИ.ПолучитьКОрСубконто() = 1 Цикл
//БИ.КорДО() - искомая
КонецЦикла;
КонецЦикла;
10 zak555
 
16.11.11
13:56
(0) опять ?

я же описал как делать
11 IrinaBrik
 
16.11.11
13:57
(10) у вас хорошая память! но не работает) вдобавок бухи попросили переделать
12 zak555
 
16.11.11
13:59
(11) фотку вставила, вот и запомнил взгляд =)
13 zak555
 
16.11.11
14:00
опишу всю задачу
14 BlackSeaCat
 
16.11.11
14:01
(10) Угу, а я не догадался предыдущие ветки автора поискать...

С сожаление констатирую: за два месяца работы ПОНИМАНИЯ не добавилось.

Даже не знаю, что и посоветовать... Может быть, хна поможет?
15 IrinaBrik
 
16.11.11
14:10
(14) полегче на поворотах) за 2 месяца у меня другой работы хватало, сейчас время для отчета появилось
16 zak555
 
16.11.11
14:10
IrinaBrik смотри в (13)
17 IrinaBrik
 
16.11.11
14:14
опишу или опиши?
18 Сияющий Асинхраль
 
16.11.11
14:16
(17) Твоя задача, ты и описывай...
19 Сияющий Асинхраль
 
16.11.11
14:19
(17) А кстати, что за загадочная конструкция:
текСчет + "60.1"
ТекСчет у тебя это строка или объект счет? В любом случае, чтобы это ни было после сложения получиться фигня...
20 IrinaBrik
 
16.11.11
14:24
(19) текСчет - строка. почему фигня?

вот сама задача:
отчет задан такой вот таблицей. группировка идет по группам материалов
http://imghost.in/di-J2R5.png

данные собираются по каждому контрагенту
21 zak555
 
16.11.11
14:28
запрос по 10/16 и кор счёт 60


использоватьСубконто(материалы ,СЗ_групп,1,1);
использоватьКорСубконто(контрагнеты,,1,0);

выполнитьЗапрос(дата1, дата2, "10,16", "60",,2,,1);
22 afk
 
16.11.11
14:28
(20) см.9
23 zak555
 
16.11.11
14:30
(22) у тебя нет 19 счёта + не надо делать выборку по счетам
24 chief accountant
 
16.11.11
14:33
Шо опять??!
25 IrinaBrik
 
16.11.11
14:36
chief accountant, ну я тоже не дурака валяю. но что поделаю, если ни один из вариантов не работает. хотя, казалось бы, ерундовый отчет

(9) вариант не работает
26 zak555
 
16.11.11
14:38
IrinaBrik смотри на (21)
27 IrinaBrik
 
16.11.11
14:40
(26) ага, пробую
28 zak555
 
16.11.11
14:47
очень долго
29 IrinaBrik
 
16.11.11
14:47
(21) что такое СЗ_групп
строковое значение групп?
30 zak555
 
16.11.11
14:48
(29)
это элементы групп с наименованиями из (20) 6 топливо/тара/запчасти и т.д.
31 BlackSeaCat
 
16.11.11
14:53
(30) Не взлетит... автору не поможет удочка, ей нужна рыба, причем почищенная и выпотрошенная.

То есть - готовый код, от начала и до конца. Посмотрим, найдется ли желающий...
32 IrinaBrik
 
16.11.11
14:55
(31) я вас умоляю!

(21) все работает. теперь вместо 10 счета в запросе надо подставлять необходимые субсчета (10.1, 10.3 ...) ?
33 zak555
 
16.11.11
14:56
(32) так он и та должен правильно работать
34 IrinaBrik
 
16.11.11
14:57
(33) верно, пропустила группы материалов)
35 IrinaBrik
 
16.11.11
15:03
спасибо за помощь!

но чует мое сердце, что это еще не конец) - будет необходимо усложнить структуру отчета
36 zak555
 
16.11.11
15:04
(35) в первой ветке написал, как сделать изначальный отчёт
37 IrinaBrik
 
16.11.11
15:06
(36) там немного перестроили структуру
38 zak555
 
16.11.11
15:07
(37) сразу нарисуй
39 Сияющий Асинхраль
 
16.11.11
15:15
(20) Ну, пусть ТекСчет = "10.1" Тогда ТекСчет + "60.1" получим "10.160.1". Сдается мне очень долго система такой счет искать будет...
40 IrinaBrik
 
17.11.11
06:07
(39) ага, когда постила сообщения забыла запятую добавить
41 IrinaBrik
 
17.11.11
13:35
пишу так


списГруппМат = СоздатьОбъект("СписокЗначений");
спрМат = СоздатьОбъект("Справочник.Материалы");
спрМат.ВыбратьЭлементы();

спрМат.НайтиПоНаименованию("10.1 Сырье и материалы",0, 0);
списГруппМат.ДобавитьЗначение(спрМат.ТекущийЭлемент());

спрМат.НайтиПоНаименованию("10.3 Топливо",0, 0);
списГруппМат.ДобавитьЗначение(спрМат.ТекущийЭлемент());


   к=1;
                   
   Пока к<= списГруппМат.РазмерСписка() Цикл      
       текГрМат = списГруппМат.ПолучитьЗначение(к,текГрМат);                          
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,текГрМат,1,1);
БИ.ИспользоватьКорСубконто(ВидыСубконто.Контрагенты,контрагент,1,0);
       БИ.ВыполнитьЗапрос(НачДата, КонДата, "10,16", "60",,2,,1);
       БИ.ВыбратьСубконто(1);
       Пока БИ.ПолучитьСубконто(1) = 1 Цикл
           БИ.ВыбратьКорСубконто(1);
           Пока БИ.ПолучитьКорСубконто(1) = 1 Цикл    

                   Сообщить("материал " + БИ.Субконто(1)  + " контр. " + БИ.КорСубконто(1) + " деб " + БИ.СКД());

           КонецЦикла;        
       КонецЦикла;
       к = к+1;
   КонецЦикла


выбирает не итоги по группе материалов, а все данные в каждой группе
где косяк?
42 IrinaBrik
 
17.11.11
13:39
еще меняла местами вложенные циклы по субконто и корсубконто - безрезультатно
43 chief accountant
 
17.11.11
13:48
Хе-хе, а думаешь получить итоги только по группам в бухзапросе как два пальца...?
44 zak555
 
18.11.11
04:22
(41) какие итоги ?
у тебя обороты !

+ у тебя отчёт составляется по одному контрагенту ?
45 zak555
 
18.11.11
04:22
(43) что там не то ?
46 IrinaBrik
 
18.11.11
06:26
(44) ну да, СКД надо получить

отчет составляется по всем контрагентам
контрагент - n строк с результатами по каждой группе материалов для этого контрагента http://imghost.in/di-J2R5.png
следующий контрагент - n строк по группам материалов http://imghost.in/di-J2R5.png
и так далее..

не знаю что там про 2 пальца, но у меня не выходит..
47 zak555
 
18.11.11
08:55
(46) я помню предыдущие ветки - там было задание такое : сколько закупили !!!
48 IrinaBrik
 
18.11.11
09:03
(47) сколько закупили? я не понимаю

там таблица была больше, но из за того, что субконто у разных счетов не совпадали - теперь считаем только то, что ПОЛУЧЕНО от компании
49 zak555
 
18.11.11
09:12
(48) в ветке Не работает расчет в режиме ВыполнитьЗапрос() был скрин : http://i.imgur.com/qKVUv.png

тут слова : списано/получено => оборот
какой тогда остаток ?
50 IrinaBrik
 
21.11.11
07:15
хорошо, даже если и оборот - все равно отбор выполняется некорректно
повторю - мне нужно у каждого контрагента отобразить итоги по отдельным группам материалов. а сейчас (код приведен выше) у меня выводятся результаты по материалам в группе, а не итого по этой группе

где ошибка в запросе?
51 Креатив
 
21.11.11
08:06
(0) Может тебе посмотреть код вот этого отчёта? http://infostart.ru/public/80534/ ?
Не сказать, что там всё фантастично, но....
52 IrinaBrik
 
21.11.11
09:23
(51) я так и не поняла как там его получить
ну и, судя по названию, там не то, что надо
53 Креатив
 
21.11.11
09:33
(52)А ты думала, что там готовый отчёт для тебя?))) Это пример пользования бухитогами.
http://zalil.ru/32100373
54 zak555
 
21.11.11
09:48
(50) > у меня выводятся результаты по материалам в группе, а не итого по этой группе

мне нужна расшифровка сией мысли
55 Креатив
 
21.11.11
10:11
(42)Попробуй
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,текГрМат,2);
56 BlackSeaCat
 
21.11.11
10:11
(54) Элементарно: у ТС отчет РАЗВОРАЧИВАЕТ данные по материалам, а ей нужны ТОЛЬКО итоги по группам.
57 zak555
 
21.11.11
10:12
(55) чё ?
58 zak555
 
21.11.11
10:12
(56) а кто мешает получать по группе ?
59 Креатив
 
21.11.11
10:13
(55)Это к 41.)))
60 zak555
 
21.11.11
10:13
(59) всё равно не взлетит =)
61 BlackSeaCat
 
21.11.11
10:14
(58) А что мешает плохому танцору? Отсутствие хирурга?
62 zak555
 
21.11.11
10:15
(61) херыч тут причём ?
63 BlackSeaCat
 
21.11.11
10:16
(62) Дык, это ж классика: "Хороший хирург радикально поможет плохому танцору"
64 zak555
 
21.11.11
10:16
(63) отрежет всё ? =)
65 Креатив
 
21.11.11
10:17
(60)А куда оно денется-то?
66 zak555
 
21.11.11
10:20
(65) есть 4ый параметр у метода использоватьСубку(!)
67 Креатив
 
21.11.11
10:24
(66)Есть
Параметр <ПоГруппам> имеет смысл, если параметр <ТипФильтра> равен 1, а вид субконто, заданный параметром <ВидСубконто>, имеет тип значения ''Справочник''.
Но уж если очень хочется, то можно попробовать
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,текГрМат,2,1);
68 zak555
 
21.11.11
10:27
(67) так если его не поставить - разворота по группа не будет
69 Креатив
 
21.11.11
10:33
(68)Если я правильно понял, ей разворота и не надо, а значения по самим группам.
Кстати, в (41) лучше то, что находится в теле цикла поместить в процедуру.
70 zak555
 
21.11.11
10:34
(69) у тебя будет несколько запросов тогда
71 Креатив
 
21.11.11
10:43
(70)Так и сейчас несколько. Или ты про БИ = СоздатьОбъект("БухгалтерскиеИтоги");?
Так БИ можно в процедуру в качестве параметра передавать, если душе угодно.
72 zak555
 
21.11.11
10:44
(71) я предлагал использовать один метод ВыполнитьЗапрос
73 Креатив
 
21.11.11
10:49
(72)Ну тогда просто вместо текГрМат передать список с группами (списГруппМат). Так даже быстрей работать будет.
То есть
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,списГруппМат,2,1);
или
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,списГруппМат,2); //должны работать оба варианта, а цикл убрать.
74 zak555
 
21.11.11
10:54
(73) второй вариант не будет рассчитывать по группам
75 Креатив
 
21.11.11
10:56
(74)Надо проверять, а лень. В теории должно работать. На практике пусть автор попробует и отпишется.
76 zak555
 
21.11.11
10:58
(75)

БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,списГруппМат,2,1);


точно развернёт по всем элементам, входящих в списГруппМат, и даст итоги по группам списГруппМат
77 Креатив
 
21.11.11
11:07
(76)БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,списГруппМат,2);
Выводит данные только по группам. Заставил-таки проверить.)))
78 zak555
 
21.11.11
11:19
а так ?

БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,списГруппМат,2,0);
79 IrinaBrik
 
21.11.11
11:19
(67)
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,текГрМат,2,1) работает)
80 IrinaBrik
 
21.11.11
11:21
(75) так тоже работает, ведь мы указываем точно название группы
81 IrinaBrik
 
21.11.11
11:23
(78) и так тоже, потому что 4й аргумент в этой функции по умолчанию = 0

СПАСИБО!
82 BlackSeaCat
 
21.11.11
11:30
С нетерпением ждем продолжения!
83 IrinaBrik
 
21.11.11
11:32
(82) тонко)
84 zak555
 
21.11.11
12:29
быстро всё закончилось
85 BlackSeaCat
 
21.11.11
12:31
(84) Думаешь? Я почему-то жду хотелок сделать разворот (или отбор) 10-счета по местам хранения. Вот тогда начнется веселуха!
86 zak555
 
21.11.11
12:39
аналитика мх - ненужна в этом отчёте
87 IrinaBrik
 
23.11.11
11:41
(85)  ;)

мне нужен разворот не по местам хранения, а по номенклатуре. при том, что у 10,16 и 60 счета нет субконто "номенклатура"

есть ли выход?
88 Креатив
 
23.11.11
11:43
(87)Это тебе ерунду сказали. Разворот по материалам, наверное. Тогда
БИ.ИспользоватьСубконто(ВидыСубконто.Материалы,текГрМат,1,1)
Но лучше почитай синтакс-помощник по данному методу.
89 IrinaBrik
 
23.11.11
11:47
(88) требуют что то такое http://i.imgur.com/rWuP5.png

по материалам - это знакомо) но тут другое
90 IrinaBrik
 
23.11.11
11:51
забыла последний столбец включить) вот http://xmages.net/storage/10/1/0/4/a/upload/84eb0ad1.png
91 Креатив
 
23.11.11
11:52
(89)Материалы и есть. Только тогда не 1,1, а 1,0. Но лучше синтакс-помощник. А группу можно получить через родителя.
92 Креатив
 
23.11.11
11:52
(90)А последний столбец про что?
93 Креатив
 
23.11.11
11:53
(90)Ощущение такое, что у вас там нашёлся склад волшебных грибов.
94 IrinaBrik
 
23.11.11
12:01
нет, грибы тут не причем)

идет отбор по контрагентам. у каждого контрагента выбирается одинаковый набор групп материалов - и считаем итоги. считается!

но! тут мне заказывают разворачивать итоги еще и по номенклатуре, сколько средств на какую вещь уходят. КАК??
95 Креатив
 
23.11.11
12:07
(94)Последний столбец в таблице всё равно вне пределов моего понимания.
"сколько средств на какую вещь уходят" - это про производство?
96 IrinaBrik
 
23.11.11
12:29
(95) за что купила, за то и продаю. буем считать,что это просто дебитовый оборот за период. с разворотом по номенклатуре

ведь практически при работе в программе можно получить отчет, в котором будут содержаться номенклатуры: анализ счета - выбираем отдельную сумму и попадаем в журнал проводок - в журнале выбираем отдельную операцию, в которой и перечислены номенклатуры. а мне все это надо получить в отчете
97 zak555
 
23.11.11
13:05
действительно, грибочки

ну так разворачивай элементам
98 IrinaBrik
 
23.11.11
13:10
(97) развернула бы, но не врублюсь откуда их подцеплять
99 zak555
 
23.11.11
13:10
(98) подцепить кого ?
мужиков ?
100 zak555
 
23.11.11
13:10
соткаНАХ
101 IrinaBrik
 
23.11.11
13:15
язя подцепть!

как развернуть то, если этого субконто у счетов нету?
102 zak555
 
23.11.11
13:45
(101) кирпич это номенклатура? не материал ?
103 IrinaBrik
 
23.11.11
13:49
(102)
номенклатура. не материал
104 zak555
 
23.11.11
13:50
(103) ааа

это вы произвели из материала номеклатуру ?
105 IrinaBrik
 
23.11.11
13:54
(104) да, все верно
106 zak555
 
23.11.11
14:04
(105) а производство через какие счета ?
107 IrinaBrik
 
23.11.11
14:24
основное производство - 20 счет
выпуск продукции - 40
108 zak555
 
23.11.11
14:46
ага-ага
109 Креатив
 
23.11.11
19:50
Сдаётся мне, что в твоём отчёте информацию о номенклатуре уже перебор. Отчёты должны быть понятными. Если ты смотришь затраты, то нет смысла прикручивать контрагентов. И наоборот.
110 BlackSeaCat
 
23.11.11
20:42
(94) "мне заказывают разворачивать итоги еще и по номенклатуре, сколько средств на какую вещь уходят" - м-да, это покруче, чем моя убогая (признаю!) фантазия смогла разгуляться в (85)...

"Пилите, Шура, пилите!" (с)
111 zak555
 
23.11.11
22:03
главное не спугнуть =)
112 IrinaBrik
 
24.11.11
06:29
:(
113 zak555
 
25.11.11
22:35
ира в шоке ?
114 zak555
 
26.11.11
04:33
точно ира в шоке
115 IrinaBrik
 
28.11.11
06:02
я не "в шоке", я просто не знаю что тут делать. реально
была б зацепка какая-нибудь, как можно это вывести, я б и сама покрутила отчет

но - увы!
116 zak555
 
28.11.11
08:47
так неясно, что нужно
117 Креатив
 
28.11.11
09:37
(116)+ и ясно, что всё валить в одну кучу не нужно
118 IrinaBrik
 
28.11.11
10:52
ну вот же таблица
http://xmages.net/storage/10/1/0/4/a/upload/84eb0ad1.png

у каждого контрагента выбираются группы материалов и у каждой группы еще расписываются затраты по номенклатурам (третий столбец). вот что надо
119 Креатив
 
28.11.11
12:31
(118)А ты знаешь, откуда у тебя берутся данные в 3-м столбце?
Бухи объяснили?
120 IrinaBrik
 
28.11.11
14:45
(119)
вот как они объяснили
-создали карточку счета по 10 счету - там список из операции за период и их суммы
-выбираем какую-нибудь операцию из списка, открываем ее
-в табличной части этого документа находится список номенклатур, которые нам и нужны

и теперь говорят - сделай нам все это в одном отчете!
121 Креатив
 
28.11.11
14:59
(120)А точно в табличных частях ВСЕХ документов есть номенклатура?
Что-то меня терзают смутные сомнения.
122 IrinaBrik
 
29.11.11
06:18
(121)
но даже если не во всех, отбор же все равно может быть произведен
123 zak555
 
29.11.11
08:53
(120) что за документ такой открывается ?
124 IrinaBrik
 
29.11.11
10:47
операция же
125 zak555
 
29.11.11
13:33
(124) ручная что ли ?
126 IrinaBrik
 
30.11.11
12:02
(125)
нет, самая обычная стандартная операция,  в табличной части которой перечислены номенклатуры (в виде субконто проводок)
127 zak555
 
30.11.11
12:58
(126) скриншот операции жду
128 IrinaBrik
 
30.11.11
13:37
129 zak555
 
30.11.11
13:50
(128) вода люкс 19 л - это вид субконто - материал
130 zak555
 
30.11.11
13:51
а док поступление тмц, ос (рабочий)
131 IrinaBrik
 
30.11.11
14:02
так)
Содержание операции: ЛИРн080986  Поступление ТМЦ,МБП,ОС

а док поступление тмц, ос (рабочий) - это что имеется ввиду?
132 zak555
 
30.11.11
14:05
нажми в операции на карандаш, который чиркает по листку
133 IrinaBrik
 
30.11.11
14:08
открывает приходный ордер, там таблица с субконто1 и субконто2 и прочей информацией
134 zak555
 
30.11.11
14:09
(133) скриншот
135 zak555
 
30.11.11
14:09
документа
136 IrinaBrik
 
30.11.11
14:14
минуту
137 IrinaBrik
 
30.11.11
14:16
138 zak555
 
30.11.11
15:00
и где тут номенклатура ?
139 IrinaBrik
 
30.11.11
15:04
выходит это и есть материалы
привет бухам
140 zak555
 
30.11.11
15:16
(139)

поехали заново : тогда напиши, что надо =)
141 zak555
 
30.11.11
15:31
IrinaBrik может тебе проще забить на это всё ?
142 IrinaBrik
 
01.12.11
06:31
(141)
партия не велит
143 zak555
 
01.12.11
09:41
(142) и в какой ты состоишь ?
144 Креатив
 
01.12.11
12:57
(142)"Нас не догонят!" - сказали бухи и дали задание.
145 zak555
 
01.12.11
14:18
(144) перегонят
146 zak555
 
01.12.11
19:19
проблема отпала