|
Заполнение ТЧ из доп формы | ☑ | ||
---|---|---|---|---|
0
Tanis
04.07.13
✎
13:03
|
Добрый день!
Подскажите, пожалуйста, не большой вопросик. Есть обработка, в ней ТЧ с 1 реквизитом Док.ссылка, и 2 формы. в 1 форме используется ТЧ, с возможностью добавлять стандартной кнопкой, при появлении строки можно выбрать тип дока и сам док. Но т.к. документов много, решил сделать вторую форму(выбора) в которой запрос по выборке доков по определенным параметрам. И теперь загвоздка. Форма = ОбработкаОбъект.ПолучитьФорму("Форма"); Форма.ЭлементыФормы.ТЧ.Значение.Очистить(); форма.ЭлементыФормы.ОбъектыСинхронизации.Значение.Добавить(Рез.Ссылка); //КонецЦикла; ЭтаФорма.Закрыть(); Значения ТЧ очищает, а добавлять не хочет. |
|||
1
drcrasher
04.07.13
✎
13:05
|
СП, срочно СП!
|
|||
2
Tanis
04.07.13
✎
13:06
|
что такое СП?
|
|||
3
Любопытная
04.07.13
✎
13:11
|
(2)СинтаксисПомощник
Не надо в элементы формы ничего грузить, надо грузить в объект. |
|||
4
fisher
04.07.13
✎
13:14
|
Он в объект грузить пытается. Просто добирается до него через объект формы. А вот добавляет неправильно. Т.е. опять-таки в СП.
|
|||
5
Tanis
04.07.13
✎
13:19
|
ОбработкаОбъект.ТЧ.Добавить(Рез.Ссылка);
Так и так тоже не проходит... Слишком много фак.параметров |
|||
6
fisher
04.07.13
✎
13:20
|
А открыл бы СП - увидел бы, что метод Добавить() у объекта "ТабличнаяЧасть" аргументов не имеет.
|
|||
7
Любопытная
04.07.13
✎
13:20
|
(5) См (1) :) Курсором встаешь на слово Добавить() в твоем коде и нажимаешь ктрл+ф1. И читаешь)
|
|||
8
Tanis
04.07.13
✎
13:35
|
знаю как СП открыть.
Но что мне это дало? Либо нельзя, либо что-то все-таки не так делаю, скорее второе |
|||
9
Любопытная
04.07.13
✎
13:38
|
О боги...
СтрокаТЧ = ОбработкаОбъект.ТЧ.Добавить(); СтрокаТЧ.Реквизит1 = Рез.Ссылка; И т.д. и т.п. Если у тебя в обеих формах одинаковые ТЧ то можно выгрузить/загрузить или ЗаполнитьЗначениеСвойств() поиметь. В общем, способов много. Посмотри в СП табличную часть, строку табличной части, их свойства и методы и подумай, как тебе больше нравится со всем этим работать |
|||
10
fisher
04.07.13
✎
13:38
|
(8) Осталось научиться СП читать. Предполагается, что мозги морщить ты уже умеешь. Иначе зря ты это затеял.
|
|||
11
George Wheels
04.07.13
✎
13:41
|
Читать народ не любит. Любимая фраза одного знакомого "Буду я за тебя свою работу делать".
|
|||
12
fisher
04.07.13
✎
13:48
|
Уметь работать с документацией - это не вопрос любви. Это необходимое требование для программиста. Даже для одинэсника.
|
|||
13
Tanis
04.07.13
✎
13:50
|
(9) не заполняет.
(9) и (10) в одной форме добавлял нормально, а это что-то из второй в первую не получается. Состав.Добавить() - что можно из этого увидеть. или может мозги не так сильно сморщились |
|||
14
Tanis
04.07.13
✎
13:55
|
может загвоздка в том, что СтрокаТЧ.Реквизит1 Реквизит1 - это Документы.ссылка? а не один вид документа
|
|||
15
Tanis
04.07.13
✎
14:03
|
Подскажите... Пожалуйста... как добавить?
|
|||
16
Tanis
04.07.13
✎
14:18
|
Подскажите
|
|||
17
Tanis
04.07.13
✎
14:42
|
Подскажите, кто-нибудь?
|
|||
18
fisher
04.07.13
✎
14:48
|
(13) Возвращаемое значение: Тип: Строка табличной части.
Вот после этого должно мгновенно прийти просветление. Почему не заполняет - отсюда не видно. Выложи текущий код и распиши источники данных, их типы и типы используемых реквизитов. |
|||
19
Tanis
04.07.13
✎
15:03
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | Хозрасчетный.Регистратор.Ссылка КАК Ссылка, | Хозрасчетный.СчетДт, | Хозрасчетный.СчетКт |ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный |ГДЕ | (Хозрасчетный.СчетДт = &Счет | ИЛИ Хозрасчетный.СчетКт = &Счет) | И Хозрасчетный.Регистратор = &Ссылка"; Запрос.УстановитьПараметр("Счет", ОбработкаОбъект.Счет); Запрос.УстановитьПараметр("Ссылка", ОбработкаОбъект.Ссылка); Рез = Запрос.Выполнить().Выбрать(); Пока Рез.Следующий() Цикл Сообщить(Рез.Ссылка); ДокументСсылка = ОбработкаОбъект.ТЧ.Добавить(); ДокументСсылка.ДокументСсылка = Рез.Ссылка; КонецЦикла; Форма - это главная форма. ТЧ - находится на главной форме. ДокументСсылка - реквизит ТЧ, тип ДокументСсылка. |
|||
20
Tanis
04.07.13
✎
15:03
|
Запрос.УстановитьПараметр("Ссылка", ОбработкаОбъект.Ссылка);
Это используется для теста. |
|||
21
Tanis
04.07.13
✎
15:28
|
Написал, и код и типы. Как написать, чтоб строки добавлялись
|
|||
22
Tanis
04.07.13
✎
15:51
|
Вопрос же я так понимаю не сложный. Подскажите, пожалуйста...
|
|||
23
Tanis
04.07.13
✎
16:20
|
Может там какого-нибудь обработчика формы не хватает?
Тогда вопрос какого и что в нем написать? |
|||
24
George Wheels
04.07.13
✎
16:35
|
(20) А в регистраторах у Хозрасчетного есть ОбработкаОбъект?
|
|||
25
Tanis
04.07.13
✎
16:39
|
Решено.
Форма = ОбработкаОбъект.ПолучитьФорму("Форма"); СтрокаТЧ = форма.ЭлементыФормы.ОбъектыСинхронизации.Значение.Добавить(); СтрокаТЧ.ДокументСсылка = Рез.Ссылка; |
|||
26
George Wheels
04.07.13
✎
16:44
|
(25) В элементы формы писать смысла нет. Надо писать в ТЧ а затем для отображения данных на форме перечитать объект.
|
|||
27
Tanis
04.07.13
✎
16:48
|
У меня 2 формы, в одной ТЧ, во второй выборка по параметрам... и надо было чтоб из второй попадало в ТЧ первой.
как советовала (9) и близко не подходит. Надо срочно, поэтому получилось так... (26) почему смысла нет писать в элементы формы? |
|||
28
George Wheels
04.07.13
✎
16:53
|
Я с УФ работаю (скоро все там будут). Здесь элемент формы и реквизит объекта вещи разные. (27)
|
|||
29
Tanis
04.07.13
✎
17:01
|
Да уж.... "Все там будут" не очень то прельщает...
|
|||
30
Любопытная
04.07.13
✎
17:14
|
(27) Что значит - и близко нет? Ничего, что ты практически мной написанный код привел? Я же не знаю как у тебя называются табличная часть обработки и какие у нее реквизиты. Естественно мой код в связи с этим в такм виде работать не будет.
Не пишут люди значения через формы. Форма существует для интерактивного общения, для программных вещей есть объект. |
|||
31
Cyberhawk
04.07.13
✎
17:28
|
Форма объекта - это окно, через которое виднеются данные объекта. Чтоб сходить в ларек за окном за пивом, ты же выходишь на улицу, а не работаешь с окном
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |