Имя: Пароль:
1C
 
Как обратиться к Операциям и Проводкам в Запросе????
0 frashman
 
10.11.04
05:05
Мне нужно выбрать операции с субконто "Договоры", которые порождены документом "Выписка"!!
Подскажите как к ним обратиться в Запросе??
я обращаюсь в запросе через: Операция.Субконто.Договоры,но запрос не работает!:(
1 Морозов Александр
 
10.11.04
05:08
А где запрос?
2 frashman
 
10.11.04
08:57
Запрос пишу такой, но он не работает!!!
Договоры1=Документ.ДоговорЗайма.Договоры;
Договоры=Операция.Субконто.Договоры;
Счет=Операция.Счет;
ДатаОперации=Операция.ДатаОперации;
Группировка Договоры;
Группировка Счет;
Группировка ДатаОперации;
Условие(Договоры1=Договоры) и (Счет=СчётПоКоду(66.3));
3 427
 
10.11.04
09:03
а бух запрос идиоты придумали? Вот и доставай им...
4 laeg
 
10.11.04
09:10
Может проще сделать так:
По умалчанию в типовой Бух Субконто - Договоры всегда второе -> т.е. можно спокойно выбрать через документ (можно и предусмотреть что оно будет третьим)

Да и причем тут Документ Займа ?!?!?!

Выписка = Документ.Выписка.ТекущийДокумент;
Договор = Документ.Выписка.Субконто2;
...
...
Условие (Договор в спДоговоров); // спДоговоров = список нужных нам к примеру договоров
...
...
Группировка Договор;
...
...

Примерно так
5 laeg
 
10.11.04
09:12
(3)
ИМХО через бух итоги будет долшье чем черным запросом, т.к. нам нужен еще конкретный документ который "породил" данную операцию ...
Хотя нужно все тестить.
6 427
 
10.11.04
10:28
(5) ты уверен?
7 Еще
 
10.11.04
11:22
Обычный запрос "спотыкается" на выключенных проводках. В результат запроса попадают только проводки до выключенных, а все, которые после - игнорируются. Глюк такой. Пробовал на разных релизах.
8 Ira
 
10.11.04
11:28
Это из заданий по аттестации? Надо обязательно делать с бухзапросом.
9 427
 
10.11.04
11:31
(5) я ret./// <ep запрос не умеет получать Док, породивший операцию?
10 laeg
 
10.11.04
11:31
(6)
я же сказал что ИМХО и нужно тестить
11 427
 
10.11.04
11:32
ЛОЛ!!!
12 Ira
 
10.11.04
11:34
БИ = СоздатьОбъект("БухгалтерскиеИтоги");
БИ.ИспользоватьСубконто(ВидыСубконто.Договоры,,1);
БИ.ВыполнитьЗапрос(НачДата, КонДата,,,,,"Проводка");
БИ.ВыбратьПериоды();
Пока БИ.ПолучитьПериод() = 1 Цикл
  Если БИ.Операция.Документ.Вид() = "Выписка" тогда
КонецЕсли
КонецЦикла;
13 laeg
 
10.11.04
11:43
(12)
Ну и ? перебор всех проводок ... а если их 1 000 000 ??? будем ждать ? ну ждите ...
14 laeg
 
10.11.04
11:44
(11)
А вы батенька если такой вумный то почему в столовую строем не ходите ?
15 427
 
10.11.04
11:48
(12) Неверно... точнее, не совсем верно...
Если тебе надо выдрать только движения дока Выписка, не надо грести из базы все валяющееся там .авно... Достаточно знать, что Выписка - док, работающий с 51/52 счетом... Поэтому если указать

БИ.ВыполнитьЗапрос(НачДата, КонДата,"51,52",,,,"Проводка");

получишь выборку более компактную...

P.S. но проверку на вид дока убирать нельзя... Есть еще и ручные операции...
16 427
 
10.11.04
11:49
(13) только идиоты типа некоторых ждут перебора всех проводок...
17 427
 
10.11.04
11:49
А если детализировать задачу и указать еще и корсчет .....
18 laeg
 
10.11.04
11:59
(15) - это ближе к телу
(16) - это типа (12) ???
(17) - можно но не нужно ...можно пропустить что-нить интересное
19 427
 
10.11.04
12:10
(18) хе-хе... А твой черный запрос фзданется на ручной операции...

Все верно, запрос по 51/52 покажет все взаимодействие организации с внешним миром через безнальные деньги... С не указывая корсчета - ты ничего не пропустишь...

Вот только лишнего можешь нагрести...
Например - когда контора кидает деньги с одного банк счета на другой...
или покупку валюты...
или пополнение вал счета...
или иное...

Надо эти ситуации корректно обрабатывать....
20 frashman
 
10.11.04
12:16
Это из атест. задания №1 по Бухии, создание отчёта: "Просроченные платежи",
где помимо данных из документа Договор Займа, нужно ещё выбрать "дату" Выписки
А выписка и договор займа у меня связаны полем "Договоры", т е в выписке Субконто3=Договоры и в "договоре займа" есть поле Договоры!! Как их связать???
Я пишу запрос:

Выписка = Документ.Выписка.ТекущийДокумент;
Субконто3 = Документ.Выписка.Субконто3;
Договор=Документ.ДоговорЗайма.Договоры;
....................................


Условие (Субконто3=Договоры); //т е выбираю все выписки где Субконто3=Договоры из Договоры Займа
...
...
Группировка Договор;

Но запрос не работает, работает если выбираю либо из выписки, либо из Договора Займа
21 laeg
 
10.11.04
12:19
(19)
ХЕ-ХЕ-ХЕ ... читай условие задачи

<< Мне нужно выбрать операции с субконто "Договоры", которые порождены документом "Выписка"!! >>

Так что отклоняется ;)
Да и какой чудак на букву М будет банковские операции делать вручную ???

Да и что бы не спорить, я же сказал что ИМХО и не упираюсь, вариант (15) хорош ... Но и запрос тоже будет не хуже работать ;)
22 427
 
10.11.04
12:34
Делают иногда руками.... Есть ситуации реально...
За обычный запрос - по бух итогам - выЕ...т... и высушат...

вообще то делается элементарно бухзапросом... Но пусть человек поучится... а не жрет готовое..
.
23 laeg
 
10.11.04
12:38
(22)
пускай поучится, но ему не итоги нужны ... по крайней мере по постановке вопроса.
Ведь так ?!?! мы не телепаты ....
я так думаю что вопрос исчерпан.
24 Таня
 
10.11.04
12:42
Ira, как говорится, умная! frashman, слушай Иру и 427.
25 Таня
 
10.11.04
12:43
Только это наверно лишнее:
"Если БИ.Операция.Документ.Вид() = "Выписка" тогда"
26 427
 
10.11.04
12:55
(25) по условию - только Выписка... а м.б. и другие доки...
27 Таня
 
10.11.04
13:01
(26) может быть операция вручную, тогда она с таким условием не поймает это поступление.
28 Таня
 
10.11.04
13:03
я проверяла поступление по факту появления денег на кредите 66 счета, а не 51, 52, 50.
29 Таня
 
10.11.04
13:04
с детализацией по проводкам. с проверкой суммы, если вдруг частичное поступление.
30 SnarkHunter
 
10.11.04
13:04
(23)За решение задачи по бухкомпоненте через "черный" запрос его просто пошлют подальше... Без лишних разговоров...
31 427
 
10.11.04
13:53
(28,29) условие задачи смотри...

P.S. и не только 66 надо проверять. Там вообще много что надо проверять, чтобы полную картинку поступления денег выявить....
32 Таня
 
10.11.04
13:57
надо только поступления займов выявить, остальные поступления денег ему не нужны. Задачу смотрела и решала.
33 frashman
 
10.11.04
14:59
Пишу такой запрос:
   ТабЗн=СоздатьОбъект("ТаблицаЗначений");

   ТабЗн.НоваяКолонка("Документ","Документ");
   ТабЗн.НоваяКолонка("ДатаДок","Дата");
   ТабЗн.НоваяКолонка("Договор");
   ТабЗн.НоваяКолонка("Сумма","Число");
   
   БИ = СоздатьОбъект("БухгалтерскиеИтоги");
   БИ.ИспользоватьСубконто(ВидыСубконто.Договоры,,1);
   БИ.ВключатьСубсчета(0, 0);
  БИ.ВыполнитьЗапрос(,,"51",,,,"Проводка");
   БИ.ВыбратьПериоды();
   Пока БИ.ПолучитьПериод() = 1 Цикл
       Если (БИ.Операция.Документ.Вид() = "Выписка") и (БИ.Операция.КоррСчет=СчетПоКоду("66.3")) тогда

       ТабЗн.НоваяСтрока();
       ТабЗн.Документ=БИ.Операция.Документ;
       ТабЗн.ДатаДок=БИ.Операция.ДатаОперации;
       ТабЗн.Договор=БИ.Операция.Субконто3;
    КонецЕсли;
   КонецЦикла;
Запрос не работает, Подскажите где туплю????
34 Таня
 
10.11.04
15:02
а за период какой запрос делаешь?
35 Таня
 
10.11.04
15:02
то есть за какой период делаешь
36 frashman
 
10.11.04
15:05
За весь, до точки актуальности, если период не задаёшь, то должен за весь делать?? или как?? подскажи??
37 Таня
 
10.11.04
15:08
какая ТА в бух учете? надо чего то задать или дату или позицию документа.
38 frashman
 
10.11.04
15:11
Спасибо, поробую, а почему тогда пишут что дата не обязательный параметр??
39 frashman
 
10.11.04
15:18
Пишу такой:
   БИ = СоздатьОбъект("БухгалтерскиеИтоги");
   БИ.ИспользоватьСубконто(ВидыСубконто.Договоры,,1);
   БИ.ВключатьСубсчета(0, 0);
  БИ.ВыполнитьЗапрос(ДатаНач,ДатаКон,"51",,,,"Проводка");
   БИ.ВыбратьПериоды();
   Пока БИ.ПолучитьПериод(ДатаНач,ДатаКон) = 1 Цикл
       Если (БИ.Операция.Документ.Вид() = "Выписка") и (БИ.Операция.КоррСчет=СчетПоКоду("66.3")) тогда

       ТабЗн.НоваяСтрока();
       ТабЗн.Документ=БИ.Операция.Документ;
       ТабЗн.ДатаДок=БИ.Операция.ДатаОперации;
       ТабЗн.Договор=БИ.Операция.Субконто3;
    КонецЕсли;
   КонецЦикла;
40 frashman
 
10.11.04
15:19
Всё равно не работает!!!!
41 bsg
 
10.11.04
15:22
А у 51 счета есть субконто Договоры?
42 frashman
 
10.11.04
15:23
Точно тупанул!!! щас исправлю, СПАСИБО!!!
43 Таня
 
10.11.04
15:27
БИ.ИспользоватьСубконто(ВидыСубконто.ДоговорЗайма);
   БИ.ВыполнитьЗапрос(НачДата,КонДата,"66.3,66.33",,,1,3,);
   Если БИ.КО() > 0 Тогда //какие-то деньги поступили
       БИ.ВыбратьПериоды(,2);
       Пока БИ.ПолучитьПериод() = 1 Цикл
           Договор =БИ.Субконто(ВидыСубконто.ДоговорЗайма);
44 Шапокляк
 
10.11.04
15:27
ВключатьСубсчета(0,0) посмотрите в синтакс помощнике..........
45 bsg
 
10.11.04
15:29
ИспользоватьКорСубконто(<?>,,,)
Синтаксис:
ИспользоватьКорСубконто(<ВидСубконто>,<Субконто>,<ТипФильтра>,<ПоГруппам>)
Назначение:
Устанавливает режим получения итогов методом ''ВыполнитьЗапрос'' в разрезе корреспондирующих субконто.Метод слудет вызывать до вызова метода ''ВыполнитьЗапрос''. Метод может вызываться последовательно несколько раз. В этом случае установки, выполняемые этим методом  суммируются.
Параметры:
<ВидСубконто> - значение типа ''ВидСубконто'' - расчет временных итогов будет выполнен только для субконто указанного вида.
<Субконто> - значение Субконто, по которому будут отобраны итоги по аналитике. Если параметр не задан - то считается пустым значением субконто.
<ТипФильтра> - число - тип фильтра по субконто. Может принимать следующие значения: 1 - разворачивать по данному субконто, 2 - отбирать по данному субконто, 3 - не учитывать это субконто вообще. По умолчанию 1.
<ПоГруппам> - число - группировка итогов по субконто. Параметр <ПоГруппам> имеет смысл, если параметр <ТипФильтра> равен 1, а вид субконто, заданный параметром <ВидСубконто>, имеет тип значения ''Справочник''. Параметр может принимать значения: 0 - не показывать итоги по группам справочника; 1 - показывать итоги по группам справочника. По умолчанию 0.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший