Имя: Пароль:
1C
1С v8
v8: Привязать цену в номенклатуре
,
0 Kostik2013
 
10.02.13
17:45
Есть справочник и в нем группы номеклатуры.В номенклатуре есть поле Диагностика (туда вбивается стоимость ремонта).Так же есть поле Диагностика  в заказе и стоимость автоматом должна вбиваться при выборе определенного товара а если не указана,то вбиться должна средняя (установлена программно). Подскажите как можно это реализовать? Всем спасибо!
1 Fragster
 
гуру
10.02.13
17:46
2 Fragster
 
гуру
10.02.13
17:47
3 Kostik2013
 
10.02.13
18:00
(2) запустилась только презентация
4 Kostik2013
 
10.02.13
18:03
Может у кого-то есть еще подобные видео?
5 Maniac
 
10.02.13
18:04
25000 рублей
6 kotletka
 
10.02.13
18:31
10 000 руб
7 Крепкий
 
10.02.13
18:50
(4) ну зачем те видео? Призови спеца, он все сделает, а ты поучишься.. Готов за 20 тыщ..
8 Web00001
 
10.02.13
19:05
(7) 19 по дешевке ) срок предложения ограничен
9 Kostik2013
 
11.02.13
14:19
Сделал такой запрос,но цену все равно не передает в документ


&НаСервере
Функция ДиагностикаПриИзменении(Элемент)
   Запрос= Новый Запрос;
   Запрос.Текст="Выбрать Диагностика,ссылка Из Справочик.Номеклатура
   |Где Ссылка=&НужныйДок    ";    
   Запрос.УстановитьПараметр("НужныйДок",Объект.ЗаказПоставщику);
   Диагностика=Запрос.Выполнить().Выгрузить();

   
   
КонецФункции
10 cw014
 
11.02.13
14:20
400$ - сделаю :)
11 ICWiner
 
11.02.13
14:21
100$
12 hhhh
 
11.02.13
14:23
(9) а вы там кто? Программист или пользователь?
13 Kostik2013
 
11.02.13
14:24
(12) я начинающий программист)И вот пытаюсь решить маленькую задачку
14 DexterMorgan
 
11.02.13
14:27
(9) Выбираешь из справочника номенклатура, а параметр - ссылка на документ
15 Kostik2013
 
11.02.13
14:30
(14) это разве не так? или я ошибаюсь

|Где Ссылка=&НужныйДок    ";    
   Запрос.УстановитьПараметр("НужныйДок",Объект.ЗаказПоставщику);
16 Cashtane
 
11.02.13
14:32
Понедельник день тяжелый.
17 ICWiner
 
11.02.13
14:32
Ты ищешь номенклатуру, которая является документом...
18 hhhh
 
11.02.13
14:35
(15) и еще пара ошибок

Диагностика=Запрос.Выполнить().Выгрузить();

В поле диагностика - у вас ведь число должно быть, а Запрос.Выполнить().Выгрузить() - это таблица. То есть таблицу хотите вогнать туда, где число должно быть.

Запрос.Текст="Выбрать Диагностика,ссылка Из Справочик.Номеклатура

вы поменяли поле Диагностика, но в базу пока не записывали, а запрос выбирает поле Диагностика из базы, то есть он у вас старое значение выберет. Которое было до того.
19 ICWiner
 
11.02.13
14:35
Ну тобишь в справочнике номенклатура выбираешь элемент, у которого ссылка = ссылке на документ заказ. Такого быть не может. Нужно вытащить из таб части товары документа заказ номенклатуру и искать ее. И вызывает вопрос еще вот это
Функция ДиагностикаПриИзменении(Элемент)
20 DexterMorgan
 
11.02.13
14:36
(18) Ну может начать с того что директива должна быть &НаКлиенте, а в этой функции будет обращение к серверу, чтобы получить значения реквизитов?
21 DexterMorgan
 
11.02.13
14:37
(18) А у него код просто не полный)
22 DexterMorgan
 
11.02.13
14:37
че за элемент тогда и зачем он
23 Kostik2013
 
11.02.13
14:39
Чуть по другому,но тоже не хочет

Запрос= Новый Запрос;
   Запрос.Текст="ВЫБРАТЬ
                |    Номенклатура.Диагностика
                |ИЗ
                |    Справочник.Номенклатура КАК Номенклатура
                |ГДЕ
                |    Номенклатура.Диагностика = &Диагностика" ;    
   Запрос.УстановитьПараметр("НужныйДок",Объект.ЗаказПоставщику);
   Диагностика=Запрос.Выполнить().Выгрузить();
24 DexterMorgan
 
11.02.13
14:41
(23)Кароче:

&НаКлиенте
Процедура ТоварыДиагностикаПриИзменении(Элемент)
ТекСтрока = Элементы.Товары.ТекущиеДанные;
Диагностика = ПолучитьДиагностику(ТекСтрока.Номенклатура)
КонецПроцедуры

&НаСервере
Функция ПолучитьДиагностику(Номенклатура)
Возврат Номенклатура.Диагностика
КонецФункции
25 Wobland
 
11.02.13
14:43
завтра цена изменится, что автор будет делать?
26 Cashtane
 
11.02.13
14:43
(24) Ну вот. Карнавала не будет.
27 Kostik2013
 
11.02.13
14:44
(24) неа не работает
28 DexterMorgan
 
11.02.13
14:44
хотя по хорошему нужна функция в общем модуле типа

Функция ПолучитьЗначенияРеквизитов(Ссылка, ИменаРеквизитов) Экспорт
   
   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    " + ИменаРеквизитов + "
       |ИЗ
       |    " + Ссылка.Метаданные().ПолноеИмя() + " КАК Таблица
       |ГДЕ
       |    Таблица.Ссылка = &Ссылка";
   Запрос.УстановитьПараметр("Ссылка", Ссылка);
   
   Выборка = Запрос.Выполнить().Выбрать();
   Выборка.Следующий();
   Результат = Новый Структура(ИменаРеквизитов);
   ЗаполнитьЗначенияСвойств(Результат, Выборка);
   
   Возврат Результат;
   
КонецФункции
29 Kostik2013
 
11.02.13
14:44
(24) так тоже не хочет
30 Kostik2013
 
11.02.13
14:45
(29) щас попробую
31 DexterMorgan
 
11.02.13
14:46
(29) Ты просто скопировал (24)?=))
32 Cashtane
 
11.02.13
14:46
(29) Автор, ты пиши что делаешь и что тебе приходит в ответ, а то скоро у ясновидящих мана кончится.
33 DexterMorgan
 
11.02.13
14:51
(30) 1. Проверь, что в событии нужного реквизита при изменении стоит процедура "ТоварыДиагностикаПриИзменении"
2. Табличная часть у тебя называется Товары
3. Поставь после "Возврат Номенклатура.Диагностика" символ ";"

После этого (24) должно работать!
34 Kostik2013
 
11.02.13
15:26
Это у меня реквизит.Не в табЧасти
35 Kostik2013
 
11.02.13
15:43
Как с реквизитом это проделать?
36 Kostik2013
 
11.02.13
16:09
(35) HELP!
37 mistеr
 
11.02.13
16:26
(0) А в твоей конфе что, нет цен номенклатуры? :)
38 Kostik2013
 
11.02.13
16:28
(37) Диагностика-это и есть единственная цена,так как это ремонт
39 Kostik2013
 
11.02.13
16:30
(37) т.е там не табличная часть а просто реквизит куда вбивается стоимость которая должна выбиться автоматом при выборе номенклатуры
40 mistеr
 
11.02.13
16:40
(39) Я интересовался что за конфа, и почему там нет регистра ЦеныНоменклатуры и документа для их установки.
41 Kostik2013
 
11.02.13
16:44
(40) посмотрел,есть регистр,цены номенклатуры
42 Kostik2013
 
11.02.13
16:56
Но там не передается диагностика.Только для товаров на продажу а на ремонт нет
43 НафНаф
 
11.02.13
16:58
вернемся к вопросу оплаты
44 Kostik2013
 
11.02.13
16:59
(43) это не ко мне а на сайтах подработка
45 hhhh
 
11.02.13
17:00
(44) ну ждем вас на сайте.
46 mistеr
 
11.02.13
17:20
(42) Видишь как просто. Посмотри на продажу и сделай так же.

(43) Как я вам все обломал. *демоническим голосом* М-уа-ха-ха!
47 Kostik2013
 
11.02.13
17:31
(46) Спасибо!Без регистра никак,да?)
48 mistеr
 
11.02.13
20:05
(47) Да как угодно, хоть на бумажке.

"Нормальные герои всегда идут в обход" (типового механизма).
Ждем в следующей серии вопросов "поменялась цена, как вводить документы задним числом?" и т.д.
Независимо от того, куда вы едете — это в гору и против ветра!