Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
04 дек 2024, 11:45

Как отредактировать печатную форму на старом релизе 1с 7.7?

Автор GovMPE, 26 мар 2012, 14:18

0 Пользователей и 1 гость просматривают эту тему.

GovMPE

Имеется 1с Предприятие комплесная конфигурация 7.70.310, Люди подскажите, можно как-нибудь отредактировать печатную форму счета фактуры? Насколько я понял она там вшита в метаданные? HELP?

sergejK74

Кнопочка Спасибо - слева!

GovMPE

Не получается прицепить :(  релиз старый, там даже папки  PrnForms в ExtForms нет.  И при печати нельзя выбрать какую форму использовать. (ну или я не знаю как прицепить)

GovMPE

Кстати нашел таки я эти таблицы в конфигураторе!  Только теперь с программированием разобраться надо...  я в нем полный нуб. :bleh:
Может поможет кто?

Процедура Печать(БыстраяПечать=0,КолЭкз=0)
   Клиент.ИспользоватьДату(ДатаДок);
   Фирма.ИспользоватьДату(ДатаДок);
   Таб=СоздатьОбъект("Таблица");
   
   Если ДатаДок<Дата("01.01.2001") Тогда
      Таб.ИсходнаяТаблица("Таблица2000");
      ПечПоставщик=Шаблон("Поставщик: [глПолучитьНаименование(Фирма)]");
   ИначеЕсли ДатаДок<Дата("21.03.2001") Тогда
      Таб.ИсходнаяТаблица("Таблица");
      ПечПоставщик=Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");
   ИначеЕсли ДатаДок < Дата("22.05.2006") Тогда // начиная с 21.03.2001 по 22.05.2006 г.
      Таб.ИсходнаяТаблица("Таблица2001");
      ПечПоставщик=Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");   
   
   ИначеЕсли ДатаДок < Дата("22.05.2006") Тогда// начиная с 22.05.2006 г.
   
      Таб.ИсходнаяТаблица("Таблица2006");
      ПечПоставщик = Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");

Я значит создам новую таблицу, как мне сделать, чтобы печаталась она если Дата документа больше или равно 24.01.2012 ??

sergejK74

   ИначеЕсли ДатаДок < Дата("22.05.2006") Тогда // начиная с 21.03.2001 по 22.05.2006 г.
      Таб.ИсходнаяТаблица("Таблица2001");
      ПечПоставщик=Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");   
   
   ИначеЕсли ДатаДок < Дата("22.05.2006") Тогда// начиная с 22.05.2006 г.
   
      Таб.ИсходнаяТаблица("Таблица2006");
      ПечПоставщик = Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");


Повтор какой-то или я не внимательно смотрю.
По твоему вопросу да, конечно. Здесь добавляй.
Кнопочка Спасибо - слева!

GovMPE

Да, точно повтор.  Это я накопировал код и запостил сгоряча  :D в оригинале:
Если ДатаДок<Дата("01.01.2001") Тогда
Таб.ИсходнаяТаблица("Таблица2000");
ПечПоставщик=Шаблон("Поставщик: [глПолучитьНаименование(Фирма)]");
ИначеЕсли ДатаДок<Дата("21.03.2001") Тогда
Таб.ИсходнаяТаблица("Таблица");
ПечПоставщик=Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");
ИначеЕсли ДатаДок < Дата("22.05.2006") Тогда // начиная с 21.03.2001 по 22.05.2006 г.
Таб.ИсходнаяТаблица("Таблица2001");
ПечПоставщик=Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");
Иначе // начиная с 22.05.2006 г.

Таб.ИсходнаяТаблица("Таблица2006");
ПечПоставщик = Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");

Вот это правим на это:
        Если ДатаДок<Дата("01.01.2001") Тогда
Таб.ИсходнаяТаблица("Таблица2000");
ПечПоставщик=Шаблон("Поставщик: [глПолучитьНаименование(Фирма)]");
ИначеЕсли ДатаДок<Дата("21.03.2001") Тогда
Таб.ИсходнаяТаблица("Таблица");
ПечПоставщик=Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");
ИначеЕсли ДатаДок < Дата("22.05.2006") Тогда // начиная с 21.03.2001 по 22.05.2006 г.
Таб.ИсходнаяТаблица("Таблица2001");
ПечПоставщик=Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");
ИначеЕсли ДатаДок < Дата("24.01.2012") // начиная с 22.05.2006 по 24.01.2012 г.

Таб.ИсходнаяТаблица("Таблица2006");
ПечПоставщик = Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");
                Иначе
                Таб.ИсходнаяТаблица("Таблица2012");
                ПечПоставщик = Шаблон("Продавец: [глПолучитьНаименование(Фирма)]");

Вроде так?

GovMPE

Вот еще заморочка, как написать в модуле документа, например, если страна происхождения = Россия, то цифровой код = 07 и если единица измерения = (шт, л, кг...) , то код = "цифра"?  Делаю счет фактуру и хотелось бы чтобы прога сама добавляла эти данные. Или нужно писать это в глобальном модуле? Там боюсь не разберусь.

sergejK74

для кода что то вроде ЦифровойКод = Единица.ОКЕИ.Код, Для Кода страны, что-то вроде цифровой код =ГТД.ОКСМ(или страна).код
Нет торговли или комплексной рядом.
Посмотри как в файлах от 1С сделано
Кнопочка Спасибо - слева!

GovMPE


А как нибудь попроще? Ну например, чтобы модуль сам проверял значения полей прямо в создаваемой таблице. Условное обозначение в единице измерения и краткое наименование в стране происхождения, и по этим значениям выставлял коды?
У меня походу ОКСМ и ОКЕИ нету. :(  (я так понял это справочники такие?) е-мое  ну буду копать дальше...
А кстати насчет ГТД.ОСКМ, что такое ГТД?


GovMPE

   Пока ПолучитьСтроку() = 1 Цикл
      Ном=Ном+1;
      Если Товар.Выбран()=0 Тогда
         Продолжить;
      КонецЕсли;
      Ном=Ном+1;
      Если (ПовторТовара = Товар) И ((Цена+Сумма+НДС)=0) Тогда
         // если товар тот же, то идет разбивка товара в разрезе ГТД
         ПечЦена=" ----- ";
         ПечСумма=" ----- ";
         ПечСтавкаНДС=" ----- ";
         ПечСуммаНДС=" ----- ";
         ПечСуммаНП=" ----- ";
         ПечВсегоСНДС=" ----- ";
         //СтранаН=" ----- ";
         Если ВывелиСтроку = Нет Тогда
            // Еще не напечатали строку "в том числе", то печатаем ее
            ВывелиСтроку = Да;
             ПечТовар="      в том числе:";
            СтранаН=" ----- ";
            НомерГТД_Н=" ----- ";
            ПечЕдиниц=" ----- ";
            ПечКолич=" ----- ";
            ПечАкцизЦена=" ----- ";
            ПечАкцизСумма=" ----- ";
      
            Таб.ВывестиСекцию("Строка");
         КонецЕсли;
         // Если несколько строк с одним товаром, то в повторяющихся строках выводим
         // только количество и номер ГТД
      Иначе
         // Новый товар
         ВывелиСтроку = Нет;
         ПечЦена=Формат(?(Количество=0,0,Цена-НДС/Количество),"Ч15.2-'");
         ПечСумма=Формат(Сумма-НДС,"Ч15.2-'");
         ПечСуммаНДС=?(НДС=0," ----- ",Формат(НДС,"Ч015.2-'"));
         ПечВсегоСНДС=?(Сумма=0," ----- ",Формат(Сумма,"Ч015.2-'"));
         ПечСуммаНП=?(СуммаНП=0," ----- ",Формат(СуммаНП,"Ч015.2-'"));                                                 
         ПечСтавкаНДС = СтавкаНДС;
         Если Товар = Константа.АвансовыйПлатеж Тогда
            Если ДатаДок>Дата("31.12.2000") Тогда
               ПечЦена  = ПечВсегоСНДС;
               ПечСумма = ПечВсегоСНДС;
               Если глПроцентНДС(СтавкаНДС) = 20 Тогда
                  ПечСтавкаНДС = глПолучитьСтавкуНДС(16.67);
               ИначеЕсли глПроцентНДС(СтавкаНДС) = 10 Тогда
                  ПечСтавкаНДС = глПолучитьСтавкуНДС(9.09);
               Иначе
                  ПечСтавкаНДС = ПечСтавкаНДС;
               КонецЕсли;
            КонецЕсли;           
         КонецЕсли;           
         Если (ПечСтавкаНДС.Выбран() = 1) и (ПечСтавкаНДС.Ставка > 0) Тогда
             ПечСтавкаНДС = "" + ПечСтавкаНДС.Ставка + "%";
         Иначе
            ПечСтавкаНДС = "Без НДС";
         КонецЕсли;
      КонецЕсли;           
      ПечТовар=СокрП(Товар.Наименование);
      ПечЕдиниц=Единица.ТипЕдиницы;
      ПечКолич=Формат(Количество,"Ч10.3");
      
      ПечАкцизЦена=" ----- ";
      ПечАкцизСумма=" ----- ";
      
      Если (Товар = Константа.АвансовыйПлатеж) или (ПустоеЗначение(СтранаПроисхождения) = 1) Тогда
         СтранаН = " ----- ";
      Иначе
         СтранаН = СтранаПроисхождения;
      КонецЕсли;
      
      НомерГТД_Н=?(ПустоеЗначение(ГТД)=1, " ----- ", ГТД);
      
      Таб.ВывестиСекцию("Строка");
      // Запоминаем текущий товар
      ПовторТовара = Товар;
   КонецЦикла;

Я просто плохо знаю язык 1с, подскажите плиз как тут можно написать, что я задумал.

Теги:

Похожие темы (3)

Рейтинг@Mail.ru

Поиск