Имя: Пароль:
1C
1С v8
Результат заполнить в табличную часть отчета, управляемые формы.
0 ittaxi
 
13.06.17
13:28
Как добавить результат запроса  в табличную часть отчета
в 8.2  просто было получить элемент формы
ТабЧастьДепозитВодителей = ЭлементыФормы.ТабличнаяЧастьДепозитВодителей.Значение;

А как это сделать в управляемых формах

//&НаСервере
  Процедура ОтчетПоискДепозит()
    
    ТабЧастьДепозитВодителей = ЭтаФорма.Элементы.ТабличнаяЧастьДепозитВодителей.ТекущиеДанные;
    //ТабЧастьДепозитВодителей = ЭлементыФормы.ТабличнаяЧастьДепозитВодителей.Значение;
    
    Запрос = Новый Запрос;
    Запрос.Текст =
                "ВЫБРАТЬ
                |    РегистрДепозитВодителяОстатки.Водитель,
                |    РегистрДепозитВодителяОстатки.ДепозитИтогоОстаток,
                |    РегистрДепозитВодителяОстатки.ДолженВКассуЕЩЕОстаток,
                |    РегистрДепозитВодителяОстатки.СданоВКассуОстаток
                |ИЗ
                |    РегистрНакопления.РегистрДепозитВодителя.Остатки КАК РегистрДепозитВодителяОстатки ";
              
    Результат = Запрос.Выполнить().Выбрать();
           
    Пока Результат.Следующий() Цикл
                НоваяСтрока = ТабЧастьДепозитВодителей.Добавить();
                
                НоваяСтрока.Водитель = Результат.Водитель;
                НоваяСтрока.ДепозитИтого = Результат.ДепозитИтогоОстаток;
                НоваяСтрока.ДолженВКассуЕЩЕ = Результат.ДолженВКассуЕЩЕОстаток;
                НоваяСтрока.СданоВКассу =  Результат.СданоВКассуОстаток;
                
    КонецЦикла;
        
КонецПроцедуры
1 ittaxi
 
13.06.17
13:42
Вроде как отчет выполняется НаСервере, а таблица заполняется НаКлиенте
2 Buster007
 
13.06.17
13:50
а почему она заполняется на клиенте?
3 Рэйв
 
13.06.17
13:57
НоваяСтрока = Объект.ТабЧастьДепозитВодителей.Добавить();
4 ittaxi
 
13.06.17
14:02
(3) Отчет.ОтчетДепозитыВодителей.Форма.ФормаОтчета.Форма(90,29)}: Переменная не определена (ЭтаФорма)
    ТабЧастьДепозитВодителей = <<?>>ЭтаФорма.Элементы.ТабличнаяЧастьДепозитВодителей.ТекущиеДанные; (Проверка: Сервер)
{Отчет.ОтчетДепозитыВодителей.Форма.ФормаОтчета.Форма(128,19)}: Переменная не определена (Объект)
                НоваяСтрока = <<?>>Объект.ТабЧастьДепозитВодителей.Добавить(); (Проверка: Сервер)
5 ittaxi
 
13.06.17
14:02
ТабЧастьДепозитВодителей = ЭтаФорма.Элементы.ТабличнаяЧастьДепозитВодителей.ТекущиеДанные;
это получить не может
6 ittaxi
 
13.06.17
14:06
вроде надо запрос передать в функцию и в ней вернуть Результат  и его на клиент передать.
но раньше было проще.
7 Рэйв
 
13.06.17
14:08
(5)Это ты пытаешься получить данные одной строки.На которой стоит курсор.

И вместо Объект попробуй Отчет. Я по привычке написал.
А вообще читай книжки про УФ. В двух словах на пальцах тут не объяснишь
8 ittaxi
 
13.06.17
14:09
можно получить результат запроса и заполнить его в форме отчета табчасти в одной процедуре?
9 Рэйв
 
13.06.17
14:09
(8)Можно. &НаСервере
10 ittaxi
 
13.06.17
14:12
в 8.2
ТабЧастьДепозитВодителей = ЭлементыФормы.ТабличнаяЧастьДепозитВодителей.Значение;
это работало.

Как НаСервере получить табчасть?
11 Рэйв
 
13.06.17
14:14
(10)

В отчете скорее всего
Отчет.ИмяТабЧасти
12 Рэйв
 
13.06.17
14:14
В документах то же, но через Объект.
13 Buster007
 
13.06.17
14:21
(10) если ты так ТЧ получал в 8.2 и собираешься продолжать применять такой же подход в 8.3, то лучше почитать книги
14 h-sp
 
13.06.17
14:28
(10) в 8.2 вот так надо

ТабЧастьДепозитВодителей = ТабличнаяЧастьДепозитВодителей;
15 h-sp
 
13.06.17
14:29
(10) в УФ

ТабЧастьДепозитВодителей = Объект.ТабличнаяЧастьДепозитВодителей;
16 ittaxi
 
13.06.17
14:55
(15) Отчет.ОтчетДепозитыВодителей.Форма.ФормаОтчета.Форма(93,29)}: Переменная не определена (Объект)
    ТабЧастьДепозитВодителей = <<?>>Объект.ТабличнаяЧастьДепозитВодителей; (Проверка: Сервер)
17 h-sp
 
13.06.17
15:01
(16) ну "Отчет" вместо "Объект" напиши. Тебе же говорили уже, тупишь не по детски с утра прямо.
18 ittaxi
 
13.06.17
15:05
(17) ТабЧастьДепозитВодителей = Отчет.ТабличнаяЧастьДепозитВодителей;
так заработало
Спасибо большое.
19 ittaxi
 
13.06.17
15:06
Всем спасибо!!!
AdBlock убивает бесплатный контент. 1Сергей