|
Подскажите насчет ПП в БП 1.6! | ☑ | ||
---|---|---|---|---|
0
sapravka
14.09.12
✎
21:56
|
Здравствуйте!
Подскажите насчет ПП в БП 1.6: А именно – необходимо убрать в назначение платежа сумму платежа, то есть что бы сумма платежа вообще там не стояла, а то получается когда вводишь сумму в платежке, данная сумма автоматический отображается в назначении платежа... Может быть это можно сделать как то в программе? Я искал, но так и не нашел... И залез в конфигуратор, нашел: Процедура СформироватьНазначениеПлатежа(ТолькоСумму = Ложь) Если ВидОперации = Перечисления.ВидыОперацийППИсходящее.ПеречислениеНалога Тогда Если НЕ ТолькоСумму Тогда НазначениеПлатежа = СчетКонтрагента.ТекстНазначения; КонецЕсли; Возврат; КонецЕсли; Если НЕ ТолькоСумму Тогда Если НЕ СчетКонтрагента.Пустая() И ЗначениеЗаполнено(СчетКонтрагента.ТекстНазначения) Тогда ТекстНазначение = СчетКонтрагента.ТекстНазначения; Иначе МассивДоговоров = Новый Массив; Для каждого СтрокаРасшифровки Из РасшифровкаПлатежа Цикл Если ЗначениеЗаполнено(СтрокаРасшифровки.ДоговорКонтрагента) И МассивДоговоров.Найти(СтрокаРасшифровки.ДоговорКонтрагента) = Неопределено Тогда МассивДоговоров.Добавить(СтрокаРасшифровки.ДоговорКонтрагента); КонецЕсли; КонецЦикла; Если ВидОперации = Перечисления.ВидыОперацийППИсходящее.ВозвратДенежныхСредствПокупателю Тогда ТекстОплата = "Возврат оплаты "; Иначе ТекстОплата = "Оплата "; КонецЕсли; Если МассивДоговоров.Количество() = 0 Тогда ТекстНазначение = ТекстОплата + "по договору "; ИначеЕсли МассивДоговоров.Количество() = 1 Тогда ТекстНазначение = ТекстОплата + "по договору " + МассивДоговоров[0]; Иначе ТекстНазначение = ТекстОплата + "по договорам: "; Для каждого ЭлементМассива Из МассивДоговоров Цикл ТекстНазначение = ТекстНазначение + ЭлементМассива + ", "; КонецЦикла; ТекстНазначение = Лев(ТекстНазначение, СтрДлина(ТекстНазначение) - 2); КонецЕсли; КонецЕсли; Иначе ПозицияСуммы = Найти(НазначениеПлатежа, "Сумма "); Если ПозицияСуммы = 0 Тогда ТекстНазначение = НазначениеПлатежа; Иначе ТекстНазначение = Лев(НазначениеПлатежа, ПозицияСуммы - 1); КонецЕсли; Если Прав(ТекстНазначение, 1) = Символы.ПС Тогда ТекстНазначение = Лев(ТекстНазначение, СтрДлина(ТекстНазначение) - 1); КонецЕсли; КонецЕсли; ТекстСумма = "Сумма " + Формат(СуммаДокумента, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧН=0-00; ЧГ="); ТекстНДС = ""; ТабНДС = РасшифровкаПлатежа.Выгрузить(); ТабНДС.Свернуть("СтавкаНДС","СуммаНДС"); Для Каждого СтрокаНДС ИЗ ТабНДС цикл ТекстНДС = ТекстНДС + ?(ПустаяСтрока(ТекстНДС), "", ", "); Если НЕ ЗначениеЗаполнено(СтрокаНДС.СтавкаНДС) ИЛИ СтрокаНДС.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда ТекстНДС = ТекстНДС + "Без налога (НДС)"; Иначе ТекстНДС = ТекстНДС + "НДС(" + СтрокаНДС.СтавкаНДС + ") " + Формат(СтрокаНДС.СуммаНДС, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧН=0-00; ЧГ="); КонецЕсли; КонецЦикла; //Вторая строчка (после НазначениеПлатежа = ТекстНазначение + Символы.ПС) такая: //+ ТекстСумма + Символы.ПС // закоментированная мною НазначениеПлатежа = ТекстНазначение + Символы.ПС //+ ТекстСумма + Символы.ПС + ?(ТабНДС.Итог("СуммаНДС") > 0, "В т.ч. ", "") + ТекстНДС; КонецПроцедуры // СформироватьНазначениеПлатежа() И там закомментировал строчку (//+ ТекстСумма + Символы.ПС): НазначениеПлатежа = ТекстНазначение + Символы.ПС //+ ТекстСумма + Символы.ПС + ?(ТабНДС.Итог("СуммаНДС") > 0, "В т.ч. ", "") + ТекстНДС; но теперь получается, что когда вводишь сумму повторно вводиться Без налога (НДС) или сумма НДС – короче в зависимости от того, что выбрано в ставке НДС и если редактируешь, то есть сколько раз добавляешь/меняешь/изменяешь сумму – столько раз добавляется надпись Без налога (НДС) (или ставка НДС - в зависимости от того, что выбрано в ставке НДС) старые строчки не удаляются, а добавляются – подскажите пожалуйста : Как убрать дублирование (добавление) этих строк? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |