Имя: Пароль:
1C
1С v8
Как редактировать строку в УФ
,
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) спасибо хоть на этом :-)