|
УФ Как заполнить табличную часть документа, данными из запроса. | ☑ | ||
---|---|---|---|---|
0
invest
30.09.15
✎
11:30
|
Доброго времени.
Собственно суть вопроса в сабже. |
|||
1
Cyberhawk
30.09.15
✎
11:31
|
Вместо заполнения ТЧ документа лучше заполни таблицу на форме
|
|||
2
Cyberhawk
30.09.15
✎
11:32
|
А схема вкратце такая: зовешь сервер, выполняешь запрос, результат запроса пихаешь в ТЧ объекта формы
|
|||
3
invest
30.09.15
✎
11:32
|
(1) это как?
|
|||
4
Cyberhawk
30.09.15
✎
11:33
|
(3) Это так: ТЧ документа - это объект базы данных (таблица), а таблица на форме - это ЭУ (элемент управления) для отображения данных и/или записи данных в базу
|
|||
5
invest
30.09.15
✎
11:33
|
вот что имеется
Выборка = Запрос.Выполнить().Выбрать(); ФинансовыеДокументы = ДанныеФормыВЗначение(Объект.ФинансовыеДокументы, Тип("ТаблицаЗначений")); Пока Выборка.Следующий() Цикл НоваяСтрока = ФинансовыеДокументы.Добавить(); НоваяСтрока.Партнер = Выборка.Партнер; НоваяСтрока.Документ= Выборка.Документ; КонецЦикла; ЗначениеВДанныеФормы(ФинансовыеДокументы, Объект.ФинансовыеДокументы); но, выдает ошибку типа: .Форма.ФормаДокумента.Форма(94)}: Ошибка при вызове метода контекста (ДанныеФормыВЗначение) ФинансовыеДокументы = ДанныеФормыВЗначение(Объект.ФинансовыеДокументы, Тип("ТаблицаЗначений")); по причине: Недопустимое значение параметра (параметр номер '1') |
|||
6
invest
30.09.15
✎
11:38
|
(4) ну и добей ветку написав грамотный код.
|
|||
7
Buster007
30.09.15
✎
11:50
|
НоваяСтрока = Объект.ФинансовыеДокументы.Добавить();
так не работает? |
|||
8
jurassic
30.09.15
✎
11:52
|
Процедура ДобавитьВсёНаСервере()
об=РеквизитФормыВЗначение("Объект"); об.Товары.Загрузить(Запрос.Выполнить().Выгрузить()); ЗначениеВРеквизитФормы(об, "Объект"); КонецПроцедуры |
|||
9
jurassic
30.09.15
✎
11:52
|
(6) а где волшебное слово?
|
|||
10
invest
30.09.15
✎
11:54
|
(7) это просто гениально. Спасибо добрый человек.
|
|||
11
invest
30.09.15
✎
11:55
|
(9) и вам спасибо большое. Теперь вопрос что будет работать быстрее тот вариант который привели Вы или же вариант из (7)
|
|||
12
jurassic
30.09.15
✎
11:59
|
(11) мне тупо влом ходить по выборке
|
|||
13
Buster007
30.09.15
✎
12:00
|
(11) это разные варианты.
По твоему коду у тебя происходит добавление строк, а по его коду он заменяет все записи в таблице. Исходя из твоего кода, можно догадаться, что тебе надо добавление. |
|||
14
jurassic
30.09.15
✎
12:02
|
(13) или он не догадался почистить перед собой
&НаКлиенте Процедура ДобавитьВсёМеню(Команда) ПоказатьВопрос(Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ЭтаФорма), "Перед заполнением табличная часть будет очищена. Продолжить?", РежимДиалогаВопрос.ДаНет); КонецПроцедуры &НаКлиенте Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт Если Результат=КодВозвратаДиалога.Да Тогда ДобавитьВсёНаСервере(); КонецЕсли; КонецПроцедуры |
|||
15
invest
30.09.15
✎
12:07
|
Вообщем данный вопрос можно считать закрытым. спасибо всем.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |