|
v7: Деноминация справочника. Нужна помощь | ☑ | ||
---|---|---|---|---|
0
Standart
08.08.16
✎
15:11
|
Дня доброго! Уважаемое сообщество!
Обращаюсь за помощью к Вам. По всей 1С - сделал деноминацию, но не взяло один справочник. Цены ТМЦ. Как не пробовал, не получается автоматом проденоминировать строки с ценами. Только выделять строку, нажимать кнопку. Может, кто подскажет? Запарюсь делать вручную 21859 строк... [url=http://savepic.ru/10840960.htm][img]http://savepic.ru/10840960m.png[/img][/url] |
|||
1
Standart
08.08.16
✎
15:12
|
||||
2
Standart
08.08.16
✎
15:12
|
||||
3
Cyberhawk
08.08.16
✎
15:13
|
А что у тебя будет с ценой 0.07?
|
|||
4
Standart
08.08.16
✎
15:18
|
(4), не обращайте внимания. это локальная 1С. в сетевой таких цен нет. Замечено верно. Спасибо. Всё, что от 1 до 100 рублей, должно иметь вид 0,01 коп.
|
|||
5
HawkEye
08.08.16
✎
15:33
|
(0) тут обработку придется писать.... строк так эдак 5-6...
сложно короче. |
|||
6
Garykom
гуру
08.08.16
✎
15:34
|
(5) угу очень сложно... Оценить скоко содрать ))
|
|||
7
Fedor-1971
08.08.16
✎
16:59
|
(0) у тебя уже есть кнопка Пересчёт - подкрути ей обработчик на работу со всем списком. Только учти, что если после твоей деноминации будет цена меньше 1 коп, то цену нужно выставлять = 1 коп.
|
|||
8
Standart
09.08.16
✎
16:03
|
поправьте, если не трудно.
Процедура Выполнить() перем цена; СпрЦеныТМЦ=СоздатьОбъект("Справочник.ЦеныТМЦ"); СпрЦеныТМЦ.ВыбратьЭлементы(); Пока СпрЦеныТМЦ.ПолучитьЭлемент()=1 цикл Если СпрЦеныТМЦ.цена>0 тогда Цена = СпрЦеныТМЦ.ТекущийЭлемент(); СпрЦеныТМЦ.Цена=Цена/Константа.КоэфДеноминации; Сообщить("Цена" +СокрЛП(Цена) +СокрЛП(СпрЦеныТМЦ.Цена)); КонецЕсли; СпрЦеныТМЦ.Записать(); КонецЦикла; ПРедупреждение("Обработка завершена"); КонецПроцедуры заносит не "цена/константа", а саму константу, т.е. 10.000 во все строки |
|||
9
Ёпрст
09.08.16
✎
16:15
|
(8) вот тут брэд, не пит
Цена = СпрЦеныТМЦ.ТекущийЭлемент(); СпрЦеныТМЦ.Цена=Цена/Константа.КоэфДеноминации; |
|||
10
Standart
09.08.16
✎
16:19
|
Ёпрст- дзякуй!!!
|
|||
11
Зая Бусечка
09.08.16
✎
16:23
|
(10) Вот так его ещё никто не посылал на моей памяти....
|
|||
12
Это_mike
09.08.16
✎
16:31
|
(11) "Эй, подстрахуй!"©
|
|||
13
Standart
09.08.16
✎
16:34
|
Харе издеваться над бедным студентом :( я еще только учусь... Если в лом помочь, то и не стоит "обсирать". Для этого есть форум "ПОРЖАТЬ"
|
|||
14
HawkEye
09.08.16
✎
17:02
|
(8) у тебя цена - не периодический элемент?
|
|||
15
Garykom
гуру
09.08.16
✎
17:11
|
(13) Выгружаешь в Ёксель... правишь цены формулой... загружаешь назад... профит!
|
|||
16
Standart
10.08.16
✎
14:47
|
Процедура Выполнить()
перем цена; СпрЦеныТМЦ=СоздатьОбъект("Справочник.ЦеныТМЦ"); СпрЦеныТМЦ.ВыбратьЭлементы(); Пока СпрЦеныТМЦ.ПолучитьЭлемент()=1 цикл цена= СпрЦеныТМЦ.ТекущийЭлемент().цена; //СпрЦеныТМЦ.ТекущийЭлемент().цена=Цена/Константа.КоэфДеноминации; цена1=Цена/Константа.КоэфДеноминации; СпрЦеныТМЦ.УстановитьАтрибут("Цена",Цена1); СпрЦеныТМЦ.Записать(); Сообщить( +СокрЛП(цена) +"-" +СокрЛП(СпрЦеныТМЦ.ТекущийЭлемент().Цена)); КонецЦикла; ПРедупреждение("Обработка завершена"); КонецПроцедуры вот, дописал, отработала на 100% А как сейчас сделать, чтобы Цена(число) дополнительно записалась в Наименование(строка)? |
|||
17
Numerus Mikhail
10.08.16
✎
14:49
|
Наименование = Наименование + Цена;
|
|||
18
Ёпрст
10.08.16
✎
14:59
|
(16)
//цена= СпрЦеныТМЦ.ТекущийЭлемент().цена; Цена= СпрЦеныТМЦ.Цена; СпрЦеныТМЦ.Наименование = СокрЛП(СпрЦеныТМЦ.Наименование)+" "+Цена; |
|||
19
Standart
10.08.16
✎
15:06
|
Ёпрст- Спасибо. А что делать с ошибкой? Изменено Наименование! Может быть нарушена последовательность выборки!
|
|||
20
Garykom
гуру
10.08.16
✎
15:09
|
(19) ПорядокКодов
|
|||
21
Garykom
гуру
10.08.16
✎
15:10
|
(20)+ Но правильнее выборка в ТЗ и обработка этой ТЗ уже пофиг на последовательность тогда
|
|||
22
Standart
10.08.16
✎
17:02
|
а вот так я сделал Наименование
Процедура Выполнить() перем цена; СпрЦеныТМЦ=СоздатьОбъект("Справочник.ЦеныТМЦ"); СпрЦеныТМЦ.ПорядокКодов(); СпрЦеныТМЦ.ВыбратьЭлементы(); Пока СпрценыТМЦ.ПолучитьЭлемент()=1 Цикл Наименование= СпрЦеныТМЦ.ТекущийЭлемент().цена; СпрценыТМЦ.Наименование=Наименование; СпрценыТМЦ.Записать(); КонецЦикла; СпрЦеныТМЦ = СоздатьОбъект("Справочник.ЦеныТМЦ"); СпрЦеныТМЦ = СоздатьОбъект("Справочник.ЦеныТМЦ"); СпрЦеныТМЦ.ВыбратьЭлементы(); Пока СпрЦеныТМЦ.ПолучитьЭлемент() = 1 Цикл Если СпрЦеныТМЦ.НайтиЭлемент(СпрЦеныТМЦ.ТекущийЭлемент()) = 1 Тогда СпрЦеныТМЦ.Наименование = Наименование+цена; КонецЕслИ; КонецЦикла; ПРедупреждение("Обработка завершена"); КонецПроцедуры отработала на ура!!! |
|||
23
Garykom
гуру
10.08.16
✎
17:06
|
(22) Открой для себя http://catalog.mista.ru/public/15540/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |