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

Новая тема
Показывать по сообщений
"1с 7.7<br>Есть документ в табличной части указаны цены.<br>как из внешней обработки установить Цена=Цена*коэфф и записать док?<br><br>Такой код:<br>Док1.ВыбратьСтроки();<br>  Пока  Док1.ПолучитьСтроку()=1 цикл<br>   Ц1=Док1.ПолучитьАтрибут("Цена"); <br>   Ц2=Ц1*Коэфф;<br>   Док1.УстановитьАтрибут("Цена",Ц2);<br>КонецЦикла;<br><br>Не работает. Вернее работает но цена в документе не меняется(<br>"
в обработке есть ТЗ соответствующая ТЧ дока ?
можно расшифровать ТЗ и ТЧ?)
ТЗ - Таблица Значения в обработке<br>ТЧ - Табличная Часть документа
нет наверное. а как они выглядят?<br><br>там выше весь код. Док1 выбирается из реквизита диалога. и все.
показывай внешнюю обработку
"//*******************************************<br>//Док1 это поле ввода<br><br>Процедура Сформировать()<br>  <br>  Если ПустоеЗначение(Док1)=1 Тогда<br>   Предупреждение("Документ не задан");<br>   Возврат;<br>  КонецЕсли;<br>  <br>  Если Док1.Проведен()=1 Тогда<br>   Предупреждение("Документ проведен. Данная операция возможна только на непроведенном документе.");<br>   Возврат;<br>  КонецЕсли; <br>  <br>  Док1.ВыбратьСтроки();<br> Пока  Док1.ПолучитьСтроку()=1 цикл<br>   Ц1=Док1.ПолучитьАтрибут("Цена"); <br>   Ц2=Ц1*Коэфф;<br>   Док1.УстановитьАтрибут("Цена",Ц2);<br> КонецЦикла;<br><br>КонецПроцедуры<br><br><br>Коэфф=2<br>"
1. ужас, ничего не понял<br>2. почему проведенный нельзя изменять?<br>3. что такое Коэфф
1. а что не понятно ?<br>2. что бы случайно в проведенном доке не поменять цены.<br>3. коэфф это коэффициент на который надо изменить цену в документе по всем строкам.<br><br>ну короче в табличной части дока были <br>яблоки по 10 р<br>груши по 20 р<br>надо умножить на коэфф=2<br>получим<br>яблоки 20р<br>груши 40 р
"Процедура Сформировать()<br> <br> Если ПустоеЗначение(Док1)=1 Тогда<br>  Предупреждение("Документ не задан");<br>  Возврат;<br> КонецЕсли;<br> <br> Если Док1.Проведен()=1 Тогда<br>  Предупреждение("Документ проведен. Данная операция возможна только на непроведенном документе.");<br>  Возврат;<br> КонецЕсли;<br>  <br>  Док2 = СоздатьОбъект("Документ."+Док1.Вид());<br>  Док2.НайтиДокумент(Док1.ТекущийДокумент());<br> <br> Док2.ВыбратьСтроки();<br>Пока  Док2.ПолучитьСтроку()=1 цикл<br>  Ц1=Док2.ПолучитьАтрибут("Цена");<br>  Ц2=Ц1*Коэфф;<br>  Док2.УстановитьАтрибут("Цена",Ц2);<br>КонецЦикла;<br>  Док2.Записать();<br><br>//аплодисменты ! =)<br><br>КонецПроцедуры"

Читают тему

(гостей: 1)

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