Имя: Пароль:
1C
1C 7.7
v7: Помогите плиз. Корректировки формы-счета.
0 Maxwel329
 
31.07.12
17:20
1с7.7 Предприятие (7.70.027)

Ситуация такова: нужно подкорректировать форму-счет.
Задача:
В графе "сумма з ПДВ" - должна стоять сумма с ндс
в графе "Ціна" - - должна стоять сумма с ндс

Подправьте плизз...

                    Перем СтарРСчет;

// ===============================
Процедура ИзмДатаДок()
   СрокОплаты = ДатаДок + Макс(Число(ВосстановитьЗначение("Счет_СрокОплаты")), 5);
КонецПроцедуры

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

// ===============================
Процедура ИзмНДС()
   СуммаСНДС = СуммаБезНДС+НДС;
КонецПроцедуры

// ===============================
Процедура ИзмСуммаБезНДС()
   СтавкаНДС = ВидНДС;
   Если (ТМЦ.Вид() = "ТМЦ") И (Сокрлп(ВидНДС.Код) = "НДС23") Тогда
       // вся операция облагается НДС,
       // имеет смысл проверить, облагается ли указанный товар
       СтавкаНДС = ТМЦ.СтавкаНДС;
   КонецЕсли;
   НДС = СуммаБезНДС * СтавкаНДС.Ставка.Получить(ДатаДок);
   ИзмНДС();
КонецПроцедуры

// ===============================
Процедура ИзмСкидка()
   СуммаБезНДС = СуммаБезСкидки - Скидка;                    
   ИзмСуммаБезНДС();
КонецПроцедуры

// ===============================
Процедура ИзмСуммаБезСкидки()
   ИзмСкидка();
КонецПроцедуры

// ===============================
Процедура ИзмЦенаБезНДС()
   СуммаБезСкидки = ЦенаБезНДС*Коэффициент*Кво;
   ИзмСуммаБезСкидки();
КонецПроцедуры

// ===============================
Процедура ИзмКурс()
   Если КоличествоСтрок() > 0 Тогда
       Если Вопрос("Пересчитать суммы?","Да+Нет")="Да" Тогда
           ВыбратьСтроки();
           Пока ПолучитьСтроку()=1 Цикл
               УстЦенаБезНДС();
               ИзмЦенаБезНДС();
           КонецЦикла;
       КонецЕсли;
   КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ИзмВалюта()
   Курс = Валюта.Курс.Получить(ДатаДок);
   ИзмКурс();
КонецПроцедуры

// ===============================
Процедура ИзмКво()
   ИзмЦенаБезНДС();
КонецПроцедуры

// ===============================
Процедура ИзмТМЦ()
   Если ТМЦ.Выбран()=1 Тогда
       Если ТМЦ.Вид()="ТМЦ" Тогда
           глУстановкаБазЕд(Контекст,ТМЦ);
       Иначе
           // необоротный актив
           Кво = 1;
           глУстановкаБазЕд(Контекст,,ТМЦ.БазЕдиница);
       КонецЕсли;
       УстЦенаБезНДС();
       ИзмЦенаБезНДС();
   КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ИзмЕд()
   Коэффициент = Ед.Коэффициент;
   ИзмКво();
КонецПроцедуры

// ===============================
Процедура ИзмКонтрагент()
   Если Контрагент.Выбран() = 0 Тогда
       ВидТорговли = Контрагент.ВидТорговли;
       Если Контрагент.ВидВзаиморасчетов = Перечисление.ВидыВзаиморасчетов.ПоДоговорам Тогда
           Заказ = Контрагент.БазДоговор;
       ИначеЕсли Заказ.Выбран() = 1 Тогда
           глКомментарий("Контрагента нужно изменять в заказе!",1,,"!");
           Контрагент = Заказ.Контрагент;
           Возврат;
       КонецЕсли;
   Иначе
       ВидТорговли = Перечисление.ВидыТорговли.Предоплата;
       Заказ = 0;
   КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ИзмЧтоПродаем()
   Старое = глВосстановитьЗначение(Контекст,"ЧтоПродаем");
   Если (КоличествоСтрок()<>0) и (Старое<>ЧтоПродаем) и (СокрЛП(Старое)<>"") Тогда
       ЧтоПродаем = Старое;
       Предупреждение("Сначала удалите все строки!");
   КонецЕсли;
   глСохранитьЗначение(Контекст,"ЧтоПродаем",ЧтоПродаем);
   Если ЧтоПродаем<>Перечисление.ЧтоПродаем.ТМЦ Тогда
       Форма.Скидка.Доступность(0);
   ИначеЕсли Константа.ИспользоватьСкидку = Да    Тогда
       Форма.Скидка.Доступность(1);
   КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ИзмРСчет()
   Если ПустоеЗначение(РСчет) = 1 Тогда
       Возврат;
   КонецЕсли;    
   Если РСчет.БезНал = 0 Тогда
       глКомментарий("Нельзя выбирать кассу.");
       РСчет = СтарРСчет;        
       Возврат;
   ИначеЕсли Валюта <> РСчет.Валюта Тогда
       глКомментарий("Валюта расчетного счета не соответствует валюте документа.");
       РСчет = СтарРСчет;        
       Возврат;
   КонецЕсли;
КонецПроцедуры

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

Процедура ОбработкаПодбора(Выб)
   Если глОбработатьПодбор(Контекст,Выб) = 1 Тогда
       ИзмТМЦ();
       АктивизироватьСтроку();
   КонецЕсли;
КонецПроцедуры

// ===============================
Процедура Печать(БыстраяПечать=0)
   ЕстьСкидка = 1;
   Если (Константа.ИспользоватьСкидку<>Да) Или (ЧтоПродаем<>Перечисление.ЧтоПродаем.ТМЦ) Тогда
       ЕстьСкидка = 0;
   КонецЕсли;
   
   Таб = СоздатьОбъект("Таблица");
   СуффиксФайла = ?(Константа.ФормыНаУкраинском = Да,"_ukr","");
   СуффиксТаблицы = ?(Константа.ФормыНаУкраинском = Да,"_Укр","");
   ИмяФайлаПечатнойФормы = КаталогИБ()+"ExtForms\PrnForms\SF"+СуффиксФайла+".mxl";        
   Если ФС.СуществуетФайл(ИмяФайлаПечатнойФормы) = 1 Тогда
       Таб.ИсходнаяТаблица(ИмяФайлаПечатнойФормы);
   Иначе
       Таб.ИсходнаяТаблица("Таблица"+СуффиксТаблицы);
   КонецЕсли;

   глУстПропись(Валюта);
   Таб.ВывестиСекцию("Шапка");
   Ном = 1;
   ВыбратьСтроки();
   Пока ПолучитьСтроку()=1 Цикл
       ЕдИзм = ?(ТМЦ.Вид()="ТМЦ",Ед,ТМЦ.БазЕдиница);
       //Если (ТМЦ.ВидТМЦ = Перечисление.ВидыТМЦ.Услуга) И (ТМЦ.Родитель.Код = 242) Тогда
           Примечание1 = Примечание;
       //КонецЕсли;
       Таб.ВывестиСекцию("Строка");
       Ном = Ном+1;
   КонецЦикла;
   Если ЕстьСкидка=1 Тогда
       Таб.ВывестиСекцию("Скидка");
   КонецЕсли;
   Таб.ВывестиСекцию("Дно");
   Таб.Защита(Константа.ФлагЗащитыТаблиц);
   Если БыстраяПечать = 1 Тогда
       Таб.ПараметрыСтраницы(2,,,,,,,,,1);
       Таб.Напечатать(0);
   Иначе
       Таб.ТолькоПросмотр(0);
       Таб.Опции(0,0,,);
       Таб.Показать("ПЕЧАТЬ: Счет-фактура","");
   КонецЕсли;
КонецПроцедуры

// ===============================

Процедура ВводНового(Признак)
   Если Признак = 1 Тогда
       глУстановитьНомерДокумента(Контекст);
       Возврат;
   КонецЕсли;
   Фирма = глВосстановитьЗначение(,"БазФирма");
   глУстановитьНомерДокумента(Контекст);
   ЧтоПродаем = Перечисление.ЧтоПродаем.ТМЦ;
   ВидНДС = глВосстановитьЗначение(,"БазНДС");
   Валюта = Гривня;
   РСчет = Фирма.РС;
   ИзмВалюта();
   ИзмДатаДок();
КонецПроцедуры

// ===============================
Процедура ВводНаОсновании(Док)
   // ввод на основании договора
   Фирма = Док.Фирма;
   глУстановитьНомерДокумента(Контекст);
   ЧтоПродаем = Перечисление.ЧтоПродаем.ТМЦ;
   Контрагент = Док.Контрагент;
   Валюта = Док.Валюта;
   Курс = Док.Курс;
   ВидТорговли = Док.ВидТорговли;
   ВидНДС = Док.ВидНДС;
   РСчет = Фирма.РС;
   Если Контрагент.ВидВзаиморасчетов = Перечисление.ВидыВзаиморасчетов.ПоДоговорам Тогда
       Заказ = Док;
   КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ПриЗаписи()
   Автор = Пользователь;
   глСохранитьЗначение(Контекст,"СрокОплаты",СрокОплаты-ДатаДок);
   ОтборЗаказаКонтрагент = ?(Заказ.Выбран() = 0, Контрагент, 0);
   глПроверкаДатыДок(Контекст,"Запись");
КонецПроцедуры

// ===============================
Процедура ПриОткрытии()
   глПроверкаДатыДок(Контекст,"Открытие");
   ПриЗаписиПерепроводить(1);
   глСохранитьЗначение(Контекст,"ЧтоПродаем",ЧтоПродаем);
   
   Форма.Курс.ВыполнятьФормулуТолькоПриИзменении(1);
   Если Константа.ИспользоватьСкидку <> Да Тогда
       Форма.СуммаБезСкидки.Видимость(0);
       Форма.Скидка.Видимость(0);
       Форма.кДатьСкидку.Доступность(0);
   ИначеЕсли ЧтоПродаем <>    Перечисление.ЧтоПродаем.ТМЦ Тогда
       Форма.Скидка.Доступность(0);
   КонецЕсли;
   Если ПустоеЗначение(Форма.Параметр)=0 Тогда
       Если ТипЗначенияСтр(Форма.Параметр)="Строка" Тогда
           Если ВРег(Форма.Параметр)="БЫСТРАЯПЕЧАТЬ" Тогда
               //Если вызвано для из операции "быстрой продажи"
               Печать(1);
               СтатусВозврата(0);
               Возврат;
           КонецЕсли;    
       КонецЕсли;    
   КонецЕсли;
КонецПроцедуры

// ===============================
Процедура ПриНачалеВыбораЗначения(Рекв,ФлагСтандОбр)
   Если Рекв = "ВидНДС" Тогда
       глВыбратьНДС(Контекст);
       ФлагСтандОбр = 0;
   ИначеЕсли Рекв = "РСчет" Тогда
       СтарРСчет = РСчет;    
   КонецЕсли;
КонецПроцедуры
1 and2
 
31.07.12
17:21
глобальный модуль выкладывай.
что уж там...
2 Maxwel329
 
31.07.12
17:24
:(
ну подскажите, что выложить...
3 Maxwel329
 
31.07.12
17:26
ну или как команды правильно прописать в ячейке

что прописать вместо: Формат(ЦенаБезНДС*Коэффициент,"Ч12.2") (это ячейка "Цена")
                     Формат("СуммаСНДС","Ч12.2") (это ячейка "С НДС")
4 Базис
 
naïve
31.07.12
17:26
Цену выкладывай, кто-нибудь сделает.
5 Maxwel329
 
31.07.12
17:28
как я понимаю:
нужно сменить Формат(ЦенаБезНДС*Коэффициент,"Ч12.2") - на Формат(суммаСНДС)... но как писать команду google не показывает ((
6 Базис
 
naïve
31.07.12
17:29
Ты зачем конфигуратор открыл?
7 Maxwel329
 
31.07.12
17:31
дабы загрузить себя на 3 суток... найти и скачать учебник по 1с - выучить.. и не заходить на форумы...
но вот беда...времени нет. :(
8 Базис
 
naïve
31.07.12
17:33
То есть ты готов использовать наши бессонные ночи, проведённые за учёбой?
9 Maxwel329
 
31.07.12
17:33
))) ну могу бартером )) поменять на свои ))
10 Базис
 
naïve
31.07.12
17:35
(9) Продай их по месту жительства и приходи сюда с заказом, раз такой ленивый.
11 Maxwel329
 
31.07.12
17:46
во. Есть добрые люди... и бескорыстные ))...
12 PZh
 
31.07.12
17:51
На сколько понял автора, нужно
Формат(ЦенаБезНДС*Коэффициент,"Ч12.2") поменять на Формат(суммаСНДС, "Ч12.2")
13 8troyan8
 
31.07.12
17:56
Ну так какие проблемы меняй в форме и все
14 Maxwel329
 
31.07.12
17:56
Спсб. доброму человеку. Подсказал решение.
Но вот беДДда возникла:

"проблемма с комейками"
http://s43.radikal.ru/i102/1207/ae/c0dc0aca1db6.jpg
15 Базис
 
naïve
31.07.12
17:59
Ссылки на учебники дать или будешь по каждой х-не тут побираться?
16 Maxwel329
 
31.07.12
17:59
давайТЕ
17 Maxwel329
 
31.07.12
18:02
если можно , то ссылку на страничку "О том, как запретить округление"
18 Maxwel329
 
31.07.12
18:03
для кого х-ня.. .а для кого "+" в офисном рейтинге ))
19 Базис
 
naïve
31.07.12
18:11
http://www.mista.ru/tutor_1c/
firststeps.ru

Про округления всех учили в школе.
20 Maxwel329
 
31.07.12
18:13
ааа. в школе...
я просто с д/сада сразу в институт пошел :)
21 Maxwel329
 
31.07.12
18:13
а за ссылку сенкс