Имя: Пароль:
1C
 
Вывод "СообщениеПользователю" в табличную часть документа, при нехватке остатков на складе
0 Николаус
 
26.08.21
13:45
Всем привет! Подскажите, как можно реализовать вывод "СообщениеПользователю" в табличную часть документа, при нехватке номенклатуры, чтобы сообщение об отсутствии выводилось в ту строку, где идёт нехватка товара.
Через ОбщийМодуль сообщение выводится снизу платформы.
Можно ли как-то осуществить это через ФормуДокумента, ведь только там можно обратиться к таб.части. НО! Там нет процедуры "ОбработкиПроведения",а только "ПередЗаписью"
1 ejikbeznojek
 
26.08.21
13:51
Я даже не знаю, смеяться или плакать.
2 lubitelxml
 
26.08.21
13:51
Вроде только четверг...
3 ДенисЧ
 
26.08.21
13:52
ОбщегоНазначенияКлиентСервер.СообщитьПользователю()
4 ejikbeznojek
 
26.08.21
13:53
(3) Так это снизу выведется, а он в ТЧ хочет писать.
5 yzimin
 
26.08.21
13:57
(4) Посмотри параметры процедуры)
6 Жан Пердежон
 
26.08.21
13:58
(4) не писать, а сообщение выводить
7 oslokot
 
26.08.21
13:58
(4) выведется не только внизу, но и подстроится к нужной колонке/строке ТЧ
8 ДенисЧ
 
26.08.21
14:06
(4) Обманываешь.
9 серый КТУЛХУ
 
26.08.21
14:24
о, брат-семерочник?
обработкапроведения делается при записи (см. режимы записи документов).
а то, проводится документ или нет (и - соответственно - надо проверять остатки или нет) видно и в передзаписью тоже.
10 ДенисЧ
 
26.08.21
14:40
(9) За проверку остатков вне транзакции полагается то, что на востоке называется "секир бошка"
11 серый КТУЛХУ
 
26.08.21
15:48
(10): уточнение: только в случаях, когда результат используется для формирования состава сохраняемых данных. например для состава формируемых по остаткам же движений.
иногда категоричная претенциозность выглядит глупо, старайтесь этого избегать. (с)
12 eTmy
 
26.08.21
15:53
(0) тут только к Борису Нуралиеву обращаться, никто кроме него не сможет помочь... извини :'(
13 youalex
 
26.08.21
16:05
(0) тебе нужно чтобы сообщение было привязано к конкретной строке/ячейке ?

как-то так:

ИмяПоля = СтрШаблон("Объект.Товары[%1].Номенклатура", Формат(НомерСтроки-1, "ЧГ=;ЧН=0"));    
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Чего-то не хватает", , ИмяПоля);

НомерСтроки - это номер строки ТЧ, для которой нехватка
14 Николаус
 
26.08.21
16:58
(13) Да, к той строке, где происходит нехватка товара.
Через Сообщение Пользователю работает в том случае, если указываю данные вне цикла.
В цикле , к сожалению, не подцепляет поля.

    Пока Выборка.Следующий()Цикл
            
            Сообщение = Новый СообщениеПользователю;
            Сообщение.Текст = "Нехватка товара "+Выборка.Номенклатура+" В кол-ве "+Строка(-Выборка.КоличествоОстаток);
            Сообщение.Поле = "Объект.ТабличнаяЧасть1[0].Номенклатура";
            Сообщение.Сообщить();
            
        КонецЦикла;
15 Николаус
 
26.08.21
16:58
(13) Спасибо!!!
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн