Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Как выполнить результат запроса, добавив новую строку в документ?

Как выполнить результат запроса, добавив новую строку в документ?
Я
   stg008
 
17.07.18 - 13:25
Процедура ПолучитьНеОбработанныхКонтрагентовНаСервере()
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    СведенияОбОбзвоне.Период КАК Период,
        |    СведенияОбОбзвоне.Регистратор КАК Регистратор,
        |    СведенияОбОбзвоне.НомерСтроки КАК НомерСтроки,
        |    СведенияОбОбзвоне.Активность КАК Активность,
        |    СведенияОбОбзвоне.Менеджер КАК Менеджер,
        |    СведенияОбОбзвоне.Контрагент КАК Контрагент,
        |    СведенияОбОбзвоне.КонтактноеЛицо КАК КонтактноеЛицо,
        |    СведенияОбОбзвоне.РезультатОбзвона КАК РезультатОбзвона,
        |    СведенияОбОбзвоне.ДатаПерезвона КАК ДатаПерезвона,
        |    СведенияОбОбзвоне.ТипЗвонка КАК ТипЗвонка
        |ИЗ
        |    РегистрСведений.СведенияОбОбзвоне КАК СведенияОбОбзвоне
        |ГДЕ
        |    (СведенияОбОбзвоне.РезультатОбзвона = ЗНАЧЕНИЕ(Перечисление.РезультатыОбзвона.ЗапланированЗвонок)
        |            ИЛИ СведенияОбОбзвоне.РезультатОбзвона = ЗНАЧЕНИЕ(Перечисление.РезультатыОбзвона.ОтправленоКП))
        |    И СведенияОбОбзвоне.ДатаПерезвона = &ДатаПерезвона";
    
    Запрос.УстановитьПараметр("ДатаПерезвона", Объект.Дата);
    Запрос.УстановитьПараметр("Менеджер", Объект.Менеджер);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        НоваяСтрока = Объект.ТабличнаяЧасть.Добавить();
        Объект.ТабличнаяЧасть.Записать();
    КонецЦикла;


КонецПроцедуры


______________________________________________________
при нажатии кнопки на форме, для для действия которой был выполнен этот запрос, не появляется новая строка
_______________________________________________________
заранее спасибо за подсказки
 
 
   DrWatson
 
1 - 17.07.18 - 13:36
(0) А в выборе вообще строки есть?
У табличной части вроде как нет метода Записать. Выполнение должно падать.
   stg008
 
2 - 17.07.18 - 13:38
(0)
https://d.radikal.ru/d33/1807/4d/32317762d993.png
табличная часть в документе, при нажатии кнопки заполнить, должна выполнить результат запроса
извините если неправильно поясняю
   Гипервизор
 
3 - 17.07.18 - 13:40
(2) Вам уже ответили в (1). Что осталось непонятным?
   stg008
 
4 - 17.07.18 - 14:02
(3)
&НаСервере
Процедура ПолучитьНеОбработанныхКонтрагентовНаСервере()
        //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    // Данный фрагмент построен конструктором.

    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    СведенияОбОбзвоне.Период КАК Период,
        |    СведенияОбОбзвоне.Регистратор КАК Регистратор,
        |    СведенияОбОбзвоне.НомерСтроки КАК НомерСтроки,
        |    СведенияОбОбзвоне.Активность КАК Активность,
        |    СведенияОбОбзвоне.Менеджер КАК Менеджер,
        |    СведенияОбОбзвоне.Контрагент КАК Контрагент,
        |    СведенияОбОбзвоне.КонтактноеЛицо КАК КонтактноеЛицо,
        |    СведенияОбОбзвоне.РезультатОбзвона КАК РезультатОбзвона,
        |    СведенияОбОбзвоне.ДатаПерезвона КАК ДатаПерезвона,
        |    СведенияОбОбзвоне.ТипЗвонка КАК ТипЗвонка
        |ИЗ
        |    РегистрСведений.СведенияОбОбзвоне КАК СведенияОбОбзвоне
        |ГДЕ
        |    (СведенияОбОбзвоне.РезультатОбзвона = ЗНАЧЕНИЕ(Перечисление.РезультатыОбзвона.ЗапланированЗвонок)
        |            ИЛИ СведенияОбОбзвоне.РезультатОбзвона = ЗНАЧЕНИЕ(Перечисление.РезультатыОбзвона.ОтправленоКП))
        |    И СведенияОбОбзвоне.ДатаПерезвона = &ДатаПерезвона";
    
    Запрос.УстановитьПараметр("ДатаПерезвона", Объект.Дата);
    Запрос.УстановитьПараметр("Менеджер", Объект.Менеджер);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        НоваяСтрока = Объект.ТабличнаяЧасть.Добавить();
        Объект.ТабличнаяЧасть.Выполнить();
    КонецЦикла;
    
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА


КонецПроцедуры


&НаКлиенте
Процедура ПолучитьНеОбработанныхКонтрагентов(Команда)
    ПолучитьНеОбработанныхКонтрагентовНаСервере();
КонецПроцедуры

_____________________________________
Заменил на "выполнить", не заполняется
   DrWatson
 
5 - 17.07.18 - 14:12
(4) А Выполнить откуда взялось у табличной части? Это не то что не заполняется, это падать должно.
В первую очередь ответте на (1). Во вторую - заполнять строку таб. части нужно так:
НоваяСтрока.ТакойТоРеквизит = ВыборкаДетальныеЗаписи.ТакойТоРеквизит;
И так со всеми колонками которые нужно заполнить.
Небольшой лайф хак. Если имена реквизитов одинаковые, то можно обойтись одной строкой:
ЗаполнитьЗначенияСвойств(НоваяСтрока, ВыборкаДетальныеЗаписи);
   Михаил Козлов
 
6 - 17.07.18 - 14:13
(4) У табличной части есть метод Выполнить()?
   lubitelxml
 
7 - 17.07.18 - 14:14
и Объект.Записать() - после цикла, хотя я вообще не уверен что тебе записывать надо
   BobCat
 
8 - 17.07.18 - 14:15
Игра угадай что хочет сделать автор началась
   Катя2504
 
9 - 17.07.18 - 14:23
(0) У меня волосы на голове шевелятся от вашего поста.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Читай всё полезное и впитывай, а нападки игнорируй. Здесь так принято. aka AMIGO
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует