Имя: Пароль:
1C
1C 7.7
v7: Вычисляемое представление пустого значения в табличной части документа как сделать?
0 Провинциальный 1сник
 
04.05.21
09:33
Есть документ, в котором в ТЧ заполняется некий реквизит. И надо, чтобы когда он не заполнен, то в его ячейке отображалась некая надпись. Ясно, что штатно такое не сделать. Можно ли подобное сделать через какое-нибудь 1c++ или formex?
1 Mikeware
 
04.05.21
09:36
(0) если заменить ТЧ на ТП - то можно.
Можно тупо подменять колонки, но это не совсем красиво (вместо настоящей подсовывать "текстовую", а редактирование значения делать через перехват-подмену).
2 Провинциальный 1сник
 
04.05.21
09:40
(1) Да ну нафиг, обойдутся тогда. Просто хотелось сделать форму понятнее для пользователя.
3 Mikeware
 
04.05.21
09:41
(2) попробуй пустые просто подсветить формексом
4 acanta
 
04.05.21
09:44
Текстовое поле на форме с комментариями "от начальства типа высоко сижу, далеко гляжу, не заполнены тут и там".
5 Mikeware
 
04.05.21
09:55
(4) неэргономично
6 acanta
 
04.05.21
09:57
Вопрос как написать такую внешнюю компоненту?
7 Провинциальный 1сник
 
04.05.21
09:57
(3) Цель не в том, чтобы обратить внимание на незаполненность реквизитов с целью их заполнения. Цель - объяснить смысл незаполненных значений, который в разных ситуациях может быть разным..
8 Mikeware
 
04.05.21
09:58
(6) они уже есть. как минимум две
9 Mikeware
 
04.05.21
10:00
(7) так может, тогда - заполнять?  своего рода "предопределенными значениями"?
10 acanta
 
04.05.21
10:01
Самое сложное для программиста забыть о том, что все уже написано до нас...
11 Провинциальный 1сник
 
04.05.21
10:01
(9) Если реквизит определенного типа, скажем счет из плана счетов - какие тут могут быть предопределенные значения?
12 acanta
 
04.05.21
10:06
В бух.операции заполнять дебет и кредит в корреспонденции или не заполнять?
13 Калиостро
 
04.05.21
10:08
(0) Посмотри в типовой ТиС как отображается представление партии в документах реализации.
Вместо реквизита в ТЧ вставляется текстовая колонка.

Функция глПредставлениеПартии(Партия) Экспорт
    
    Если ПустоеЗначение(Партия) = 1 Тогда
        Возврат "<автоподбор>";
    Иначе    
        Возврат ""+Партия.ПриходныйДокумент;
    КонецЕсли;
    
КонецФункции // глПредставлениеПартии()
14 Bigbro
 
04.05.21
10:11
фиг знает всегда для подобных целей с заменой выводимых значений использовал текст и кучу чужих примеров видел где используется.
зачастую есть коды, в соответствии с которыми надо выводить текст, или еще какие то вычислительные операции проделывать.
не понимаю что смущает, нормальная практика совершенно.
15 Провинциальный 1сник
 
04.05.21
10:15
(13) А как эту текстовую колонку пользователь менять будет? В режим редактирования у неё же не войдешь.
16 Mikeware
 
04.05.21
10:17
(11) а что мешает добавить счет?
17 Bigbro
 
04.05.21
10:19
ПриНачалеРедактированияСтроки()
Назначение:
Предопределенная процедура при интерактивном редактировании строки документа.
18 Mikeware
 
04.05.21
10:19
(15) элементарно, Ватсон!
как в "партиях", например - тычком по соседней колонке.
или перехватываь тычок по этой колонке. правда, редактирование "штатно" уже "не в ячейке", но для редактирования в ячейке можно уже использовать и формекс, и миракл от абадонны, и кучы классов
19 acanta
 
04.05.21
10:20
ОткрытьПодбор() с выбором одного значения.
20 Mikeware
 
04.05.21
10:20
(17) в текстовой колонке разве отрабатывает ПриНачалеРедактирования ?
21 acanta
 
04.05.21
10:21
Привыборестроки()
22 Mikeware
 
04.05.21
10:24
(21) ??? изя, я вас умоляю...
я, конечно, хреново помню клюшки, но все-таки....
23 Bigbro
 
04.05.21
10:28
(20) да
и дальше если форма.АктивныйЭлемент() ..
и погнали
24 Mikeware
 
04.05.21
10:30
(23) а, ну тогда вообще элементарно.
Просто штатно будет "не в ячейке".  Для агрегатных потянет, с примитивными немного хуже.
тогда возникает вопрос - если у человека клюшки под рукой, нахрена вопросы на форум? :-)))
25 Провинциальный 1сник
 
04.05.21
10:54
(17) А как я в этой процедуре узнаю, что именно я пытаюсь редактировать? Там же нет параметра ИдентЭлемДиалога, как в ПриНачалеВыбораЗначения..
26 Mikeware
 
04.05.21
10:57
(25) форма.ТекушаяКолонка()
27 Провинциальный 1сник
 
04.05.21
10:59
(26) А у текстового атрибута табличной части формы она всегда "" возвращает.
28 Mikeware
 
04.05.21
11:02
(27) а ты идентификатор назначил? :-)
29 Провинциальный 1сник
 
04.05.21
11:02
(28) Точно, ступил)