|
v7: типовая "Строка оплаты" | ☑ | ||
---|---|---|---|---|
0
Масянька
17.11.17
✎
15:10
|
День добрый!
Столкнулась с интересной штуковиной... Новый док-т. Процедура ВводНового(Скопирован) УчитыватьНДС = 1; СуммаВклНДС = 1; Сообщить("! - " + УчитыватьНДС + " - " + СуммаВклНДС); глЗаполнитьШапку(Контекст, Скопирован,"Продажа"); Сообщить("1 - " + ТипЦен + " - " + ТипЦен.ЦенаВклНДС + " - " + глСтрокаОплаты(Контекст)); ПересчетСуммыВзаиморасчетов(); КонецПроцедуры // ВводНового() На выходе имеем : - УчитыватьНДС = 1 - тип цен с НДС ("галочка" ВклНДС стоит), а строке выдает "Розничные, руб. курс: 1 руб., < БЕЗ НДС >, < БЕЗ НП >" И как обойти? |
|||
1
Ёпрст
17.11.17
✎
15:12
|
и че ?
смотри, че за функция глСтрокаОплаты и откуда она берёт данные |
|||
2
Масянька
17.11.17
✎
15:12
|
Пардон.
Функция глСтрокаОплаты(Конт) Экспорт Перем ЕстьТипЦен, ЕстьСкидка, ЕстьВалюта, ЕстьУчитыватьНП,ЕстьУчитыватьНДС; Перем Результат, ВидДок; Результат = ""; // Анализируем реквизиты документа ВидДок = Конт.Вид(); ЕстьТипЦен = глЕстьРеквизитШапки("ТипЦен",ВидДок); ЕстьСкидка = глЕстьРеквизитШапки("Скидка",ВидДок); ЕстьУчитыватьНП = глЕстьРеквизитШапки("УчитыватьНП",ВидДок); ЕстьУчитыватьНДС = глЕстьРеквизитШапки("УчитыватьНДС",ВидДок); ЕстьОблагаетсяЕНВД = глЕстьРеквизитШапки("ОблагаетсяЕНВД",ВидДок); ЕстьВалюта = глЕстьРеквизитШапки("Валюта",ВидДок); Если ЕстьТипЦен = 1 Тогда Если ПустоеЗначение(Конт.ТипЦен) = 0 Тогда Результат = Результат + Конт.ТипЦен.Наименование; Иначе //Результат = Результат + "< НЕ УКАЗАН ТИП ЦЕН >"; КонецЕсли; КонецЕсли; Если ЕстьСкидка = 1 Тогда Если ПустоеЗначение(Конт.Скидка) = 0 Тогда Результат = Результат + " (скидка: "+СокрП(Конт.Скидка.Наименование)+", "+Конт.Скидка.Процент+"% )"; КонецЕсли; КонецЕсли; Результат = Результат + ?(ПустоеЗначение(Результат)=1,"",", "); // Про валюту пишем, только если она задана Если ЕстьВалюта = 1 Тогда Если ПустоеЗначение(Конт.Валюта) = 0 Тогда Результат = Результат + Конт.Валюта.Наименование; Результат = Результат + " курс: " + Строка(Конт.Курс) + " " + глРубли.Наименование; Иначе Результат = Результат + "< НЕТ ВАЛЮТЫ >"; КонецЕсли; КонецЕсли; ОблагаетсяЕНВД = 0; Если ЕстьОблагаетсяЕНВД = 1 Тогда Если Конт.ОблагаетсяЕНВД = 1 Тогда ОблагаетсяЕНВД = 1; КонецЕсли; КонецЕсли; Если ОблагаетсяЕНВД = 1 Тогда Результат = Результат + "<ПРОДАЖА, ОБЛАГАЕМАЯ ЕНВД>"; Иначе Если ЕстьУчитыватьНДС = 1 Тогда Если ПустоеЗначение(Конт.УчитыватьНДС) = 1 Тогда Результат = Результат + ", < БЕЗ НДС >"; Иначе Результат = Результат + ", НДС"; Если глЕстьРеквизитШапки("СуммаВклНДС", ВидДок) = 1 Тогда Если Конт.СуммаВклНДС = 1 Тогда Результат = Результат + " - в сумме"; Иначе Результат = Результат + " - сверху"; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; Если ЕстьУчитыватьНП = 1 Тогда Если ПустоеЗначение(Конт.УчитыватьНП) = 1 Тогда Результат = Результат + ", < БЕЗ НП >"; Иначе Результат = Результат + ", НП"; Если глЕстьРеквизитШапки("СуммаВклНП", ВидДок) = 1 Тогда Если Конт.СуммаВклНП = 1 Тогда Результат = Результат + " - в сумме"; Иначе Результат = Результат + " - сверху"; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; КонецЕсли; Возврат(Результат); КонецФункции //глСтрокаОплаты() Типовая. |
|||
3
Масянька
17.11.17
✎
15:13
|
(1) Она берет из контекста (док-та).
|
|||
4
Ёпрст
17.11.17
✎
15:15
|
(2) ок. Теперь смотри, чему равно
УчитыватьНДС после твоей процы глЗаполнитьШапку |
|||
5
Ёпрст
17.11.17
✎
15:15
|
и..делай выводы :)
|
|||
6
Gimalaj
17.11.17
✎
15:15
|
Может документ записать?
|
|||
7
Gimalaj
17.11.17
✎
15:16
|
+(6) А потом получать строку оплаты?
|
|||
8
Масянька
17.11.17
✎
15:21
|
(4) Кусок из глЗаполнитьШапку:
Если ПустоеЗначение(ТипЦен) = 0 Тогда Сообщить("тут 1"); // Если цены выбранного типа расчетные, то флаги включения налогов надо брать из базовой цены Если ПустоеЗначение(ТипЦен.Рассчитывается) = 0 Тогда ТипЦен = ТипЦен.БазовыйТипЦен; КонецЕсли; Если глЕстьРеквизитШапки("СуммаВклНДС", ВидДок) = 1 Тогда Сообщить("тут 2"); Конт.СуммаВклНДС = ТипЦен.ЦенаВклНДС; Сообщить("тут 4 - " + Конт.СуммаВклНДС); КонецЕсли; тут 4 - 1 |
|||
9
Масянька
17.11.17
✎
15:23
|
(6) Это ввод нового. Могут и передумать :)
|
|||
10
Gimalaj
17.11.17
✎
15:27
|
(8) Так вставь то же самое в функцию глСтрокаОплаты() и посмотри, что там.
|
|||
11
Масянька
17.11.17
✎
15:27
|
(10) Да, тоже самое.
|
|||
12
Ёпрст
17.11.17
✎
15:28
|
(8) мне он не нужен.
Пиши, че кажет это : УчитыватьНДС = 1; Сообщить("! - " + УчитыватьНДС); глЗаполнитьШапку(Контекст, Скопирован,"Продажа"); Сообщить("! - " + УчитыватьНДС,"!!!"); |
|||
13
Масянька
17.11.17
✎
15:29
|
(12) До - 1.
После - 0. |
|||
14
Ёпрст
17.11.17
✎
15:30
|
(13) и ?
:)))))))))))))))))) чего ты хочешь тогда ? |
|||
15
Масянька
17.11.17
✎
15:30
|
(14) Какого банана?
|
|||
16
Ёпрст
17.11.17
✎
15:32
|
(15)
глПриИзмененииФирмы |
|||
17
Ёпрст
17.11.17
✎
15:33
|
пилять, заставляешь меня пофигуратор открывать.
|
|||
18
Ёпрст
17.11.17
✎
15:33
|
че я тебе, все константы помнить должен ?
:) |
|||
19
Ёпрст
17.11.17
✎
15:34
|
короче, в глЗаполнитьШапку вызывается глПриИзмененииФирмы
в ней УчитыватьНДС присваивается. |
|||
20
Масянька
17.11.17
✎
15:36
|
(19) глЗаполнитьШапку(Контекст, Скопирован); - вызывается в ВводНового (специально посмотрела в нетронутых типовых док-ах).
Вопрос: в цене есть НДС, в док-те (в лоб) поставила, а эта хрень сбрасывает. |
|||
21
Ёпрст
17.11.17
✎
15:38
|
(20) у тя как с чтением то ?
|
|||
22
Ёпрст
17.11.17
✎
15:39
|
закрой пофигуратор, ляг поспи и всё пройдёт, потом приходи и читай (19)
|
|||
23
Масянька
17.11.17
✎
15:42
|
(21) Отлично.
0 там. Ноль. Возвращает из глПриИзмененииФирмы. |
|||
24
Ёпрст
17.11.17
✎
15:45
|
(23) как это коррелирует с (13) ?
|
|||
25
Ёпрст
17.11.17
✎
15:46
|
открой отладчик, наконец и смотри, где изменяется УчитыватьНДС.
|
|||
26
Ёпрст
17.11.17
✎
15:58
|
а блин, заморочила мне голову своей ..энергией.
:) если нуль возвращает, то че ты хочешь ? ;) |
|||
27
Масянька
17.11.17
✎
15:59
|
(26) Честно? Конфет :)
|
|||
28
Ёпрст
17.11.17
✎
16:06
|
||||
29
Масянька
17.11.17
✎
16:14
|
(28) (заикаясь) с-с-спа-с-с-сибо
:)))))))))))0 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |