sbot
|
|
1 | |
метод УстановитьАтрибут()23.11.2008, 14:43. Показов 23454. Ответов 11
Метки нет (Все метки)
Всем привет!
При попытке вызова след метода: Код
ТекРег.УстановитьАтрибут("Номенклатура", НовоеЗначение); |
23.11.2008, 14:43 | |
Ответы с готовыми решениями:
11
СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя Написать три алгоритма решения СЛАУ: Метод прогонки, метод квадратных корней, метод вращений Метод медиан из трех элементов VS улучшенный быстрый метод сортировки(метод Бентли-Макилроя) Мой код - метод бисекции, метод секущих (метод хорд) |
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
23.11.2008, 18:03 | 2 |
А БЫЛО ЛИ СДЕЛАНО ПРЕДВАРИТЕЛЬНО
ТекРег= CreateObject("Register.Остатки"); // или какой-то там регистр ? Если да, работать будет 100% !
0
|
sbot
|
|
24.11.2008, 10:05 | 3 |
Сообщение от vbs
Код
ТекРег = СоздатьОбъект("Регистр.ТестРег"); ТекРег.ВыбратьДвиженияДокумента(Док); Пока ТекРег.ПолучитьДвижение()=1 Цикл Если ТекРег.ПолучитьАтрибут("Номенклатура") = СтароеЗначение Тогда ТекРег.УстановитьАтрибут("Номенклатура", НовоеЗначение); // ошибка: Действие не доступно! КонецЕсли; конецЦикла; |
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
|
|
24.11.2008, 11:35 | 4 |
Интересно - мож быть дело в том что запускается не из модуля документа? а то действия по изменению регистров возможны вроде только из него.
0
|
sbot
|
|
24.11.2008, 13:16 | 5 |
Сообщение от puh14
А вообще я пробовал и в модуле документа и обработкой - результат один - вылетает с ошибкой. |
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
|
|
24.11.2008, 13:57 | 6 |
Ну что я могу сказать...
тут вариантов совсем немного: 1. Либо наименование атрибута задано неверно. 2. Либо значение пытаетесь не того типа запихать. 3. Либо все творите НЕ в модуле проведения документа. Всякие там СоздатьОбъект тут не при чем. Движения по регистру могут быть произведены исключительно в модуле документа. Ну или прямым запросами, но крайне сложно. Теоретически, в вашем случае, если рассматривать контекст модуля проведения, должно быть так: Код
ТекРег = СоздатьОбъект("Регистр.ТестРег"); ТекРег.ВыбратьДвиженияДокумента(Док); Пока ТекРег.ПолучитьДвижение()=1 Цикл Если ТекРег.ПолучитьАтрибут("Номенклатура") = СтароеЗначение Тогда Регистр.ТестРег.УстановитьАтрибут("Номенклатура", НовоеЗначение); Иначе //тут какие-то действия КонецЕсли; Регистр.ТестРег.ДвижениеПриход... конецЦикла;
0
|
sbot
|
|
24.11.2008, 14:15 | 7 |
Сообщение от vitfil
1) исключено, так как в ином случае не выполнялось бы условие "Если ТекРег.ПолучитьАтрибут("Номенклатура") = СтароеЗначение Тогда" 2) тоже исключено, так как я пытался даже так написать "Регистр.ТестРег.УстановитьАтрибут("Номенклатура", СтароеЗначение);" - тот же результат. 3) именно в модуле проведения, т е код выглядит таким образом: Код
Процедура ОбработкаПроведения() ТекРег = СоздатьОбъект("Регистр.ТестРег"); ТекРег.ВыбратьДвиженияДокумента(Док); Пока ТекРег.ПолучитьДвижение()=1 Цикл Если ТекРег.ПолучитьАтрибут("Номенклатура") = СтароеЗначение Тогда ТекРег.УстановитьАтрибут("Номенклатура", НовоеЗначение); // ошибка: Действие не доступно! КонецЕсли; конецЦикла; конецПроцедуры |
sbot
|
|
24.11.2008, 15:22 | 8 |
В общем проблема решилась заменой
Код
ТекРег.УстановитьАтрибут("Номенклатура", НовоеЗначение); Код
Регистр.ТестРег.УстановитьАтрибут("Номенклатура", НовоеЗначение); |
2 / 2 / 0
Регистрация: 06.11.2012
Сообщений: 9
|
|
25.11.2008, 13:21 | 9 |
видимо просто не работает через СоздатьОбъект()
0
|
0 / 0 / 0
Регистрация: 28.03.2004
Сообщений: 1,913
|
|
25.11.2008, 19:13 | 10 |
has
Ну так а я в своем коде разве что-то иное написал? cbat Решилось у вас именно так как я и написал! Внимательней надо читать то, что вам пишут. Я еще раз повторюсь: движения в регистр (установку значений реквизитов и т.д.) делает документ. Для регистров, созданных через СоздатьОбъект допускается ТОЛЬКО чтение значений.
0
|
2 / 2 / 0
Регистрация: 06.11.2012
Сообщений: 9
|
|
26.11.2008, 07:10 | 11 |
vitfil Неправильно прочитал просто ;)
0
|
sbot
|
|
26.11.2008, 08:11 | 12 |
vitfil Действительно, не заметил
|
26.11.2008, 08:11 | |
26.11.2008, 08:11 | |
Помогаю со студенческими работами здесь
12
Метод хорд, метод касательных, метод половинного деления Аналитический метод, метод половинного деления и метод итераций Метод прямоугольников, метод Симпсона, метод трапеций Метод итерации и метод Ньютона (метод касательных) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |