Имя: Пароль:
1C
1С v8
Нельзя изменять поле, содержащее объект данных формы
0 AnisaL
 
08.08.19
12:59
Добрый день!
Скажите пожалуйста, такая ошибка: {UDS_GAME Документ.ЧекККМ.Форма.ФормаДокумента_РМК.Форма(328)}: Ошибка при установке значения атрибута контекста (Запасы)
    ЗаполнитьСуммуВсегоВТаблице(Объект.Запасы, Объект.СуммаВключаетНДС);
по причине:
Нельзя изменять поле, содержащее объект данных формы
Что делать?
1 Кац
 
08.08.19
13:00
(0) Что делать?

Не изменять поле содержащее объект данных формы
2 RomanYS
 
08.08.19
13:01
(0) Сделать ЗаполнитьСуммуВсегоВТаблице контектсной и не передавать туда Объект.Запасы, оно и так будет доступно в контексте
3 AnisaL
 
08.08.19
13:02
(2) а как сделать контекстной?
4 hhhh
 
08.08.19
13:03
(3) показывайте уже вашу функцию
5 Кац
 
08.08.19
13:04
&НаСервере
ЗаполнитьСуммуВсегоВТаблице()
6 AnisaL
 
08.08.19
13:08
(4) // Заполняет поле СуммаВсего в зависимости от признака включения НДС в цену.
//
// Параметры:
// Таблица         - ДанныеФормыКоллекция - Таблица, в которой необходимо заполнить колонку СуммаВсего.
// ЦенаВключаетНДС - Булево - признак включения НДС в цену.
//
Процедура ЗаполнитьСуммуВсегоВТаблице(Таблица, ЦенаВключаетНДС) Экспорт
    
    Для Каждого СтрокаТаблицы Из Таблица Цикл
        ЗаполнитьСуммуВсегоВСтрокеТаблицы(СтрокаТаблицы, ЦенаВключаетНДС);
    КонецЦикла;
    
КонецПроцедуры // ЗаполнитьСуммуВсегоВТаблице()
7 AnisaL
 
08.08.19
13:16
(2) все-таки как сделать контекстной?
8 RomanYS
 
08.08.19
13:20
(7) смотри (5)
Но в данном случае не поможет (слишком универсальная функция). Твоя функция проста, сделай её &НаКлиенте вместе с ЗаполнитьСуммуВсегоВСтрокеТаблицы
9 AnisaL
 
08.08.19
14:44
(8) я сделала функцию без параметров, и вот такой:
&НаСервере
Процедура ЗаполнитьСуммуВсегоВТаблице()
    
    Для Каждого СтрокаТаблицы Из Объект.Запасы Цикл
        ЗаполнитьСуммуВсегоВСтрокеТаблицы(СтрокаТаблицы, Объект.СуммаВключаетНДС);
    КонецЦикла;
    
КонецПроцедуры

ЗаполнитьСуммуВсегоВСтрокеТаблицы тоже сделала &НаСервере
10 RomanYS
 
08.08.19
14:48
(9) Это и имелось в виду в (2), но процедура сталане универсальной.
Проще (и вероятно правильнее) делать такие (простые) расчеты на клиенте - проблема вообще не возникла бы.
11 hhhh
 
08.08.19
15:15
(9) оно и было на сервере. Потому что если ничего не указано, значит на сервере. То есть и было на сервере, и ты указала на сервере, ничего не изменилось.
12 RomanYS
 
08.08.19
15:18
(11) >> ничего не изменилось.
изменялись параметры, их больше нет
13 palsergeich
 
08.08.19
15:23
Настало время рефакторинга
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс