|
Как редактировать строку в УФ | ☑ | ||
---|---|---|---|---|
0
Плот
23.01.12
✎
12:47
|
Привет! Изучаю УФ. Подскажите пжл, как в ПриОкончанииРедактирования
Перемножить цену (которая хранится в реквизите Номенклатура) с колвом? Элемент.ТекущиеДанные.Номенклатура позволяет добраться только до самого объекта, а реквизит взять не получается. Я так понимаю что само значение реквизита номенклатуры нужно каким то образом передавать? |
|||
1
Wobland
23.01.12
✎
12:48
|
незачем цену в справочнике хранить
|
|||
2
Плот
23.01.12
✎
12:48
|
(1) Это как пример
|
|||
3
Wobland
23.01.12
✎
12:54
|
кстати, в букваре вот так делается:
Процедура МатериалыКоличествоПриИзменении(Элемент) СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные; РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти); КонецПроцедуры Процедура РассчитатьСумму(СтрокаТабличнойЧасти) Экспорт СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена; КонецПроцедуры |
|||
4
Wobland
23.01.12
✎
12:59
|
кстати, там же СтрокаТабличнойЧасти.Материал.Код отлично видно
|
|||
5
Плот
23.01.12
✎
13:04
|
А ПриОкончанииРедактирования располагается в общемМодуле? Исполняется НаСервере?
|
|||
6
Плот
23.01.12
✎
13:05
|
(+5) угумс, чет сразу не сообразил.
|
|||
7
Плот
23.01.12
✎
13:13
|
Создал в общем модуле процедуру и из формы не могу к ней обратиться из процедуры ПриОкончанииРедактирования. Типа на клиенте он не видит общие модули?
|
|||
8
Wobland
23.01.12
✎
13:15
|
(7) Экспорт вслух сказал?
|
|||
9
Плот
23.01.12
✎
13:16
|
эскортная процедура
|
|||
10
Плот
23.01.12
✎
13:17
|
Галочка (управляемое приложение)стоит
|
|||
11
Wobland
23.01.12
✎
13:18
|
ИмяМодуля<точка> - предлагается что-то?
|
|||
12
Плот
23.01.12
✎
13:21
|
Да, РаботаСДокументами.МояПроцедура
|
|||
13
Плот
23.01.12
✎
13:22
|
Пишет Метод объекта не обнаружен МояПроцедура
|
|||
14
Wobland
23.01.12
✎
13:22
|
(12) значит, можешь обратиться. зачем обманываешь?
|
|||
15
Плот
23.01.12
✎
13:24
|
(14) Ну не получается, пишет как в (13)
|
|||
16
Wobland
23.01.12
✎
13:31
|
(15) точно экспорт есть?
|
|||
17
Плот
23.01.12
✎
13:32
|
(16) точно
|
|||
18
Wobland
23.01.12
✎
13:33
|
так что после точки предлагается то?
|
|||
19
Плот
23.01.12
✎
13:44
|
(18) Имя процедуры
ИмяОбщегоМодуля.ИмяПроцедуры |
|||
20
Wobland
23.01.12
✎
13:46
|
(19) то есть платформа предлагает то, что сама потом не видит? бред
|
|||
21
Плот
23.01.12
✎
13:55
|
(20) Говорю как есть. Имя процедуры выбираю через точку. Может я ее вызываю как нить не так
|
|||
22
Wobland
23.01.12
✎
13:59
|
(21) а как вызываешь? модуль не глобальный часом?
|
|||
23
Плот
23.01.12
✎
14:06
|
(22)не глобальный
|
|||
24
Плот
23.01.12
✎
14:08
|
Вызываю его из модуля формы документиа
в &НаКлиенте Процедура НоменклатураПриОкончанииРедактирования() |
|||
25
Wobland
23.01.12
✎
14:09
|
(24) явно не хватает строки типа ОбщийМодуль.ТамошняяПроцедура()
|
|||
26
Плот
23.01.12
✎
14:13
|
(25) вот весь код вызова
&НаКлиенте Процедура НоменклатураПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования) Главный.ПересчитатьСуммы(элемент.ТекущиеДанные); КонецПроцедуры |
|||
27
Wobland
23.01.12
✎
14:23
|
не поленился, сделал модуль Главный, сделал
Процедура ПересчитатьСуммы(СтрокаТЧ) Экспорт Сообщение=Новый СообщениеПользователю; Сообщение.Текст="Хелло, ворлд!"; Сообщение.Сообщить(); КонецПроцедуры &НаКлиенте Процедура МатериалыМатериалПриИзменении(Элемент) Главный.ПересчитатьСуммы(Элемент); КонецПроцедуры всё работает. где я дурак? |
|||
28
Плот
23.01.12
✎
14:29
|
(27) Ниче не понимаю. А в общем модуле директиву препроцессору ставить нужно?
|
|||
29
Wobland
23.01.12
✎
14:29
|
(28) там галки для этого
|
|||
30
Плот
23.01.12
✎
14:30
|
&НаСервере
Процедура ПересчитатьСуммы(СтрокаТабЧасти) экспорт заменил на Процедура ПересчитатьСуммы(СтрокаТабЧасти) экспорт работает |
|||
31
Плот
23.01.12
✎
14:31
|
(29) т.е. если стоит галка Сервер то директиву не нужно указывать?
|
|||
32
Wobland
23.01.12
✎
14:36
|
(30) ну не видит клиент серверную процедуру ;)
|
|||
33
Wobland
23.01.12
✎
14:37
|
фигня какая-то
&НаСервере Процедура ПересчитатьСуммы(СтрокаТЧ) Экспорт Сообщение=Новый СообщениеПользователю; Сообщение.Текст="Хелло, ворлд!"; Сообщение.Сообщить(); КонецПроцедуры сообщает |
|||
34
Плот
23.01.12
✎
14:42
|
кстати вот нашел поиском очень похожая тема
http://sale1c.ru/ne-mogu-obratitsya-k-rekvizitu-spravochnika-v-module-formy-dokumenta.html |
|||
35
Плот
23.01.12
✎
14:43
|
(33) Я так понял если не указываать директиву то процедура исполняется на клиенте?
|
|||
36
Wobland
23.01.12
✎
14:44
|
(35) я с УФ не работаю. так, балуюсь только. не в курсе
|
|||
37
Плот
23.01.12
✎
14:50
|
(36) спасибо хоть на этом :-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |