Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: типовая "Строка оплаты"

Я
   Масянька
 
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
и..делай выводы :)
   Gimalaj
 
6 - 17.11.17 - 15:15
Может документ записать?
   Gimalaj
 
7 - 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) Это ввод нового. Могут и передумать :)
   Gimalaj
 
10 - 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



Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует