|
изменение значения реквизите при работе &НаСервере | ☑ | ||
|---|---|---|---|---|
|
0
inake
12.08.11
✎
10:08
|
Всем доброго времени суток, имею дело с тонким клиентом, необходимо в результате выполнения команды поменять значение одного из реквизитов отобранных в запросе документов.
вот текст &НаКлиенте Процедура ОтобратьЗаявки(Команда) ИзменениеСтатуса(); КонецПроцедуры &НаСервере Функция ИзменениеСтатуса() Запрос = Новый Запрос; Запрос.УстановитьПараметр("ПеренестиЗаявкиДо", ЭтаФорма.ПеренестиЗаявкиДо); Запрос.УстановитьПараметр("ПоступилоНаСклад", Перечисления.Статус.ПоступилоНаСклад); Запрос.Текст="ВЫБРАТЬ | Заявка1.Номер, | Заявка1.Дата, | Заявка1.Проведен, | Заявка1.Статус, | Заявка1.ПоступилоНаСклад |ИЗ | Документ.Заявка КАК Заявка1 |ГДЕ | Заявка1.Дата <= &ПеренестиЗаявкиДо | И Заявка1.Статус = &ПоступилоНаСклад"; Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Результат.Статус = СтрЗаменить(Результат.Статус, "Поступило на Склад" ,"Выписано со склада"); Результат.Статус.Записать(); КонецЦикла; КонецФункции в результате выдаёт ошибку {Документ.Заявка.Форма.ФормаСписка1.Форма(26)}: Поле объекта недоступно для записи (Статус) Результат.Статус = СтрЗаменить(Результат.Статус, "Поступило на Склад" ,"Выписано со склада"); может кто-то помочь разобраться? |
|||
|
1
butterbean
12.08.11
✎
10:11
|
надо бы объект получить по ссылке, но сначала конечно саму ссылку
|
|||
|
2
inake
12.08.11
✎
10:19
|
А как это примерно должно выглядеть?
|
|||
|
3
butterbean
12.08.11
✎
10:24
|
(2) в запросе получаешь еще Заявка1.Ссылка,
потом при переборе получаешь объект: Об = Результат.Ссылка.ПолучитьОбъект; потом меняешь у объекта реквизит Статус и потом записываешь объект |
|||
|
4
Жан Пердежон
12.08.11
✎
10:34
|
(0) тонкий клиент тут ни причем, тут элементарные вещи типа чем отличаются ДокументОбъект и ДокументСсылка.
|
|||
|
5
inake
12.08.11
✎
10:55
|
странно работает, старый статус стирает, а новый не записывает, оставляет пустым значение реквизита
|
|||
|
6
butterbean
12.08.11
✎
10:56
|
(5) код покажи, небось тип перепутал
|
|||
|
7
inake
12.08.11
✎
11:01
|
&НаСервере
Функция ИзменениеСтатуса() Запрос = Новый Запрос; Запрос.УстановитьПараметр("ПеренестиЗаявкиДо", ЭтаФорма.ПеренестиЗаявкиДо); Запрос.УстановитьПараметр("ПоступилоНаСклад", Перечисления.Статус.ПоступилоНаСклад); Запрос.Текст="ВЫБРАТЬ | Заявка1.Номер, | Заявка1.Дата, | Заявка1.Проведен, | Заявка1.Статус, | Заявка1.ПоступилоНаСклад, | Заявка1.Ссылка |ИЗ | Документ.Заявка КАК Заявка1 |ГДЕ | Заявка1.Дата <= &ПеренестиЗаявкиДо | И Заявка1.Статус = &ПоступилоНаСклад"; Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл Объект = Результат.Ссылка.ПолучитьОбъект(); Объект.Статус = СтрЗаменить(Объект.Статус, "Поступило на склад" , "Выписано со склада"); Объект.Записать(); КонецЦикла; КонецФункции |
|||
|
8
patapum
12.08.11
✎
11:04
|
Статус - тип строка?
|
|||
|
9
inake
12.08.11
✎
11:06
|
ПеречислениеСсылка.Статус
|
|||
|
10
inake
12.08.11
✎
11:26
|
всё, догнал)
|
|||
|
11
inake
12.08.11
✎
11:30
|
спасибо!
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |