Имя: Пароль:
1C
1С v8
Печатная форма
,
0 zhuk125
 
18.04.16
16:11
Товарищи, нет сил бороться с этой заразой, в чем может быть ошибка   ?

[code]
Если (Тип="Заказ2") ИЛИ (Тип = "ЗаказРС") И ОплатаУслуг = 1 Тогда
        Макет = ПолучитьМакет("СчетЗаказ2");    
        ОбластьСумаВышеЦенНиже  = Макет.ПолучитьОбласть("Строка|СумаВышеЦенНиже");  

            ЗапросЦенавыше = Новый Запрос;
            ЗапросЦенавыше.Текст = "ВЫБРАТЬ
                            |    ЗаказПокупателя.Товары.(
                            |        ЦенаВГрн
                            |    ),
                            |    ЗаказПокупателя.Ссылка
                            |ИЗ
                            |    Документ.ЗаказПокупателя КАК ЗаказПокупателя";
            Результат = ЗапросЦенавыше.Выполнить().Выбрать();
            
        Пока Результат.Следующий() Цикл
             ОбластьСумаВышеЦенНиже.Параметры.ЦенаВыше = Результат.ЦенаВГрн;
         КонецЦикла;

         ТабДокумент.Присоединить(ОбластьСумаВышеЦенНиже);

КонецЕсли;    
    
[/code]
Если ставлю условие [code]Если (Тип="Заказ2") ИЛИ (Тип = "ЗаказРС") И ОплатаУслуг = 1 Тогда[/code] То не работает, пишет( Поле объекта не обнаружено (ЦенаВГрн) )
При том что отладчик показывает что оно есть, как только убираю это условие все работает но не выводится в док.
1 salvator
 
18.04.16
16:13
(0) Получай данные сразу из табличной части в запросе.
2 Мимохожий Однако
 
18.04.16
16:14
Добавь скобочек в строку
Если (Тип="Заказ2") ИЛИ (Тип = "ЗаказРС") И ОплатаУслуг = 1 Тогда...
..
3 zhuk125
 
18.04.16
16:26
(2) Скобочки не причем тут, (1) не работает тоже
4 salvator
 
18.04.16
16:28
(3) Запрос переделанный покажи
5 zhuk125
 
18.04.16
16:30
(4) ЗапросЦенавыше.Текст = "ВЫБРАТЬ Различные
                            |    ЗаказПокупателяТовары.ЦенаВГрн Как ЦенаВГрн,
                            |ИЗ
                            |    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары";
            Результат = ЗапросЦенавыше.Выполнить().Выгрузить();
6 salvator
 
18.04.16
16:33
(5) И что именно не работает? Какая ошибка?
7 zhuk125
 
18.04.16
16:34
(6) Вместо нужных Данных, результат таков (СтрокаТаблицаЗначений) при том что документ записан и данные есть в нем нормальные :(
8 salvator
 
18.04.16
16:37
Переменная Результат где-то еще используется, посмотри.
9 salvator
 
18.04.16
16:37
Запрос нормальный, перебор результата в (0) ошибок выдавать не должен.
10 SadrArt
 
18.04.16
16:39
(9) перебора результата уже нет
в (5) есть выгрузка результата в ТЗ...
11 salvator
 
18.04.16
16:40
(10) Точно, проглядел.
12 Sabbath
 
18.04.16
16:46
(0) Поле в документе бегать туда-сюда от условия не может. Может, там у тебя несколько документов рассматриваются по ходу процедуры в зависимости от условий, и ты не туда смотришь, когда говоришь, что поле есть в отладчике?
Посмотри, когда оно есть, что там за запрос и документ, и проверь в том ли месте смотришь вообще.
13 salvator
 
18.04.16
16:46
Короче, автор, бери второй запрос, все остальное из (0) :))
14 zhuk125
 
18.04.16
16:49
(12) Документов и правда несколько, поле которое мне нужно еще негде не юзается, есть оно только в моем запросе и Табчасти Товары. Проверял очень много раз. Но спасибо Большое + (13)
15 zhuk125
 
19.04.16
15:37
(13)  я снова к вам, все хорошо написал но выводится все в строку а не в столбец, куда проще не знаю. но  вывод кривой -_- в чем проблема может быть ?

Если Тип <> "РасхНаклБезЦен" И ОплатаУслуг = 1 и н = 2 Тогда
    ЗапросЦенавыше = Новый Запрос;
    ЗапросЦенавыше.УстановитьПараметр("Документ", ЭтотОбъект.Ссылка);
    ЗапросЦенавыше.Текст = "ВЫБРАТЬ
                           |    ЗаказПокупателяТовары.ЦенаБезСкидки,
                           |    ЗаказПокупателяТовары.Сумма,
                           |    ЗаказПокупателяТовары.Цена,
                           |    ЗаказПокупателяТовары.Количество
                           |ИЗ
                           |    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
                           |ГДЕ
                           |    ЗаказПокупателяТовары.Ссылка = &Документ";
    
    Результат = ЗапросЦенавыше.Выполнить().Выбрать();            

    Пока Результат.Следующий() Цикл
        ОбластьСумаВышеЦенНиже.Параметры.ЦенаНиже =  Результат.Цена;
        ОбластьСумаВышеЦенНиже.Параметры.СуммаНиже = Результат.Количество*Результат.Цена;;        
    КонецЦикла;
    ТабДокумент.Присоединить(ОбластьСумаВышеЦенНиже);    
КонецЕсли;
16 тарам пам пам
 
19.04.16
16:47
(15) Выводи через ТабДокумент.Вывести, а не через ТабДокумент.Присоединить - тогда будет в столбец.
17 zhuk125
 
20.04.16
09:44
(16) Выводит еще хуже так )
18 salvator
 
20.04.16
09:45
(17) Что значит "хуже"?
19 zhuk125
 
20.04.16
09:52
(18) Вот такие пироги, картинка ТабВывести Демонстрирует Вывод  с помощью "ТабДокумент.Вывести", Картинка Вывод то как выводит, картинка ВыводвЦикле то как выводит если внести в цикл "ТабДокумент.Присоединить", данные есть а вывод кривой
https://www.dropbox.com/sh/a4wrop5w5zo9lmq/AADA_ES-AwFZONIGO-0gtO35a?dl=0
20 catena
 
20.04.16
10:05
(19)"Присоединить" работает для каждой строки отдельно. Вывод должен быть оформлен следующим образом:

Пока цикл
     Вывести(НачалоСтроки)
     Присоединить(КонецСтроки)
КонецЦикла
21 zhuk125
 
20.04.16
11:04
(20) не поддается, не понимаю почему предыдущие выводятся нормально а эта нет
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший