|
v7: 1с77 Бух предпр. 4.5 ред. все потерли нафиг | ☑ | ||
---|---|---|---|---|
0
AlPer
07.12.13
✎
00:51
|
процедура Выполнить()
сСотр = СоздатьОбъект("Справочник.Номенклатура"); сСотр.ВыбратьЭлементы(); пока сСотр.ПолучитьЭлемент() = 1 цикл если (сСотр.ЭтоГруппа() = 0) тогда //и (сСотр.Уровень() = 1) тогда Если ПустоеЗначение(сСотр.ПолнНаименование)=0 Тогда сСотр.Наименование=сСотр.ПолнНаименование; КонецЕсли; конецЕсли; конецЦикла; конецПроцедуры; потерли ребята наименование у Номенклатур. А я не программист. Хочу взять наименование из полного наименования и "не париться" руками- там больше 1500 наименований. Не работает код - помогите... Мне деваться некуда - накажут меня вмето тех ребят...а убегать и прятаться я не хочу |
|||
1
AlPer
07.12.13
✎
00:52
|
вот такая пятница .... блииииин
|
|||
2
Aleksey
07.12.13
✎
00:55
|
А где записать()?
|
|||
3
Aleksey
07.12.13
✎
00:59
|
Причем записать напрямую он скорее не даст (будет ругаться что собьется выборка)
Список = СоздатьОбъект("СписокЗначений"); сСотр = СоздатьОбъект("Справочник.Номенклатура"); сСотр.ВыбратьЭлементы(); пока сСотр.ПолучитьЭлемент() = 1 цикл если (сСотр.ЭтоГруппа() = 0) и (ПустоеЗначение(сСотр.Наименование)=1 тогда Список.ДобавиьтЗначение(сСотр.ТекущийЭлемент()); конецЕсли; конецЦикла; Для й=1 по Список.РазмерСписка() Цикл сСотр.НайтиЭлемент(Список.ПолучитьЭлемент(й)); сСотр.Наименование=сСотр.ПолнНаименование; сСотр.Записать(); КонецЦикла; |
|||
4
AlPer
07.12.13
✎
01:08
|
нет пока
|
|||
5
France
07.12.13
✎
02:00
|
(3) с чего бы это выборке сбиваться?
|
|||
6
КонецЦикла
07.12.13
✎
02:03
|
(5) Выборка по основному представлению идет
Надо применить ПорядокКодов() |
|||
7
КонецЦикла
07.12.13
✎
02:04
|
И не надо лохматить бабушку со списком или тз
|
|||
8
Холст
07.12.13
✎
02:06
|
(0) сделай бекап сейчас... а то ПОСЛЕ тебя будет трудней восстанавливать базу
|
|||
9
ifso
07.12.13
✎
09:58
|
скушна ^^
|
|||
10
milisha
07.12.13
✎
19:15
|
Если ПустоеЗначение(сСотр.ПолнНаименование)=0 Тогда
сСотр.Наименование=сСотр.ПолнНаименование; Ошибка в условии, надо поменять Если ПустоеЗначение(сСотр.Наименование)=0 Тогда |
|||
11
milisha
07.12.13
✎
19:25
|
Сорри, Если ПустоеЗначение(сСотр.Наименование)=1 , иначе у вас и заполненные поменяются. Не могли же они все 1500 стереть?
|
|||
12
КонецЦикла
07.12.13
✎
20:16
|
(9) Лучше бы вместо красоты сообщений пачками транзакции записывал
|
|||
13
milisha
07.12.13
✎
20:17
|
Поправила Вашу обработку и протестировала ради интереса. вот так работает.
//******************************************* Процедура Сформировать() сСотр = СоздатьОбъект("Справочник.Номенклатура"); сСотр.ПорядокКодов(); сСотр.ВыбратьЭлементы(); пока сСотр.ПолучитьЭлемент() = 1 цикл если (сСотр.ЭтоГруппа() = 0) тогда Если ПустоеЗначение(сСотр.Наименование)=1 Тогда сСотр.Наименование=сСотр.ПолнНаименование; сСотр.Записать(); КонецЕсли; конецЕсли; конецЦикла; КонецПроцедуры |
|||
14
КонецЦикла
07.12.13
✎
20:21
|
Не парьтесь, автор давно гуляет по берегу океана и сплевывает от счастья
|
|||
15
Джинн
07.12.13
✎
20:34
|
(3) Все проще - ПорядокКодов
|
|||
16
Джинн
07.12.13
✎
20:34
|
О! Не успел :)
|
|||
17
milisha
07.12.13
✎
20:34
|
(14) С оторванной головой? :-)
|
|||
18
ifso
07.12.13
✎
21:33
|
(12) финансирование хромает
|
|||
19
Buhta
07.12.13
✎
21:41
|
У вас до сих пор задают такие вопросы? Думаю, автор хотел того, что хотел (т.е. переписать полное наименование, при наличии, в наименование), только Записать() забыл и про порядок выборки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |