![]() |
![]() |
![]() |
|
Как записать значение типа "СправочникСсылка" в свою колонку табличного поля | ☑ | ||
---|---|---|---|---|
0
ZOOBR
11.06.10
✎
14:18
|
1С 8.2, обычная форма(не управляемая). Есть табличное поле документа. Добавил туда новую колонку и при выводе строки хочу заполнить ее значением типа "СправочникСсылка". Как это можно сделать. Как добавить текст я знаю, а вот так что-то не выходит. Обычные колонки реквизитов заполняются просто, т.е. через ДанныеСтроки, но со своей колонкой так не получиться так как данных у нее нет. Как присвоить данные колонке, кроме как с помощью реквизита я не знаю.
Может кто подскажет можно ли это вообще сделать. |
|||
1
shuhard
11.06.10
✎
14:23
|
(0) в неуправляемой форме с помощью "При выводе строки" можно всё
|
|||
2
ZOOBR
11.06.10
✎
14:38
|
Можно то оно можно но я вообще конкретную ситуацию описал и все мне не надо. Может я плохо объяснил. Короче есть документ у которого в табличной части есть реквизит "Номенклатура" типа "СправочникСсылка". В табличном поле я добавил еще одну колонку, назначил ей тип "СправочникСсылка.МойСправочник" и хочу в процедуре "ПриВыводеСтроки()" заполнять его из реквизита поля "Номенклатура". Вот тут возникает проблема! В процедуре "ПриВыводеСтроки" только два параметра.
Это "ДанныеСтроки", через него можно обратиться к данным строки табличного поля(для моей колонки данных нет, так как нет такого реквизита в документе и добавлять не хочеться, не будешь же для каждой колонки реквизиты табличной части плодить). И "ОформлениеСтроки". Через данный параметр я могу записать в ячейку табличного поля текст, но никак не ссылку на справочник, т.е. это тоже не решение. Вот собственно я и спрашиваю можно ли в "свою" колонку табличного поля без реквизита табличной части заполнять значениями типа "СправочникСсылка" в процедуре "ПриВыводеСтроки", чтобы потом можно было их изменить или открыть из табличного поля??? |
|||
3
Mitriy
11.06.10
✎
14:44
|
(2) а зачем такое извращение? почему просто не связать с данными Номенклатура? на картинке по определению не может быть данных...
|
|||
4
ZOOBR
11.06.10
✎
14:51
|
У Номенклатуры есть реквизит "КакоеТОСвойство". Именно его я хочу выводить в табличное поле напротив номенклатуры. Но не просто показать его, а чтобы можно было выбрать(изменить) его. Например в документе поступления при проведении данное свойство будет изменяться у элемента справочника "Номенклатура" если его изменили в моей дополнительной колонке. Не создавать же реквизит для этих целей!? Мне же хранить эти данныйе не требуется! Зачем базу забивать!? Ну теперь хоть я понятно объяснил?
|
|||
5
Alpen906
11.06.10
✎
15:35
|
ПриВыводеСтроки() или лучше ПриПолученииДанных() выводить.
Дальше обрабатывать событие табличного поля Выбор() и в зависимости от колонки открывть нужное свойство. |
|||
6
ZOOBR
11.06.10
✎
15:44
|
Да я не спрашиваю как лучше выводить, а как вообще вывести???? Неужели я так непонятнонаписал. Еще раз! Вопрос!
КАК ЗАПОЛНЯТЬ ПОЛЯ КОЛОНКИ ТАБЛИЧНОГО ПОЛЯ, НЕ ПРИВЯЗАННОЙ К РЕКВИЗИТУ ТАБЛИЧНОЙ ЧАСТИ ЗНАЧЕНИЯМИ ТИПА "СПРАВОЧНИКССЫЛКА" В ПРОЦЕДУРЕ ПРИВЫВОДЕСТРОКИ()? |
|||
7
Mitriy
11.06.10
✎
15:45
|
(6) иди ори в другое место...
|
|||
8
Alpen906
11.06.10
✎
15:49
|
Тебе ответили уже. Читай внимательно...
|
|||
9
Alpen906
11.06.10
✎
16:00
|
Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
Номенклатура = ДанныеСтроки.Ссылка; Свойство = ПолучитьСвойство(Номенлатура); ОформлениеСтроки.УстановитьТекст(Свойство); КонецПроцедуры // СправочникСписокПриВыводеСтроки() Но с точки зрения производительности лучше использовать процедуру ПриПолученииДанных(). |
|||
10
Alpen906
11.06.10
✎
16:02
|
+(9) Сорри. Небольшая неточность...
ОформлениеСтроки.Ячейки.ТвояКолонка.УстановитьТекст(Свойство); |
|||
11
ZOOBR
15.06.10
✎
09:30
|
ОформлениеСтроки.УстановитьТекст(Свойство);
Данная конструкция устанавливает текстовое представление ячейки и ссылку на элемент справочника таким образом в ячейку не запишешь, на то оно и "оформлениестроки"! Вот в чем и загвоздка. Для работы с данными есть "ДанныеСтроки", но для своей колонки это не работает, и кроме того доступно только в толстом клиенте. Так что спасибо всем за ответы но вопрос остается открытым. |
|||
12
Defender aka LINN
15.06.10
✎
09:36
|
Выводи не табличную часть, а ТЗ, делов-то.
|
|||
13
ZOOBR
15.06.10
✎
09:59
|
Не совсем понял, что значит выводи ТЗ. Наверное имелось ввиду свое табличное поле. Да действительно в своем табличном поле такой проблемы нет и я уже подумывал об этом, в свойство "Данные" можно прописать все что угодно, но переписывать весь документ на свое табличное поле я не считаю рациональным. Мне уже начинает казаться, что сделать то о чем я говорю просто нельзя и самое простое это всё таки добавлять реквизит табличной части в документ, и соответственно хранить в базе то что хранить не нужно.
|
|||
14
73
15.06.10
✎
10:04
|
(6)(11) А что ты с этим значением делать собираешься? Оно ведь нигде не хранится.
|
|||
15
73
15.06.10
✎
10:13
|
(14)+ И если не проскролингуешь, то и не заполнится. Так, что ли?
ПриВыводеСтроки/ПриПолученииДанных - показать вычисляемые поля. А ПОКАЗАТЬ достаточно текст. |
|||
16
ZOOBR
15.06.10
✎
10:26
|
Если решить это так как я хотел, то это автоматом дает нормальный способ быстрого открытия элемента справочника ссылка на который находится в ячейке, а так чтобы его посмотреть нужно городить кнопки, пункты меню и тому подобное, как в старухе семёрке. И во-вторых значения своей колонки используются в документе до проведения(сразу скажу что смысл в моей ситуации в этом есть). Ну и самое главное это минимум изменений в конфигурации.
|
|||
17
73
15.06.10
✎
10:33
|
(16) Как вариант:
Сделай массив(или подобное) по кол-ву строк в ТЧ. Заполняй ссылками. Только всЁ. Синхронность обеспечь. Показывай текст. Значение используй из массива. Ну и 2й вариант: Значение всегда можно вычислить. Раз оно вычисляемое) Открытие: Кнопки не городи. Перепиши обработчик открытия. Это проще. |
|||
18
73
15.06.10
✎
10:39
|
(17)+
Кстати, а так попробовал?: ОформлениеСтроки.Ячейки.Колонка.Значение = ... |
|||
19
ZOOBR
15.06.10
✎
10:46
|
Пробовал! Так тоже текст просто записывается и при изменении как пустое светится. Про обработчик открытия тоже вариант. Буду пробовать. Списибо за советы.
|
|||
20
73
15.06.10
✎
10:51
|
(19) ПриИзменении и будет пустое. Оно ж не хранится. Его подсунуть надо. ПриНачалеРедактирования.
В ЕСИС статья есть что-то: "Редактирование в колонке, не связанной с данными" с примером. ЗЫ. У меня отладчик говорит, что ОформлениеСтроки.Ячейки.Колонка.Значение - СправочникСсылка.ссс |
|||
21
ZOOBR
15.06.10
✎
11:03
|
Сейчас попробую....
|
|||
22
ZOOBR
15.06.10
✎
14:22
|
Что-то у меня не получается подсунуть значение. Не просвятишь каким образом ты это делаешь?
|
|||
23
73
15.06.10
✎
14:26
|
(22) Статью нашел?
Оттуда кратко: Основные принципы реализации редактирования в колонке, не связанной с данными, следующие: 1. Установить элемент управления в требуемой колонке. Это можно сделать, используя свойство ЭлементУправления колонки табличного поля. -Это можно прямо в конфигураторе. 2. Перед началом редактирования необходимо установить элементу управления редактируемое значение. Это можно сделать, используя событие ПриНачалеРедактирования() табличного поля. ЭлементыФормы.ТП.Колонки.Колонка2.ЭлементУправления.Значение = НужноеЗначение; 3.При окончании редактирования новое значение можно получить у элемента управления при обработке события ПриИзменении() данного элемента управления. Если редактируемое значение должно нестандартно отображаться в табличном поле, то необходимо использовать событие ПриВыводеСтроки() табличного поля. |
|||
24
ZOOBR
15.06.10
✎
15:21
|
БОЛЬШОЕ СПАСИБО. Все теперь понятно. Я просто забыл про ЭлементУправления и поэтому ошибка лезла. Благодаря вам можно считать что тема закрыта.:) Но если не сложно можно статью мне на 1С_8@mail.ru. Буду благодарен!
|
|||
25
73
15.06.10
✎
15:24
|
(24) Погугли "ЕСИС".
|
|||
26
ZOOBR
15.06.10
✎
15:36
|
Где скачать его я знаю. Проблемы с инетом просто, поэтому и прошу почтой.
|
|||
27
73
15.06.10
✎
15:51
|
(26) http://slil.ru/29335135
Статья(тхт) без картинки. |
|||
28
ZOOBR
15.06.10
✎
16:16
|
Спасибо!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |