|
v7: Самопроизвольно изменяется переменная. Кто позволил?! | ☑ | ||
---|---|---|---|---|
0
NDIS HH
16.01.13
✎
08:27
|
Процедура ОбрВыбЧисло()
СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура"); СпрНоменклатура.НайтиПоКоду(Код); РознЦена = СоздатьОбъект("Справочник.Цены"); РознЦена.ИспользоватьВладельца(СпрНоменклатура); РознЦена.ВыбратьЭлементы(); БылаРознЦена = 0; ТекущаяЦена = 0; Пока РознЦена.ПолучитьЭлемент() = 1 Цикл Если РознЦена.ТипЦен = Константа.РозничныйТипЦен Тогда БылаРознЦена = 1; ТекущаяЦена = РознЦена; КонецЕсли; КонецЦикла; Если И в этот момент "Текущая цена" становится пустой ссылкой на справочник "Цены". Как такое может быть? Как в 7.7 сделать РознЦена.Ссылка? |
|||
1
chelentano
16.01.13
✎
08:30
|
ТекущаяЦена = РознЦена.ТекущийЭлемент() ?
|
|||
2
cw014
16.01.13
✎
08:31
|
Ну дак так и должно быть
Наверное ты хотел сделать: ТекущаяЦена = РознЦена.Цена.Получить(ТекущаяДата()); |
|||
3
NDIS HH
16.01.13
✎
08:38
|
(1) Это вместо .ссылка? Но это не совсем то, в 8 всё-таки удобнее ;)
А в данном случае ТекущаяЦена = РознЦена.ТекущийЭлемент(); КонецЕсли; КонецЦикла; Если БылаРознЦена = 1 Тогда ТекущаяЦена.Цена.Установить(ТекущаяДата(), ВыбЧисло); ТекущаяЦена.Цена.Установить(ТекущаяДата(), ВыбЧисло); {Справочник.Номенклатура.Форма.Модуль(1364)}: Недопустимая операция |
|||
4
cw014
16.01.13
✎
08:40
|
(3)
СпрЦены = СоздатьОбъект("Справочник.Цены"); СпрЦены.НайтиЭлемент(ТекущаяЦена); СпрЦены.Цена.Установить(ТекущаяДата(), ВыбЧисло); |
|||
5
cw014
16.01.13
✎
08:40
|
(3) Учи матчасть
|
|||
6
NDIS HH
16.01.13
✎
08:42
|
(2) ТекущаяЦена - должна быть элементом справочника "Цены" (у которого есть реквизит "цена"). Ссылка получается нормальная. Но потом, при выходе из цикла ссылка меняется на пустую.
|
|||
7
cw014
16.01.13
✎
08:44
|
Процедура ОбрВыбЧисло()
СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура"); СпрНоменклатура.НайтиПоКоду(Код); РознЦена = СоздатьОбъект("Справочник.Цены"); РознЦена.ИспользоватьВладельца(СпрНоменклатура); РознЦена.ВыбратьЭлементы(); БылаРознЦена = 0; ТекущаяЦена = 0; Пока РознЦена.ПолучитьЭлемент() = 1 Цикл Если РознЦена.ТипЦен = Константа.РозничныйТипЦен Тогда БылаРознЦена = 1; ТекущаяЦена = РознЦена.ТекущийЭлемент(); Прервать; КонецЕсли; КонецЦикла; Если БылаРознЦена = 1 Тогда РознЦена.НайтиЭлемент(ТекущаяЦена); РознЦена.Цена.Установить(ТекущаяДата(), ВыбЧисло); |
|||
8
cw014
16.01.13
✎
08:45
|
Спасибо не надо, можно на пиво кинуть на телефон :)
"Прервать;" убери, я чего то тупанул |
|||
9
ЧеловекДуши
16.01.13
✎
08:45
|
(6)Если должен, то познай для себя слово "Периодический реквизит" :)
Гугл в помощь |
|||
10
ЧеловекДуши
16.01.13
✎
08:46
|
(8)Думается это он и так имел, ему нужны квадратные колёса :)
|
|||
11
NDIS HH
16.01.13
✎
08:47
|
(4) А! Выборка исчерпывается и объект становится "пустым" - всё правильно. Спасибо, ступил.
ЧеловекДуши, моя проблема была не в периодических реквизитах, но спасибо за участие. |
|||
12
NDIS HH
16.01.13
✎
09:01
|
(8) Для меня "Прервать" в теиу - мне нужен только первый найденный.
Мне просто после КонецЦикла надо было повторить РознЦена.ВыбратьЭлементы(); И всё. P.S. У вас только аська. ;) |
|||
13
cw014
16.01.13
✎
09:09
|
(12) А еще почта :)
|
|||
14
cw014
16.01.13
✎
09:09
|
(12) Но впринципе написать можно и туда и туда
|
|||
15
monsterZE
16.01.13
✎
09:24
|
>Мне просто после КонецЦикла надо было повторить РознЦена.ВыбратьЭлементы();
=) кул |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |