Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как изменить тип цены?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Пользователю 1С 7.7 > Прочее 1С 7.7
pogorelcman
Добрый день! Подскажите пожалуста Когда делау расходную накладную считает только безнал, т.е. ставлю галочу на против "НДС" считает всю сумму накладной и прибавляет 20%, а если ставлю галочку на против "нал" все цены пропадают-пустая накладная, как зделать чтоб считала нал?Зарание спасибо!
Pepe
Неплохо бы знать в какой конфигурации вы это делаете.
pogorelcman
Цитата(Pepe @ 01.10.10, 12:31) необходимо зарегистрироваться для просмотра ссылки
Неплохо бы знать в какой конфигурации вы это делаете.

Мне бы тоже хотелось знать))))Прогу спер на работе, специально подделана под контору, скорее всего торговля и склад
zetovich
в типовых, по моему нету галочек нал/безнал.
так что.....фиг его знает smile.gif
Vofka
Ооо, да. Тема переезжает...

ЗЫ. а это точно 1С? smile.gif
pogorelcman
))))))))))))))Таки точно 1С, вид у нее точно не стандартный, может в конфигурации надо чето поменять?
Pepe
Менять точно надо, только сначала надо смотреть модуль документа.
pogorelcman
Перем ПромЦена;
Перем ПромТовар;
//--------------------
Процедура Подбор()
    ОткрытьПодбор("Товары","ДляПодбора");
КонецПроцедуры  

Процедура РасчетСуммыДоставки() Далее

//----------  
Процедура ПересчетСумм(Флаг)
    Если Флаг = 0 Тогда
    Количество=КолУп*Товар.ЕдУп;
    КонецЕсли;
    Если (ПромЦена<>ЦенаБезНДС) И (Товар=ПромТовар) И (ИмяПользователя()<>"Директор_Геннадий") И (ИмяПользователя()<>"Алла") Тогда
        Предупреждение("У Вас нет права изменять это значение !",2);
        ЦенаБезНДС=ПромЦена;
    КонецЕсли;
    СуммаБезНДС=ЦенаБезНДС*Количество;
    НДС=Итог("СуммаБезНДС")*?(ДаНДС=Перечисление.Булево.Да,0.2,0);
    СуммаНДС=Итог("СуммаБезНДС")+НДС;
    
    Вес = Количество * Товар.КоэфПересчета;
    РасчетСуммыДоставки();

КонецПроцедуры
//-----------------------------------------------    
Функция ПолучитьСкидкуКво()  
    Если Товар.Выбран() = 0 Тогда
        Возврат 0;
    КонецЕсли;
    Спр = СоздатьОбъект("Справочник.СкидкиКво");
    Если Спр.НайтиПоРеквизиту("Товар",Товар,1) = 1 Тогда
        Если Количество > Спр.Кво Тогда
            Возврат Спр.Скидка.Получить(ДатаДок);
        КонецЕсли;
    КонецЕсли;
    Возврат 0;
КонецФункции

Процедура УстановкаЦены()
    Количество=КолУп*Товар.ЕдУп;
    Если ФлагНДС=1 Тогда // Банк
        СкидкаТовар=ПолучитьСкидкуТовар(Контекст);
        СкидкаКво = ПолучитьСкидкуКво();
        Если СкидкаКво > 0 Тогда
            СкКво = 1;
        Иначе
            СкКво = 0;
        КонецЕсли;
        // Цена с учетом курса и 3-х скидок
        ЦенаБезНДС=Товар.ЦенаРасх*(1-(СкидкаТовар+Клиент.Скидка)/100)*(1-СкидкаКво/100)*(1-Скидка/100);
    Иначе   // Касса  
        СкидкаТовар=ПолучитьСкидкуТовар(Контекст);
        ЦенаБезНДС=Товар.ЦенаРасх*Константа.КоэфЦены.Получить(ДатаДок)*(1-(СкидкаТовар+Клиент.Скидка)/100)*(1-СкидкаКво/100)*(1-Скидка/100);    
    КонецЕсли;
    ПромЦена=ЦенаБезНДС;
    ПромТовар=Товар;                                                        
    
    ПересчетСумм(0);
КонецПроцедуры    
//----------------------------
Процедура ОбработкаПодбора(Выб)
    НоваяСтрока();      
    Количество=1;
    Товар=Выб;
    УстановкаЦены();
    ПересчетСумм(0);
    АктивизироватьСтроку();
    Активизировать("Количество");
КонецПроцедуры
//-------------------------------------
Процедура Печать()
    Кому = "";
    Таб=СоздатьОбъект("Таблица");
    Для Сч=1 По 2 Цикл
        Если Сч=1 Тогда
            Кому = "Склад";
            Таб.ВывестиСекцию("ДляКого");
        Иначе
            Кому = "Бухгалтерия";
            Таб.ВывестиСекцию("ДляКого");
        КонецЕсли;
            Таб.ВывестиСекцию("Шапка");
            ВыбратьСтроки();
                Пока ПолучитьСтроку() = 1 do  
                    Таб.ВывестиСекцию("Строка");
                enddo;
                
            Таб.ВывестиСекцию("Подвал1");    
                Если ДопУслуги<>0 Тогда
                    Таб.ВывестиСекцию("ДопУслуги");
                КонецЕсли;
            Таб.ВывестиСекцию("Подвал2");
            Таб.Опции(0,0,0,0);
            Таб.ТолькоПросмотр(0);
            Таб.Показать("Печать накладной","");
                //Если ФлагНДС = 1 Тогда
                //    Таб.КоличествоЭкземпляров(3);
                //Иначе Таб.КоличествоЭкземпляров(2);
                //КонецЕсли;
            Если Сч=1 Тогда Таб.НоваяСтраница();
            КонецЕсли;
    КонецЦикла;

КонецПроцедуры        
//-----------------------------------------------------
Процедура ПечатьНалоговой()
    Таб=СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Налоговая");
    Таб.ВывестиСекцию("Шапка");
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 do
        Таб.ВывестиСекцию("Строка");
    enddo;  
    НДС=Итог("СуммаБезНДС")*?(ДаНДС=Перечисление.Булево.Да,0.2,0);
    Итого=Итог("СуммаБезНДС")+НДС;
    Таб.ВывестиСекцию("Подвал");
    Таб.Опции(0,0,0,0);
    Таб.ТолькоПросмотр(0);
    Таб.Показать("Печать накладной","");
КонецПроцедуры
//-----------------------------------------------  
Процедура ПриОткрытии()

    Если НазваниеИнтерфейса()="Интерфейс_Менеджера" Тогда
             Форма.кнНН.Видимость(0);
             Форма.кнПечФайл.Видимость(0);
             Форма.кЗаполнить.Видимость(0);
             Форма.кнПровести.Видимость(0);
             Форма.Скидка.Доступность(0);
             Форма.ОплатитьДо.Доступность(0);
             Форма.ЦенаБезНДС.Доступность(0);
             Форма.Вес.Доступность(0);
             
        Если НазваниеИнтерфейса()="Интерфейс_Малежик" Тогда
             Форма.кнНН.Видимость(0);
             Форма.кнПечФайл.Видимость(0);
             Форма.кЗаполнить.Видимость(0);
             Форма.кнПровести.Видимость(0);
             Форма.Скидка.Доступность(1);
             Форма.ОплатитьДо.Доступность(0);
             Форма.ЦенаБезНДС.Доступность(1);
             Форма.Вес.Доступность(0);  
         КонецЕсли;

         Если НазваниеИнтерфейса()="Интерфейс_Брэнд" Тогда
             Форма.кнНН.Видимость(0);
             Форма.кнПечФайл.Видимость(0);
             Форма.кЗаполнить.Видимость(0);
             Форма.кнПровести.Видимость(0);
             Форма.Скидка.Доступность(1);
             Форма.ОплатитьДо.Доступность(0);
             Форма.ЦенаБезНДС.Доступность(0);
             Форма.Вес.Доступность(0);
         КонецЕсли;


    Если (НазваниеНабораПрав()<>"Администратор") Тогда
            Форма.ДатаДок.Доступность(0);
    КонецЕсли;
             
             Если Проведен()=1 Тогда
                 Предупреждение("Вы не имеете права редактировать проведенный документ!!!" + РазделительСтрок + "Разрешен только просмотр и печать документа.");
                 Форма.ТолькоПросмотр(1);
             КонецЕсли;
    КонецЕсли;
    ПроверкаРазрешенияРедактирования(Контекст);
    ИзмЦены=1;    
    Если ДаНДС=Перечисление.Булево.Да Тогда
        ФлагНДС=1;
    Иначе
        ФлагНДС=0;
    КонецЕсли;
    Если ВидРасч=Перечисление.ВидРасч.Безналичные Тогда
        ФлагНал=0;
    Иначе
        ФлагНал=1;
    КонецЕсли;
    
    Если (ИмяПользователя() = "Алла") ИЛИ (ИмяПользователя() = "Angel") Тогда
        Форма.фЦена.Доступность(1);
    Иначе
        фЦена = 0;
        Форма.фЦена.Доступность(0);
    КонецЕсли;
КонецПроцедуры
//-------------------------------
Процедура ВводНового();
    ДатаДок=ТекущаяДата();
    ВидРасч=Перечисление.ВидРасч.Безналичные;  
    ДаНДС=Перечисление.Булево.Да;
    ФлагНДС=1;
    ФлагНал=0;
    Автор = ПолноеИмяПользователя();
    
    ОплатитьДо = КонМесяца(ДатаДок);
КонецПроцедуры
//-----------------------------------------------
Процедура ВводНаОсновании(ДокОснование)
//-----        
        ДокОсн = ДокОснование.Вид();
//-----    
        ДатаДок=РабочаяДата();
        Автор = ПолноеИмяПользователя();
        Клиент=ДокОснование.Клиент;
        ПоСчету=ДокОснование;
        ВидРасч=ДокОснование.ВидРасч;
                    Если ДаНДС=Перечисление.Булево.Да Тогда
                        ФлагНДС=1;
                    Иначе
                        ФлагНДС=0;
                    КонецЕсли;    
                        Если ВидРасч=Перечисление.ВидРасч.Безналичные Тогда
                            ФлагНал=0;
                        Иначе
                            ФлагНал=1;
                        КонецЕсли;
                // спецификацию записываем исходя из остатков зарезервированных товаров
                Рег1=СоздатьОбъект("Регистр.РезервыТоваров");
                ДокОснование.ВыбратьСтроки();
                Пока ДокОснование.ПолучитьСтроку()=1 Цикл
                    РезервПоСчету= Рег1.Остаток(ДокОснование.Товар,ДокОснование,"РезервТовара");
        
                Если ДокОсн = "Возврат" Тогда
                        НоваяСтрока();
                        Товар=ДокОснование.Товар;
                        КолУп=ДокОснование.КолУп;
                        ЦенаБезНДС=ДокОснование.Себест;
                        Количество=ДокОснование.Количество;
                        ПересчетСумм(1);
                Иначе
                    Если РезервПоСчету>0 Тогда
                        НоваяСтрока();
                        Товар=ДокОснование.Товар;
                        КолУп=РезервПоСчету/ДокОснование.Товар.ЕдУп;
                        ЦенаБезНДС=ДокОснование.ЦенаБезНДС;
                        Количество=РезервПоСчету;
                        ПересчетСумм(0);
                    КонецЕсли;
                КонецЕсли;
        КонецЦикла;
        Если ДокОсн = "Возврат" Тогда
                Скидка=0;
                ДопУслуги=0;
                ДаНДС=Перечисление.Булево.Нет;
        Иначе
                Скидка=ДокОснование.Скидка;
                ДопУслуги=ДокОснование.ДопУслуги;
                ДаНДС=ДокОснование.ДаНДС;                
        КонецЕсли;

КонецПроцедуры
//------------------------------------------------
Процедура ФлагНалКлик()
    //Если ФлагНал=1 Тогда
        Если Вопрос ("РАССЧИТВЫВАЮТСЯ НАЛИЧКОЙ ???", "Да+Нет") = "Да" Тогда
            ФлагНал=1;
            ВидРасч=Перечисление.ВидРасч.Наличные;
        Иначе
            ФлагНал=0;
            ВидРасч=Перечисление.ВидРасч.Безналичные;
        КонецЕсли;
    //КонецЕсли;
КонецПроцедуры
//-----------------------------------------------  
Процедура Пересчет()
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
        Если фЦена = 0 Тогда
            УстановкаЦены();
        КонецЕсли;
        ПересчетСумм(0);
    КонецЦикла;
КонецПроцедуры  
//---------------------------------------------------
Процедура ФлагНДСКлик()
    Если ФлагНДС=1 Тогда
        ДаНДС=Перечисление.Булево.Да;
    Иначе
        ДаНДС=Перечисление.Булево.Нет;
    КонецЕсли;
    Пересчет();
КонецПроцедуры  
//--------------------------------
Процедура ИзмСкидки()

    Если ИмяПользователя()<>"Склад" Тогда
        Предупреждение("Это значение меняет ТОЛЬКО пользователь <Склад> !",2);
        Форма.Закрыть(0);                
    Иначе

        ВыбратьСтроки();
        Пока ПолучитьСтроку()=1 Цикл
            УстановкаЦены();
            ПересчетСумм(0);
        КонецЦикла;    
    
    КонецЕсли;    
КонецПроцедуры

Процедура ПриЗаписи()
    ПроверкаРазрешенияЗаписи(Контекст);    
КонецПроцедуры

//--------------------------------
Процедура ПриЗакрытии()
    Форма.Закрыть(0);
КонецПроцедуры


//--------------------------------
Процедура ЗакрытиеСВопросом()
    Если Вопрос("СОХРАНИТЬ? Документ будет проведен!!!", "Да+Нет") = "Да" Тогда
        Записать();
        Провести();
        Форма.Закрыть();
    Иначе Форма.Закрыть();
    КонецЕсли;        
КонецПроцедуры


//--------------------------------
Процедура РасчетСуммыДоставки()
    _Зона = Клиент.Город.Зона;  
    _Категория = Клиент.Категория;
    Если (ПустоеЗначение(_Зона) = 1) ИЛИ (ПустоеЗначение(_Категория) = 1) Тогда  
        СуммаДоставки = 0;  
        Возврат;
    КонецЕсли;
    
    ПолнВес = Итог("Вес");
    Спр = СоздатьОбъект("Справочник.СтоимостьПоЗонам");
    
    Если (_Категория.Код = 1) ИЛИ (ПолнВес >= 1500) Тогда
        СуммаДоставки = 0;  
        
    ИначеЕсли _Категория.Код = "2" Тогда
        Если ПолнВес <= 50 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес10_50 Тогда
                    Если ПолнВес <= 10 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 50 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 10) / 5) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
        Иначе
            СуммаДоставки = 0;    
        КонецЕсли;            
        
    ИначеЕсли (_Категория.Код = "3") ИЛИ (_Категория.Код = "4") Тогда
        Если ПолнВес <= 50 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес10_50 Тогда
                    Если ПолнВес <= 10 Тогда
                        СуммаДоставки = Спр.БазСтоимость;    
                    ИначеЕсли ПолнВес = 50 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 10) / 5) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
        ИначеЕсли ПолнВес <= 100 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес51_100 Тогда
                    Если ПолнВес <= 51 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 100 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 51) / 10) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;             
        Иначе
            СуммаДоставки = 0;    
        КонецЕсли;
        
    ИначеЕсли _Категория.Код = "5" Тогда
        Если ПолнВес <= 50 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес10_50 Тогда
                    Если ПолнВес <= 10 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 50 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 10) / 5) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
        ИначеЕсли ПолнВес <= 100 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес51_100 Тогда
                    Если ПолнВес <= 51 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 100 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 51) / 10) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
        ИначеЕсли ПолнВес <= 350 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес101_350 Тогда
                    Если ПолнВес <= 101 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 350 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 101) / 50) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;             
        Иначе
            СуммаДоставки = 0;    
        КонецЕсли;
    
    ИначеЕсли _Категория.Код = "6" Тогда
        Если ПолнВес <= 50 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес10_50 Тогда
                    Если ПолнВес <= 10 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 50 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 10) / 5) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
        ИначеЕсли ПолнВес <= 100 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес51_100 Тогда
                    Если ПолнВес <= 51 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 100 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 51) / 10) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
        ИначеЕсли ПолнВес <= 350 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес101_350 Тогда
                    Если ПолнВес <= 101 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 350 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 101) / 50) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;     
        ИначеЕсли ПолнВес <= 750 Тогда  
            Спр.ВыбратьЭлементыПоРеквизиту("Зона",_Зона,0,0);
            Пока Спр.ПолучитьЭлемент() = 1 Цикл
                Если Спр.Шкала = Перечисление.ШкалаВеса.Вес351_750 Тогда
                    Если ПолнВес <= 351 Тогда
                        СуммаДоставки = Спр.БазСтоимость;
                    ИначеЕсли ПолнВес = 750 Тогда
                        СуммаДоставки = Спр.БазСтоимость2;    
                    Иначе
                        СуммаДоставки = Спр.БазСтоимость + Цел((ПолнВес - 351) / 100) * Спр.СтоимостьДоп;    
                    КонецЕсли;
                    Прервать;
                КонецЕсли;
            КонецЦикла;     
        Иначе
            СуммаДоставки = 0;    
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры    

//*******************************************
// Процедура генерации запроса Сформировать.
//
Процедура Заполнить()
    Перем Запрос, ТекстЗапроса;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ДатаДок по ДатаДок;
    |Товар = Регистр.ОстаткиТоваров.Товар;
    |ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара;
    |Стоимость = Регистр.ОстаткиТоваров.Стоимость;
    |Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
    |Функция СтоимостьКонОст = КонОст(Стоимость);
    |Группировка Товар без групп;
    |"//}}ЗАПРОС
;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    
    УдалитьСтроки();
    
    Пока Запрос.Группировка(1) = 1 Цикл
        
        НоваяСтрока();
        Товар = Запрос.Товар;
        
        Количество = Запрос.ОстатокТовараКонОст;
        Попытка
            КолУп = Количество / Товар.ЕдУп;
        Исключение
            КолУп = 1;
        КонецПопытки;
        
        СуммаБезНДС = Запрос.СтоимостьКонОст;
        ЦенаБезНДС = ?(Количество = 0, 0, СуммаБезНДС / Количество);  
        

    КонецЦикла;
КонецПроцедуры  

Процедура ПечатьФайл()  
    Таб = СоздатьОБъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица1");
    Таб.ВывестиСекцию("Шапка");
    
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
        Таб.ВывестиСекцию("Стр");        
    КонецЦикла;
                                
    Таб.Опции(0,0,0,0);
    Таб.ТолькоПросмотр(1);
    Таб.Показать();
    
КонецПроцедуры
pogorelcman
Это модуль расходной накладной
pogorelcman
Постачальник:



Платник:
[Клиент.Наименование] [Клиент.Адрес] Код ЄДРПОУ [Клиент.КодЗКПО]
МФО [Клиент.МФО] р/р [Клиент.РасчетныйСчет] Банк [Клиент.Банк]

№ Товар Од.вим Кільк. Вага, кг Цена Сума

НомерСтроки Товар.Наименование Товар.БазоваяЕдиница Количество Вес#Ч012.3 Формат(ЦенаБезНДС,"Ч12.4") Формат(СуммаБезНДС,"Ч16.2")

Вага : Итог("Вес")#Ч012.3
Сума : Итог("СуммаБезНДС") #Ч12.2
20 % ПДВ : НДС #N10.2
До сплати : СуммаНДС #N10.2

Додаткові послуги : ДопУслуги #Ч10.2

Сума: [СуммаНДС #ЧП]



Склав: Автор
Надрукував: ИмяПользователя()
pogorelcman
а это тблица расходной накладной
MATEVI
ну судя по всему проблема тут...
Процедура УстановкаЦены()
...
СкидкаКво = ПолучитьСкидкуКво();
Если СкидкаКво > 0 Тогда
СкКво = 1;
Иначе
СкКво = 0;
КонецЕсли;
...
ЦенаБезНДС=Товар.ЦенаРасх*(1-(СкидкаТовар+Клиент.Скидка)/100)*(1-СкидкаКво/100)*(1-Скидка/100);
умноженние на 0 дает 0 в цене...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.