|
Как получить значение реквизита формы табличной части? | ☑ | ||
---|---|---|---|---|
0
YamEgor
24.08.22
✎
15:40
|
Добрый день! управляемые формы, в табличноый части документа есть реквизит Номенклатура, и на форме в ТЧ из номенклатуры выведен реквизит ЕденицаИзмерения , самого реквизита ЕденицаИзмерения в табличной части объекта нет, но его вывели на форму, и надо его проверять на заполненность, если не заполнен, то выдавать сообщение и отказываться от проведения. как программно добраться до значения реквизита табличной части формы?
|
|||
1
unenu
24.08.22
✎
15:42
|
через точку
|
|||
2
PR
24.08.22
✎
15:42
|
(0) Никак
Проведение вообще в душе не подозревает ни про какие твои формы |
|||
3
Smallrat
24.08.22
✎
15:51
|
(2) ПередЗаписьюНаСервере() же , но автору это все равно не поможет
|
|||
4
PR
24.08.22
✎
15:54
|
(3) Ты решил мне рассказать, как немного наговнокодить?
Все просто ТС говорит про проведение, значит забывает про форму Точка |
|||
5
oslokot
24.08.22
✎
15:58
|
(0)
|
|||
6
Smallrat
24.08.22
✎
15:58
|
(4) Код из типовой бухии:
ТиповаяОперация = Форма[БухгалтерскиеОперацииКлиентСервер.ИмяРеквизитаФормыТиповаяОперация()]; Если ЗначениеЗаполнено(ТиповаяОперация) И (ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Запись ИЛИ ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение) И НЕ ТиповаяОперацияСоответствуетДокументу(ТекущийОбъект, ТиповаяОперация) Тогда СообщитьТиповаяОперацияНеСоответствуетДокументу(ТекущийОбъект, Форма); Если ПараметрыЗаписи.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда Отказ = Истина; Возврат; КонецЕсли; КонецЕсли; не то чтобы я считал бухию эталоном, но встречается вообще часто |
|||
7
Kassern
24.08.22
✎
15:59
|
(0) "как программно добраться до значения реквизита табличной" - СтрокаТаблицы.Номенклатура.ЕдиницаИзмерения
|
|||
8
PR
24.08.22
✎
16:01
|
(6) И что будет, если документ тупо провести без открытия формы?
|
|||
9
Kassern
24.08.22
✎
16:06
|
Есть же специальная процедура, называется ОбработкаПроверкиЗаполнения, https://its.1c.ru/db/v8std#content:463:hdoc
|
|||
10
Smallrat
24.08.22
✎
16:13
|
(8) ну что будет - пропустит оно проверку, понятное дело, если она там в модуле не задублирована. Я не предлагал проверять в форме - просто упомянул, что в частном случае проведения из формы в начале выловить можно, что документ проводится и контекст формы иметь.
|
|||
11
YamEgor
24.08.22
✎
17:28
|
(7) но ведь это не реквизт формы, а как получить зачение реквизита формы?
|
|||
12
Kassern
24.08.22
✎
17:31
|
(11) Вы же сами сказали, что данный реквизит формы тянется из номенклатуры. Смысл вам ковырять элементы формы и получать, что там заполнено, если у вас есть данные объекта?
|
|||
13
YamEgor
24.08.22
✎
18:03
|
(12) ну он же на форме может быть и не заполнен, поэтому и нужно его значение проверить заполнен он или нет
|
|||
14
mistеr
24.08.22
✎
18:30
|
(13) Заполнен или не заполнен он только в элементе справочника Номенклатура. На форме от только отображается.
Если конфа типовая, смотри механизм проведения, найди место, где проверяется заполненность, и вставляй туда свою проверку. |
|||
15
Mihasya
25.08.22
✎
03:01
|
(0)
// В форме документа: &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТЧИзФормы = ЭтаФорма.Объект.Товары.Выгрузить(, "НомерСтроки, Номенклатура, Артикул"); ТекущийОбъект.ДополнительныеСвойства.Вставить("ТЧИзФормы", ТЧИзФормы); КонецПроцедуры // В модуле документа Процедура ОбработкаПроведения(Отказ, РежимПроведения) ТЧИзФормы = Неопределено; ЭтотОбъект.ДополнительныеСвойства.Свойство("ТЧИзФормы", ТЧИзФормы); Если ТЧИзФормы <> Неопределено Тогда //... КонецЕсли; КонецПроцедуры Правда без открытия формы ТЧИзФормы всегда будет Неопределено |
|||
16
Kassern
25.08.22
✎
09:10
|
(13) "ну он же на форме может быть и не заполнен" - назовите мне случай, когда значение в реквизите табличной части формы может отличаться от значения в реквизите номенклатуры. При условии, что в пути данных реквизита формы стоит "Объект.Товары.Номенклатура.ЕдиницаИзмерения". Я понимаю обычные формы, где приходилось оформлять заполнение ячеек и устанавливать туда текст, но вы же пишите про управляемые формы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |