1с 7.7 Обработка табличной части документа
Показывать по
10
20
40
сообщений
- 1
- 2
13.10.2010
23:55
#1
"1с 7.7
Есть документ в табличной части указаны цены.
как из внешней обработки установить Цена=Цена*коэфф и записать док?
Такой код:
Док1.ВыбратьСтроки();
Пока Док1.ПолучитьСтроку()=1 цикл
Ц1=Док1.ПолучитьАтрибут("Цена");
Ц2=Ц1*Коэфф;
Док1.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;
Не работает. Вернее работает но цена в документе не меняется(
"
Есть документ в табличной части указаны цены.
как из внешней обработки установить Цена=Цена*коэфф и записать док?
Такой код:
Док1.ВыбратьСтроки();
Пока Док1.ПолучитьСтроку()=1 цикл
Ц1=Док1.ПолучитьАтрибут("Цена");
Ц2=Ц1*Коэфф;
Док1.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;
Не работает. Вернее работает но цена в документе не меняется(
"
14.10.2010
00:14
#5
нет наверное. а как они выглядят?
там выше весь код. Док1 выбирается из реквизита диалога. и все.
там выше весь код. Док1 выбирается из реквизита диалога. и все.
14.10.2010
00:32
#7
"//*******************************************
//Док1 это поле ввода
Процедура Сформировать()
Если ПустоеЗначение(Док1)=1 Тогда
Предупреждение("Документ не задан");
Возврат;
КонецЕсли;
Если Док1.Проведен()=1 Тогда
Предупреждение("Документ проведен. Данная операция возможна только на непроведенном документе.");
Возврат;
КонецЕсли;
Док1.ВыбратьСтроки();
Пока Док1.ПолучитьСтроку()=1 цикл
Ц1=Док1.ПолучитьАтрибут("Цена");
Ц2=Ц1*Коэфф;
Док1.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;
КонецПроцедуры
Коэфф=2
"
//Док1 это поле ввода
Процедура Сформировать()
Если ПустоеЗначение(Док1)=1 Тогда
Предупреждение("Документ не задан");
Возврат;
КонецЕсли;
Если Док1.Проведен()=1 Тогда
Предупреждение("Документ проведен. Данная операция возможна только на непроведенном документе.");
Возврат;
КонецЕсли;
Док1.ВыбратьСтроки();
Пока Док1.ПолучитьСтроку()=1 цикл
Ц1=Док1.ПолучитьАтрибут("Цена");
Ц2=Ц1*Коэфф;
Док1.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;
КонецПроцедуры
Коэфф=2
"
14.10.2010
00:37
#8
1. ужас, ничего не понял
2. почему проведенный нельзя изменять?
3. что такое Коэфф
2. почему проведенный нельзя изменять?
3. что такое Коэфф
14.10.2010
00:41
#9
1. а что не понятно ?
2. что бы случайно в проведенном доке не поменять цены.
3. коэфф это коэффициент на который надо изменить цену в документе по всем строкам.
ну короче в табличной части дока были
яблоки по 10 р
груши по 20 р
надо умножить на коэфф=2
получим
яблоки 20р
груши 40 р
2. что бы случайно в проведенном доке не поменять цены.
3. коэфф это коэффициент на который надо изменить цену в документе по всем строкам.
ну короче в табличной части дока были
яблоки по 10 р
груши по 20 р
надо умножить на коэфф=2
получим
яблоки 20р
груши 40 р
14.10.2010
00:48
#10
"Процедура Сформировать()
Если ПустоеЗначение(Док1)=1 Тогда
Предупреждение("Документ не задан");
Возврат;
КонецЕсли;
Если Док1.Проведен()=1 Тогда
Предупреждение("Документ проведен. Данная операция возможна только на непроведенном документе.");
Возврат;
КонецЕсли;
Док2 = СоздатьОбъект("Документ."+Док1.Вид());
Док2.НайтиДокумент(Док1.ТекущийДокумент());
Док2.ВыбратьСтроки();
Пока Док2.ПолучитьСтроку()=1 цикл
Ц1=Док2.ПолучитьАтрибут("Цена");
Ц2=Ц1*Коэфф;
Док2.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;
Док2.Записать();
//аплодисменты ! =)
КонецПроцедуры"
Если ПустоеЗначение(Док1)=1 Тогда
Предупреждение("Документ не задан");
Возврат;
КонецЕсли;
Если Док1.Проведен()=1 Тогда
Предупреждение("Документ проведен. Данная операция возможна только на непроведенном документе.");
Возврат;
КонецЕсли;
Док2 = СоздатьОбъект("Документ."+Док1.Вид());
Док2.НайтиДокумент(Док1.ТекущийДокумент());
Док2.ВыбратьСтроки();
Пока Док2.ПолучитьСтроку()=1 цикл
Ц1=Док2.ПолучитьАтрибут("Цена");
Ц2=Ц1*Коэфф;
Док2.УстановитьАтрибут("Цена",Ц2);
КонецЦикла;
Док2.Записать();
//аплодисменты ! =)
КонецПроцедуры"
- 1
- 2
IMPORT БД в SQL2005 64 разр из SQL2000 32 разрКак скачать классификаторами адресов для 1С бухгатерия 8
Читают тему
(гостей: 1)