Имя: Пароль:
1C
1С v8
Кто мне объяснит, как этот запрос посмотреть?
0 mdv92
 
19.10.11
08:53
Запрос.Текст =
   "ВЫБРАТЬ
   |    ВЫБОР
   |        КОГДА ЕСТЬNULL(Выручка.КоличествоОборотКт, 0) = 0
   |            ТОГДА ЕСТЬNULL(Выручка.СуммаНУОборотКт, 0)
   |        ИНАЧЕ ЕСТЬNULL(Выручка.СуммаНУОборотКт, 0) / ЕСТЬNULL(Выручка.КоличествоОборотКт, 0) * ЕСТЬNULL(Себестоимость.КоличествоОборотКт, 0)
   |    КОНЕЦ КАК СуммаДохода
   |ИЗ
   |    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаНач, &ДатаКон, Запись, СчетДт В ИЕРАРХИИ (&Счет9002), , СчетКт В ИЕРАРХИИ (&СчетаУчетаТоваров), &Номенклатура, Организация В (&СписокОрганизаций)) КАК Себестоимость
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаНач, &ДатаКон, Запись, (НЕ СчетДт В ИЕРАРХИИ (&Счет9001)), , СчетКт В ИЕРАРХИИ (&Счет9001), &Номенклатура, Организация В (&СписокОрганизаций)) КАК Выручка
   |        ПО (Выручка.Регистратор = Себестоимость.Регистратор)
   |            И (Выручка.СубконтоКт1 = Себестоимость.СубконтоКт1)";
   ТаблицаДоходТовары = ОбработкаВыполненияЗапросаАвтоЗаполнения(Запрос,СтруктураПараметров, Ложь).Выгрузить();
1 Нуф-Нуф
 
19.10.11
08:53
конструктор? не?
2 ДенисЧ
 
19.10.11
08:54
что такое "посмотреть запрос"?
3 mdv92
 
19.10.11
08:54
Это при расчете налога на прибыль. Считается общий доход, потом доход по товарам, между этими цифрами образуется разница в миллион с лишним, а такого быть не должно!
Как в базе-то посмотреть? Анализ 90 счета - ничего не дает.
4 mdv92
 
19.10.11
08:55
(2) Как в базе посмотреть - с помощью типовых отчетов - что это она там откопала?
5 Рэйв
 
19.10.11
09:00
(4)в консоль перенеси и смотри сколько хочешь и как хочешь
6 Maxus43
 
19.10.11
09:02
консоль то не поможет, там же

ТаблицаДоходТовары = ОбработкаВыполненияЗапросаАвтоЗаполнения(Запрос,СтруктураПараметров, Ложь).Выгрузить();

с ним что-то происходит ещё. надо вглубь идти
7 Рэйв
 
19.10.11
09:04
(6)Ну тогда в этой глубине дойти где он уже реально выполняется поставить точку останова и через табло с помощью Запрос.Текст+F2 взять текст запроса.
А потом в консоль:-)
8 mdv92
 
19.10.11
09:05
(6) Там внутри ничего особенного не происходит, какие-то счета заменяются.
Функция ОбработкаВыполненияЗапросаАвтоЗаполнения(Запрос,СтруктураПараметров,ЗапросПоЗатратам = Истина) Экспорт
   
    Если  СтруктураПараметров = Неопределено Тогда
        ПараметрОрганизация = Организация;
        ПараметрЕНВД = Ложь;
        ПараметрПланСчетов = "Хозрасчетный";
    Иначе
        ПараметрОрганизация = СтруктураПараметров.СписокОрганизаций;
        ПараметрЕНВД = СтруктураПараметров.ЕНВД;
        ПараметрПланСчетов = СтруктураПараметров.ПланСчетов;
       
       
    КонецЕсли;
   
    Запрос.УстановитьПараметр("ДатаНач",           мДатаНачалаПериодаОтчета);
    Запрос.УстановитьПараметр("ДатаКон",           мДатаКонцаПериодаОтчета);
    Запрос.УстановитьПараметр("СписокОрганизаций", ПараметрОрганизация);
    МассивСчетовЕН = Новый Массив;
   
    Если ПараметрПланСчетов = "Налоговый" Тогда
        Запрос.Текст = СтрЗаменить(Запрос.Текст, "Хозрасчетный",   "Налоговый");
        Запрос.Текст = СтрЗаменить(Запрос.Текст, "СуммаНУ",        "Сумма");
        Запрос.Текст = СтрЗаменить(Запрос.Текст, "Организация В (&СписокОрганизаций)", "Организация В (&СписокОрганизаций) И ВидУчета = &ВидУчета");
        Запрос.УстановитьПараметр("ВидУчета",     Перечисления.ВидыУчетаПоПБУ18.НУ);
        МассивСчетовЕН.Добавить(ПланыСчетов.Налоговый.РасходыПоДеятельностиЕНВД);
    Иначе
        МассивСчетовЕН.Добавить(ПланыСчетов.Хозрасчетный.Продажи_РасходыНаПродажуЕНВД);
        МассивСчетовЕН.Добавить(ПланыСчетов.Хозрасчетный.Продажи_УправленческиеРасходыЕНВД);
        МассивСчетовЕН.Добавить(ПланыСчетов.Хозрасчетный.ПрибылиИУбыткиЕНВД);
    КонецЕсли;
    Запрос.УстановитьПараметр("СчетЕН",       МассивСчетовЕН);
   
   
    Если ПараметрЕНВД И ЗапросПоЗатратам Тогда
        МассивЕНВД = Новый Массив;
       
        Если ПараметрПланСчетов = "Налоговый" Тогда
            МассивЕНВД.Добавить(Перечисления.ОтнесениеРасходовКДеятельностиЕНВД.РасходыОтносятсяКнеЕНВД);
            МассивЕНВД.Добавить(Перечисления.ОтнесениеРасходовКДеятельностиЕНВД.РасходыРаспределяются);
            Запрос.Текст = СтрЗаменить(Запрос.Текст, "Организация В (&СписокОрганизаций)", "Организация В (&СписокОрганизаций) И Субконто1.ОтнесениеРасходовКДеятельностиЕНВД В (&МассивЕНВД)");
           
        Иначе
            МассивЕНВД.Добавить(Перечисления.ВидыДеятельностиДляНалоговогоУчетаЗатрат.ПредпринимательскаяДеятельностьНеОблагаемаяЕНВД);
            МассивЕНВД.Добавить(Перечисления.ВидыДеятельностиДляНалоговогоУчетаЗатрат.ВидДеятельностиОпределяетсяПоДоходам);
            Запрос.Текст = СтрЗаменить(Запрос.Текст, "Организация В (&СписокОрганизаций)", "Организация В (&СписокОрганизаций) И Субконто1.ВидДеятельностиДляНалоговогоУчетаЗатрат В (&МассивЕНВД)");
           
        КонецЕсли;
        Запрос.УстановитьПараметр("МассивЕНВД",  МассивЕНВД);
       
    КонецЕсли;
   
    Возврат Запрос.Выполнить();
   
   
КонецФункции
9 mdv92
 
19.10.11
09:06
Ну и увижу я там ту же цифру в миллион! Как проверить, откуда она берется? Какие данные этим запросом обрабатываются?
10 mdv92
 
19.10.11
09:07
А консоль - это не табло отладчика?
А где тогда?
11 Maxus43
 
19.10.11
09:07
(9)
   Возврат Запрос.Выполнить();

тут точка останова - и в "Запрос" всё есть, и сам запрос реальный и параметры, и вот его уже и в консоль можно тащить
12 Maxus43
 
19.10.11
09:09
(11) + в консоли запросов уже чуть изменить, вытащить регистратор ещё например, и будет видно какой док делает "ту же цифру в миллион"
13 Рэйв
 
19.10.11
09:11
(10)>>А консоль - это не табло отладчика?

Нет.

Можешь взять тут
http://zalil.ru/31881653
14 mdv92
 
19.10.11
09:13
12 А консоль...
13 А что это?
15 Maxus43
 
19.10.11
09:14
(14) консоль : обработки - консоль запросов/отчетов
16 Рэйв
 
19.10.11
09:14
(14)Знакомься.Это консоль.
:-)
17 mdv92
 
19.10.11
09:15
Скорее, наоборот! Там какого-то документа (и даже кучи документов) не хватает! Потому что сумма по продукции считается как общая сумма минус сумма по товарам.
А просто в базе я то же самое не найду?
(16) Пока непонятно! Там куча файлов, что с ними делать?
18 mdv92
 
19.10.11
09:20
Ну а русским языком кто-нибудь может сказать, что в запросе написано?
19 mdv92
 
19.10.11
09:22
Сумма дохода - это выручка, которая равна нулю, если... если что?? Наверное, там как раз собака и порылась!
20 НЕА123
 
19.10.11
09:29
(18)
тормозим на возврат.
вычисляем Запрос.
у запроса есть свойства Текст и Параметры.
21 Evgenchik
 
19.10.11
09:31
(19) сумма дохода - это либо сумма либо сумма/количество, то есть себестоимость. выполни запрос в консоли, вытащи поля суммы, регистратора и смотри что влияет на твою сумму
22 Рэйв
 
19.10.11
09:35
(17)>>Там куча файлов, что с ними делать?

Запускай в 1С UCR.epf
23 mdv92
 
19.10.11
09:46
(22) Т.е. там запрос сам по себе, без контекста, да?
А как же быть с заменами, которые происходят в ОбработкаВыполненияЗапросаАвтоЗаполнения(
24 Рэйв
 
19.10.11
09:47
(23)Почитай внимательно всю тему. Тебе 3 раза сказали про точки останова и текст запроса.
25 mdv92
 
19.10.11
09:50
Из отладчика взять сформированный текст запроса? Мне такой фокус никогда не удавался!
Я смотрю сейчас, как запрос сделан конструктором, там есть таблица - "выручка" - что это за таблица? Это де не регистр!
26 mdv92
 
19.10.11
09:52
Ага, это регистр бухгалтерии.
27 Maxus43
 
19.10.11
09:53
тупо копируй из отладчика текст запроса, см (11)(12)
28 mdv92
 
19.10.11
09:57
Спасибо! Продолжу вечером.