Имя: Пароль:
1C
1C 7.7
v7: Запрос
0 kupec
 
12.07.12
10:16
Как в запросе обратиться к реквизиту табличной части документа типа Итог("Сумма")
Нужно что то вот такого типа
   Запрос = СоздатьОбъект("Запрос");
   ТекстЗапроса =
   "//{{ЗАПРОС(Поставщики)
   |Период с ДатаНачЗапроса по ДатаКон;
   |Сум = Документ.ПриходнаяНакладная.Итог(""Сумма"");
   |Условие (Сум=100);
   |"//}}ЗАПРОС
   ;
1 kupec
 
12.07.12
10:18
Спасибо !!! Сам понял !!!
2 Tatitutu
 
12.07.12
10:19
Пожалуйста.
А что понял ?
Надеюсь , что программирование - это не твое ?
:-)))
3 andrewks
 
12.07.12
10:20
|Сум = Документ.ПриходнаяНакладная.Итог(""Сумма"");

жесть...
4 kupec
 
12.07.12
10:20
(2) оч смешно.....
Понял как в запросе выполнить такое условие...зачем спросил сам не понял!!!
5 Ёпрст
 
12.07.12
10:32
(4) показывай, нам тоже интересно
6 kupec
 
12.07.12
13:04
(5) ты серьезно ??? тебе то уж наверно и так 100 % все известно
7 Ёпрст
 
12.07.12
13:04
(6) всего знать не возможно, мот ты чего нового придумал.. показывай!
8 kupec
 
12.07.12
13:06
"//{{ЗАПРОС(Отбор Документов)
   |Период с НачДата по КонДата;
   |ОбрабатыватьДокументы Проведенные;
   |Док = Документ.ПриходнаяНакладнаяМагазины.ТекущийДокумент;
   |Условие (Док.Итог(""Сумма"") <> Сум);
   |Группировка Док;
   |"//}}ЗАПРОС
   ;
9 kupec
 
12.07.12
13:06
вот как то так
10 kupec
 
12.07.12
13:07
(7) не подскажешь кстати если новый счет создавать в конфигураторе пересчет итогов будет ?
11 1Сергей
 
12.07.12
13:07
чуть кофем не подавился. нельзя же так
12 kupec
 
12.07.12
13:08
(11) а что не так
13 Ёпрст
 
12.07.12
13:08
(10) будет
14 kupec
 
12.07.12
13:08
(13) спасибо
15 Ёпрст
 
12.07.12
13:10
можно и руками "обновить"..
чтобы не было пересчета
16 Ёпрст
 
12.07.12
13:10
на пустой базе обновить - подсунуть мд/дд и табличку плана счетов в рабочую и привет
17 kupec
 
12.07.12
13:12
(16) я так не умею )))
а что по поводу (11), запрос не правильно сформирован ??? надо как то по другому ?
18 Firerer
 
12.07.12
13:12
|Период с НачДата по КонДата;
   |ОбрабатыватьДокументы Проведенные;
   |Док = Документ.ПриходнаяНакладнаяМагазины.ТекущийДокумент;
   |Всего = Документ.ПриходнаяНакладнаяМагазины.Сумма;
   |Функция ИтогСумма = Сумма(Всего);
   |Группировка Док;
19 kupec
 
12.07.12
13:12
(16) а таблица планов счетов в каком файле хранится ?
20 Ёпрст
 
12.07.12
13:15
(18) и  ? условие то где ?
21 chief accountant
 
12.07.12
13:16
(19) нафига новый счет в пофигураторе?
22 Ёпрст
 
12.07.12
13:16
(19)
1SACCS
23 kupec
 
12.07.12
13:17
(21) а нафига тебе ник из 2 слов ???
(22) спасибо
24 chief accountant
 
12.07.12
13:20
(23) Каким боком тут мой ник?
25 kupec
 
12.07.12
13:21
(24) считаю вопрос про зачем счет в конфигураторе таким же оправданным как и вопрос про твой ник
26 VladZ
 
12.07.12
13:21
Можно использовать внешнее условие по отношению к запросу.

ТекстЗапроса = "
|Период с НачДата по КонДата;
|Док = Документ.ПриходнаяНакладнаяМагазины.ТекущийДокумент;
|Условие (МоеУсловие(Док));
|Группировка Док;";

Ну и функция, проверяющая условие:

Функция МоеУсловие(аДок)
 ВыхЗнач = 0;
 Если аДок.Итог("Сумма") = НужнаяСумма Тогда
    ВыхЗнач = 1;
 КонецЕсли;

 Возврат ВыхЗнач

КонецФункции

Сразу совет: не нужно увлекаться такими функциями.
27 VladZ
 
12.07.12
13:21
+26 Упс.. Опечатка:
|Условие (МоеУсловие(Док) = 1);
28 kupec
 
12.07.12
13:22
(26) слишком мудрено ))) но понятно )))
29 chief accountant
 
12.07.12
13:22
(25) Если ответить нечего, так бы и сказал
30 Ёпрст
 
12.07.12
13:27
(26) это то же, что и у автора


(28) так еще можно:

|Период с НачДата по КонДата;
|Док = Документ.ПриходнаяНакладнаяМагазины.ТекущийДокумент;
|Всего = Документ.ПриходнаяНакладнаяМагазины.Сумма;
|Функция ИтогСумма = Сумма(Всего);
|Условие (Запрос.ИтогСумма = НужнаяСумма);
|Группировка Док;
31 Firerer
 
12.07.12
13:31
(20)(30) сам все знаешь ведь:)
32 Firerer
 
12.07.12
13:35
+(31) хотя я бы всетки условие по сумме применил бы в обходе группировки.
33 andrewks
 
12.07.12
15:01
(30) забыл упомянуть про нюанс
(8) тормозит, наверное, дай боже. и ещё неизвестно, как это на скуле будет отрабатывать