1с 7.7 Обработка табличной части документа

Новая тема
Показывать по 10 20 40 сообщений
"1с 7.7
Есть документ в табличной части указаны цены.
как из внешней обработки установить Цена=Цена*коэфф и записать док?

Такой код:
Док1.ВыбратьСтроки();
 Пока  Док1.ПолучитьСтроку()=1 цикл
  Ц1=Док1.ПолучитьАтрибут("Цена");
  Ц2=Ц1*Коэфф;
  Док1.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;

Не работает. Вернее работает но цена в документе не меняется(
"
в обработке есть ТЗ соответствующая ТЧ дока ?
можно расшифровать ТЗ и ТЧ?)
ТЗ - Таблица Значения в обработке
ТЧ - Табличная Часть документа
нет наверное. а как они выглядят?

там выше весь код. Док1 выбирается из реквизита диалога. и все.
показывай внешнюю обработку
"//*******************************************
//Док1 это поле ввода

Процедура Сформировать()
 
 Если ПустоеЗначение(Док1)=1 Тогда
  Предупреждение("Документ не задан");
  Возврат;
 КонецЕсли;
 
 Если Док1.Проведен()=1 Тогда
  Предупреждение("Документ проведен. Данная операция возможна только на непроведенном документе.");
  Возврат;
 КонецЕсли;
 
 Док1.ВыбратьСтроки();
Пока  Док1.ПолучитьСтроку()=1 цикл
  Ц1=Док1.ПолучитьАтрибут("Цена");
  Ц2=Ц1*Коэфф;
  Док1.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;

КонецПроцедуры


Коэфф=2
"
1. ужас, ничего не понял
2. почему проведенный нельзя изменять?
3. что такое Коэфф
1. а что не понятно ?
2. что бы случайно в проведенном доке не поменять цены.
3. коэфф это коэффициент на который надо изменить цену в документе по всем строкам.

ну короче в табличной части дока были
яблоки по 10 р
груши по 20 р
надо умножить на коэфф=2
получим
яблоки 20р
груши 40 р
"Процедура Сформировать()

Если ПустоеЗначение(Док1)=1 Тогда
 Предупреждение("Документ не задан");
 Возврат;
КонецЕсли;

Если Док1.Проведен()=1 Тогда
 Предупреждение("Документ проведен. Данная операция возможна только на непроведенном документе.");
 Возврат;
КонецЕсли;
 
 Док2 = СоздатьОбъект("Документ."+Док1.Вид());
 Док2.НайтиДокумент(Док1.ТекущийДокумент());

Док2.ВыбратьСтроки();
Пока  Док2.ПолучитьСтроку()=1 цикл
 Ц1=Док2.ПолучитьАтрибут("Цена");
 Ц2=Ц1*Коэфф;
 Док2.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;
 Док2.Записать();

//аплодисменты ! =)

КонецПроцедуры"
Читают тему
(гостей: 1)

Быстрый переход