|
Вычисление Всего в док. реализация товаров | ☑ | ||
---|---|---|---|---|
0
amadeus2010
21.08.14
✎
15:08
|
Добрый день, не подскажите как можно получить итоговую сумму за вычетом скидки в документе реализация товаров. Конфигурация УТ 10.3
//////////////////////////////////////////////////////////////////// Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) // SIP-DIMA СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные; Если СтрокаТабличнойЧасти.Сумма>= 500 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма*0.03; ИначеЕсли СтрокаТабличнойЧасти.Сумма>= 300 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма* 0.02; ИначеЕсли СтрокаТабличнойЧасти.Сумма>= 150 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма* 0.01; КонецЕсли; ДанныеСтроки.Скидка= СтрокаТабличнойЧасти.Скидка; Если мКолонкиТовары.Всего.Видимость Тогда ОформлениеСтроки.Ячейки.Всего.УстановитьТекст(ОбщегоНазначения.ФорматСумм(ДанныеСтроки.Сумма + ?(СуммаВключаетНДС, 0, ДанныеСтроки.СуммаНДС)-ДанныеСтроки.Скидка)); КонецЕсли; РаботаСДиалогами.ПоказатьКоэффициентМест(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.ЕдиницаИзмеренияМест); РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура); РаботаСДиалогами.ПоказатьСуммуБезСкидок(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Цена, ДанныеСтроки.Количество); Если ЗначениеЗаполнено(ДанныеСтроки.СерияНоменклатуры) Тогда Если мКолонкиТовары.НомерГТД.Видимость Тогда ОформлениеСтроки.Ячейки.НомерГТД.УстановитьТекст(ДанныеСтроки.СерияНоменклатуры.НомерГТД); КонецЕсли; Если мКолонкиТовары.СтранаПроисхождения.Видимость Тогда ОформлениеСтроки.Ячейки.СтранаПроисхождения.УстановитьТекст(ДанныеСтроки.СерияНоменклатуры.СтранаПроисхождения); КонецЕсли; КонецЕсли; //РасчетСкидки(); КонецПроцедуры // ТоварыПриВыводеСтроки() ////////////////////////////////////////////////////////////////// в ТЧ производится расчет колонки Всего исходя из скидки, а в подвале Всего остается старая сумма. |
|||
1
Apokalipsec
21.08.14
✎
15:10
|
Процедура ОбновлениеОтображения()
//тут расчитываешь всего |
|||
2
amadeus2010
21.08.14
✎
15:44
|
(1) выдает ошибку что СтрокаТЧ.Скидка не является значением объектного типа
|
|||
3
amadeus2010
21.08.14
✎
17:17
|
в этой процедуре я пытаюсь в Формат Сумм добавить вычисление Скидки, при этом в ТЧ поле всего вычисляется правильно а в подвале Всего остается по Сумме
////////////////////////////////////////////////////////// Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) // SIP-DIMA СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные; Если СтрокаТабличнойЧасти.Сумма>= 500 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма*0.03; ИначеЕсли СтрокаТабличнойЧасти.Сумма>= 300 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма* 0.02; ИначеЕсли СтрокаТабличнойЧасти.Сумма>= 150 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма* 0.01; КонецЕсли; ДанныеСтроки.Скидка= СтрокаТабличнойЧасти.Скидка; Если мКолонкиТовары.Всего.Видимость Тогда ОформлениеСтроки.Ячейки.Всего.УстановитьТекст(ОбщегоНазначения.ФорматСумм(ДанныеСтроки.Сумма - ДанныеСтроки.Скидка + ?(СуммаВключаетНДС, 0, ДанныеСтроки.СуммаНДС))) КонецЕсли; РаботаСДиалогами.ПоказатьКоэффициентМест(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.ЕдиницаИзмеренияМест); РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура); РаботаСДиалогами.ПоказатьСуммуБезСкидок(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Цена, ДанныеСтроки.Количество); Если ЗначениеЗаполнено(ДанныеСтроки.СерияНоменклатуры) Тогда Если мКолонкиТовары.НомерГТД.Видимость Тогда ОформлениеСтроки.Ячейки.НомерГТД.УстановитьТекст(ДанныеСтроки.СерияНоменклатуры.НомерГТД); КонецЕсли; Если мКолонкиТовары.СтранаПроисхождения.Видимость Тогда ОформлениеСтроки.Ячейки.СтранаПроисхождения.УстановитьТекст(ДанныеСтроки.СерияНоменклатуры.СтранаПроисхождения); КонецЕсли; КонецЕсли; //РасчетСкидки(); КонецПроцедуры // ТоварыПриВыводеСтроки() ///////////////////////////////////////////////////////// может что делаю не так подскажите если кто знает |
|||
4
amadeus2010
21.08.14
✎
17:51
|
есть кто
|
|||
5
amadeus2010
21.08.14
✎
18:15
|
народ?
|
|||
6
Enders
21.08.14
✎
18:46
|
(3) А где ты меняешь подвал? что-то не наблюдаю.
|
|||
7
Enders
21.08.14
✎
18:48
|
В конце добавь что-то типо
ТвойПодвал=ТвояТЧ.Итог("Всего"); |
|||
8
amadeus2010
22.08.14
✎
09:40
|
(7) добавил такой код СуммаДокумента =Товары.Итог("Всего");
вышла ошибка {Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента(2687)}: Ошибка при вызове метода контекста (Итог) СуммаДокумента = Товары.Итог("Всего"); по причине: Недопустимое значение параметра (параметр номер '1') (Колонка не принадлежит коллекции) |
|||
9
Галахад
гуру
22.08.14
✎
10:03
|
Если НДС в сумме
СуммаДокумента = Товары.Итог("Сумма"); Если НДС сверху СуммаДокумента = Товары.Итог("Сумма") + Товары.Итог("СуммаНДС"); |
|||
10
Enders
22.08.14
✎
10:11
|
(9) Скидку забыл вычесть)
СуммаДокумента = Товары.Итог("Сумма")-Товары.Итог("Скидка") + ?(СуммаВключаетНДС, 0, Товары.Итог("СуммаНДС")); |
|||
11
amadeus2010
22.08.14
✎
10:31
|
хочу уточнить может я не туда добавил код
//////////////////////////////////////////////////////////// Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) // SIP-DIMA СтрокаТабличнойЧасти = ЭлементыФормы.Товары.ТекущиеДанные; Если СтрокаТабличнойЧасти.Сумма>= 500 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма*0.03; ИначеЕсли СтрокаТабличнойЧасти.Сумма>= 300 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма* 0.02; ИначеЕсли СтрокаТабличнойЧасти.Сумма>= 150 Тогда СтрокаТабличнойЧасти.Скидка = СтрокаТабличнойЧасти.Сумма* 0.01; КонецЕсли; ДанныеСтроки.Скидка= СтрокаТабличнойЧасти.Скидка; Если мКолонкиТовары.Всего.Видимость Тогда ОформлениеСтроки.Ячейки.Всего.УстановитьТекст(ОбщегоНазначения.ФорматСумм(ДанныеСтроки.Сумма - ДанныеСтроки.Скидка + ?(СуммаВключаетНДС, 0, ДанныеСтроки.СуммаНДС))) КонецЕсли; СуммаДокумента = Товары.Итог("Сумма")-Товары.Итог("Скидка") + ?(СуммаВключаетНДС, 0, Товары.Итог("СуммаНДС")); РаботаСДиалогами.ПоказатьКоэффициентМест(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.ЕдиницаИзмеренияМест); РаботаСДиалогами.ПоказатьКодАртикул(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Номенклатура); РаботаСДиалогами.ПоказатьСуммуБезСкидок(мКолонкиТовары, ОформлениеСтроки.Ячейки, ДанныеСтроки.Цена, ДанныеСтроки.Количество); Если ЗначениеЗаполнено(ДанныеСтроки.СерияНоменклатуры) Тогда Если мКолонкиТовары.НомерГТД.Видимость Тогда ОформлениеСтроки.Ячейки.НомерГТД.УстановитьТекст(ДанныеСтроки.СерияНоменклатуры.НомерГТД); КонецЕсли; Если мКолонкиТовары.СтранаПроисхождения.Видимость Тогда ОформлениеСтроки.Ячейки.СтранаПроисхождения.УстановитьТекст(ДанныеСтроки.СерияНоменклатуры.СтранаПроисхождения); КонецЕсли; КонецЕсли; КонецПроцедуры // ТоварыПриВыводеСтроки() ///////////////////////////////////////////////////////// но в подвале документа Всего не высчитывается с учетом скидки |
|||
12
salvator
22.08.14
✎
10:37
|
А где ты в подвал пишешь?
|
|||
13
amadeus2010
22.08.14
✎
10:49
|
пардон не туда пишу код, надо в процедуру ОбновитьПодвал()
ЭлементыФормы.ВсегоНДС.Значение = ОбщегоНазначения.ФорматСумм(Товары.Итог("СуммаНДС")+Услуги.Итог("СуммаНДС")); ЭлементыФормы.Всего.Значение = Товары.Итог("Сумма")-Товары.Итог("Скидка") + ?(СуммаВключаетНДС, 0, Товары.Итог("СуммаНДС")); |
|||
14
amadeus2010
22.08.14
✎
10:50
|
теперь все получилось, спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |