|
Табличное Поле РегистраСведений на форме справочника номенклатура. 8.2 не управляемые ф. | ☑ | ||
---|---|---|---|---|
0
Pinokio
11.02.20
✎
13:01
|
Есть табличное поле, в нем отображена таблица (список) из регистра сведений.
Задача добавить еще колонку. и программно по наименованию присвоить строковое значени и показать (на регистр это не должно никак повлиять. ) чисто информаия для пользователя по остаткам. |
|||
1
catena
11.02.20
✎
13:16
|
Добавляешь колонку вручну, при получении данных заполняешь
|
|||
2
ДенисЧ
11.02.20
✎
13:18
|
(0) Что делал, что не получилось?
|
|||
3
Pinokio
11.02.20
✎
13:30
|
Процедура ТабличноеПолеАналогиПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
мАртикул = ДанныеСтроки.Аналог.Артикул; КолонкаТП = ЭлементыФормы.ТабличноеПолеАналоги.Колонки.Артикул; КолонкаТП.ТолькоПросмотр = Ложь; КолонкаТП.Данные = СокрЛП(мАртикул); //Недопустимое значение (хотя и там и там строка ) КонецПроцедуры |
|||
4
НЕА123
11.02.20
✎
13:32
|
||||
5
catena
11.02.20
✎
13:33
|
Не при выводе, а при получении. И заполнять не через ТП, а через ОформлениеСтрок. Примеры есть в интернете.
Процедура ТабличноеПоле1ПриПолученииДанных(Элемент, ОформленияСтрок) Массив = Новый Массив; Соответствие = Новый Соответствие; Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл Массив.Добавить(ОформлениеСтроки.Данныестроки.Физлицо); Соответствие.Вставить(ОформлениеСтроки.ДанныеСтроки.Физлицо, ОформлениеСтроки); КонецЦикла; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РГ.Физлицо, | РГ.ПричинаИзмененияСостояния |ИЗ | РегистрСведений.РаботникиОрганизаций.СрезПоследних(, Физлицо В (&МассивСсылокОформления)) КАК РГ"; Запрос.УстановитьПараметр("МассивСсылокОформления", Массив); Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Строка = Соответствие.Получить(Выборка.Физлицо); Если Строка.ДанныеСтроки <> Неопределено Тогда Строка.Ячейки.Колонка1.Значение = Выборка.ПричинаИзмененияСостояния; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
6
НЕА123
11.02.20
✎
13:33
|
(3)
СП тебе продаст ДенисЧ |
|||
7
catena
11.02.20
✎
13:33
|
(4)ой...
|
|||
8
Pinokio
11.02.20
✎
14:02
|
Catena разобрался.
))) теперь финал данной истории, как удалить запись (не удаляя из региста) Полагаю через отбор нужно как то колдовать? |
|||
9
Pinokio
11.02.20
✎
14:03
|
Для каждого СтрокаСоответсвия Из Соответствие Цикл
Строка = Соответствие.Получить(СтрокаСоответсвия.Ключ); Строка.Ячейки.Артикул.Значение = ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка.Артикул; Строка.Ячейки.Остаток.Значение = ПолучитьОстаток(Строка.ДанныеСтроки.Аналог); Если СокрЛП(Строка.Ячейки.Остаток.Значение) = "" Тогда СтрокаУдалить();// так не работает) КонецЕсли; КонецЦикла; |
|||
10
ДенисЧ
11.02.20
✎
14:05
|
(8) "как удалить запись (не удаляя из региста)"
Нужно колдовать владением используемого языка. Потому что на том диалекте, который ты используешь тебя понять может только один человек в мире - ты сам... |
|||
11
Pinokio
11.02.20
✎
14:08
|
Удалить строку из списка табличного документа на форме.
Если читать всю беседу. то Вполне можно догадаться. |
|||
12
ДенисЧ
11.02.20
✎
14:10
|
(11) У тебя отражается список РС. Удалить из него можно, удалив запись. Если нужно не показывать эту запись - или отбор, или своя тз, в которую загружаются данные из РС.
|
|||
13
Pinokio
11.02.20
✎
14:18
|
Можешь показать пример. как не показать эту запись с помощью отбора..
я просто первый впервые с отборами столкнулся) |
|||
14
Pinokio
11.02.20
✎
14:20
|
Как вывести отбором по нужному реквизиту. я разобрался уже.
а вот как скрыть ))) но при этом чтобы старый отбор продолжал работать. |
|||
15
ДенисЧ
11.02.20
✎
14:20
|
(13) Нужно определить условие, которое однозначно определяет эту строку. И потом уже накладывать условие.
|
|||
16
Pinokio
11.02.20
✎
14:24
|
Учитель из тебя так себе, должен я признаться)
|
|||
17
ДенисЧ
11.02.20
✎
14:25
|
(16) У меня телефон, наверное, испортился... Не показывает смс об увеличении баланса на счете.
|
|||
18
Pinokio
11.02.20
✎
14:25
|
Массив = Новый Массив;
Соответствие = Новый Соответствие; Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл Массив.Добавить(ОформлениеСтроки.Данныестроки.Аналог); Соответствие.Вставить(ОформлениеСтроки.ДанныеСтроки.Аналог, ОформлениеСтроки); КонецЦикла; Для каждого СтрокаСоответсвия Из Соответствие Цикл Строка = Соответствие.Получить(СтрокаСоответсвия.Ключ); Строка.Ячейки.Артикул.Значение = ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Ссылка.Артикул; Строка.Ячейки.Остаток.Значение = ПолучитьОстаток(Строка.ДанныеСтроки.Аналог); Если СокрЛП(Строка.Ячейки.Остаток.Значение) = "" Тогда Строка.Удалить(); // Либо как мне удалить строку табличного поля. удовлетворяющего данному условию. КонецЕсли; КонецЦикла; |
|||
19
Pinokio
11.02.20
✎
14:40
|
Строка.Ячейки.Артикул.Видимость = Ложь;
Строка.Ячейки.Аналог.Видимость = Ложь; Строка.Ячейки.Остаток.Видимость = Ложь; Вот так оно скрыло, но строка осталась. как ее полностью скрыть, может кто-то не сребролюбивый подскажет? |
|||
20
ДенисЧ
11.02.20
✎
14:42
|
Если ты отбор по остатку делаешь - то тебе лучше положить не список на форму, а табличное поле. И заполнять его при открытии или по событиям.
|
|||
21
ДенисЧ
11.02.20
✎
14:43
|
Потому что отбор делается только по полям, имеющимся в базе данных (в случае списка РС).
|
|||
22
catena
12.02.20
✎
05:19
|
(19)Нельзя удалять, если тип ТП - регистр. Либо отбор, либо переделывать на таблицу.
|
|||
23
Chameleon1980
12.02.20
✎
07:23
|
Рождение новой звезды (aka ну вы поняли)?
|
|||
24
unbred
12.02.20
✎
07:43
|
(8)то выведи ему колонку, то спрячь..ты не ГБ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |