|
Дописать условие | ☑ | ||
---|---|---|---|---|
0
Евгений90
29.10.12
✎
13:32
|
Внешняя обработка записывает значение в свойство номенклатуры. Нужно дописать условие, чтобы запись происходила только туда, где не установлено значение
Процедура ЗаписатьЗначениеНажатие(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура |ГДЕ | СправочникНоменклатура.Ссылка В Иерархии(&ТоварыМФГ) И НЕ СправочникНоменклатура.ЭтоГруппа"; Запрос.УстановитьПараметр("ТоварыМФГ", ТоварыМФГ); Выборка = Запрос.Выполнить().Выбрать(); СпрЗначСвОб = Справочники.ЗначенияСвойствОбъектов; свИмпортер = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Импортер"); СпрЗначСвОб = Справочники.ЗначенияСвойствОбъектов; сСпрЗначСвОб = СпрЗначСвОб.НайтиПоНаименованию(ЭтаФорма.ЗначениеНоменклатуры); Если ЭтаФорма.ЗначениеНоменклатуры.Пустая() Тогда Сообщить("Не заполнено значение номенклатуры"); Возврат; КонецЕсли; Пока Выборка.Следующий() Цикл НовЗапись = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи(); НовЗапись.Объект = Выборка.Номенклатура; НовЗапись.Свойство = свИмпортер.Ссылка; НовЗапись.Значение = сСпрЗначСвОб; НовЗапись.Записать(); КонецЦикла; Сообщить ("Значение свойства записано"); КонецПроцедуры |
|||
1
Cube
29.10.12
✎
13:34
|
||||
2
Privalov
29.10.12
✎
13:37
|
(0) Где код украл?
|
|||
3
Privalov
29.10.12
✎
13:38
|
+(2) Ты хоть читал что в нем написано?
|
|||
4
cw014
29.10.12
✎
13:38
|
(0) Где то я эти СпрЗначСвОб и сСпрЗначСвОб сегодня уже видел
|
|||
5
Privalov
29.10.12
✎
13:40
|
Зачем вторую тему создал?
v8: Добавление нового значения в свойство номенклатуры |
|||
6
Privalov
29.10.12
✎
13:41
|
||||
7
Евгений90
29.10.12
✎
13:42
|
Началось.... просто скажите что куда дописать, пожалуйста
|
|||
8
cw014
29.10.12
✎
13:44
|
(7) А если включить моск, СП и подумать?
|
|||
9
Евгений90
29.10.12
✎
13:45
|
(8) А если просто подсказать?
|
|||
10
Privalov
29.10.12
✎
13:45
|
(7)Дописать (или переписать) нужно "Что - " код "Куда - "в твоей обработке.
Я ответил на твой вопрос? |
|||
11
Privalov
29.10.12
✎
13:46
|
(9)Ты не в школе на уроке.
|
|||
12
cw014
29.10.12
✎
13:48
|
(9) А давай мы за тебя будем программировать, ну и соответственно ЗП тоже получать
|
|||
13
PCcomCat
29.10.12
✎
13:48
|
Как-то так:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗначенияСвойствОбъектов.Свойство.Наименование, | ЗначенияСвойствОбъектов.Свойство, | ЗначенияСвойствОбъектов.Объект, | ЗначенияСвойствОбъектов.Значение |ИЗ | РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов |ГДЕ | ЗначенияСвойствОбъектов.Свойство.Наименование = &ДопРеквизит | И ЗначенияСвойствОбъектов.Объект = &ДокОбъект"; Запрос.УстановитьПараметр("ДопРеквизит","Документ узла"); Запрос.УстановитьПараметр("ДокОбъект",Объект.Ссылка); ТаблицаРезультат = Запрос.Выполнить().Выгрузить(); //ТаблицаРезультат.ВыбратьСтроку("" + Объект); Если ТаблицаРезультат.Количество()<=0 тогда ЗаписатьУзел = Истина; КонецЕсли; КонецЕсли; //Сообщить(ЗаписатьУзел); Если ЗаписатьУзел тогда НаборЗаписейЗначенияСвойств = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); Запись = НаборЗаписейЗначенияСвойств.Добавить(); Запись.Объект = Объект.Ссылка; Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Документ узла"); Запись.Значение = Параметры.ДокументУзла; НаборЗаписейЗначенияСвойств.Отбор.Объект.Установить(Объект.Ссылка); НаборЗаписейЗначенияСвойств.Записать(); КонецЕсли; |
|||
14
Евгений90
29.10.12
✎
13:49
|
Что за люди... вместо того чтобы издеваться, помогли бы. Я не думаю что дописать 2-3 строчки кода для опытных программистов проблема
|
|||
15
Privalov
29.10.12
✎
13:50
|
(14)А, зачем?
|
|||
16
Фокусник
29.10.12
✎
13:53
|
(0) >Нужно дописать условие, чтобы запись происходила только туда, где не установлено значение
Например, так: Делай запрос к справочнику Номенклатура в левом соединении с РС ЗначенияСвойствОбъектов. В обходе результата запроса, по той номенклатуре, где в РС есть null (т.е. "где не установлено значение") ставь своё значение. |
|||
17
Cunni
29.10.12
✎
13:54
|
(14) вопрос "как проверить значение реквизита на пустое значение?" был бы воспринят более адекватно.
|
|||
18
Евгений90
29.10.12
✎
13:55
|
(16)Что такое РС
|
|||
19
Фокусник
29.10.12
✎
13:59
|
(18) Регистр сведений
|
|||
20
Евгений90
29.10.12
✎
14:01
|
(16) Спасибо, дальше разберусь
|
|||
21
zbv
29.10.12
✎
14:01
|
+ (16) лучше наверное будет сразу в запросе отборать по null.
|
|||
22
Buster007
29.10.12
✎
14:01
|
(0) следует взять книжки и почитать.
|
|||
23
Фокусник
29.10.12
✎
14:05
|
(21) Верно, так лучше
(20) В запросе проверка "НЕ Значение есть NULL" |
|||
24
zbv
29.10.12
✎
14:08
|
(23) без "НЕ" :)
|
|||
25
Фокусник
29.10.12
✎
14:24
|
(24) Ну да, он же пустые ищет (задумался о своём) :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |