|
v7: Редактирование печатной формы счета в1с7.7 | ☑ | ||
---|---|---|---|---|
0
jojojoba2
08.10.19
✎
11:58
|
Добрый день!
Помогите начинающему программисту и просьба не судить строго))). Я изучаю программирование в 1С 8 . Поставили задачу по 1с 7.7 Предприятие (Бухгалтерский учет по Украине) - доработать печатную форму документа счет-фактура. Начал разбиратся и увидел что 7 очень сильно отличается от 8. Есть внешний макет каторый лежит в \1cv77_db\Management\ExtForms\PrnForms SF3_ukr.mxl. В печатной форме нужно вывести р/р и банк контрагента. В документе счет-фактура нашел процедуру ПЕЧАТЬ Процедура Печать() //---- Ф=_глПолучитьИмяФайлаПечатнойФормы("SF3",Метаданные.Документ(Вид()).Представление()); ЕстьСкидка = 1; фУкр = ?(Константа.ФормыНаУкраинском = Да, 1, 0); Если (Константа.ИспользоватьСкидку<>Да) Или (ЧтоПродаем<>Перечисление.ЧтоПродаем.ТМЦ) Тогда ЕстьСкидка = 0; КонецЕсли; Таб = СоздатьОбъект("Таблица"); Если ПустоеЗначение(Ф)=0 Тогда Таб.ИсходнаяТаблица(КаталогИБ()+"ExtForms\PrnForms\"+Ф); Иначе Таб.ИсходнаяТаблица("Таблица"+?(Константа.ФормыНаУкраинском = Да,"_Укр","")); КонецЕсли; Если Заказ.Выбран() = 1 Тогда Номер = Заказ.НомерДок; Если Заказ.Вид() = "Договор" Тогда Если ПустоеЗначение(Заказ.НомерДоговора) = 0 Тогда Номер = Заказ.НомерДоговора; КонецЕсли; КонецЕсли; тЗаказ = глУкр(Заказ.ПредставлениеВида()) + " № " +СокрЛП(Номер) + ?(фУкр = 1, " від "," от ") + Заказ.ДатаДок;; Иначе тЗаказ = ?(фУкр = 1,"Без замовлення","Без заказа"); КонецЕсли; глУстПропись(Валюта); Таб.ВывестиСекцию("Шапка"); Ном = 1; ВыбратьСтроки(); Пока ПолучитьСтроку()=1 Цикл ЕдИзм = ?(ТМЦ.Вид()="ТМЦ",Ед,ТМЦ.БазЕдиница); Таб.ВывестиСекцию("Строка"); Если ФКомп = 1 Тогда СпрКомп = СоздатьОбъект("Справочник.СоставКомплекта"); СпрКомп.ИспользоватьВладельца(ТМЦ); СпрКомп.ВыбратьЭлементы(); Пока СпрКомп.ПолучитьЭлемент() = 1 Цикл Таб.ВывестиСекцию("Составляющая"); КонецЦикла; КонецЕсли; Ном = Ном+1; КонецЦикла; Если ЕстьСкидка=1 Тогда Таб.ВывестиСекцию("Скидка"); КонецЕсли; Если (ВидНДС.Код = "БезНДС") Тогда Таб.ВывестиСекцию("БезНДС"); Иначе Таб.ВывестиСекцию("ДноНДС"); КонецЕсли; Таб.ВывестиСекцию("Дно"); Таб.Защита(Константа.ФлагЗащитыТаблиц); Таб.ТолькоПросмотр(1); Таб.Опции(0,0,,); Таб.Показать("ПЕЧАТЬ: Счет-фактура",""); КонецПроцедуры Я не могу понять где в коде и в каких модулях выводятся параметры и шаблоны печатной формы каторые есть на форме . Где код с запросами по выводу данных. Искал во всех модулял в конфигурации,не нашел. Может есть какой-то внешний модуль?Где он может находиться? Как правильно в 1с7.7 прописать новый параметр в коде? Помогите разобраться.Если можно скиньте примеры или какую-то инструкцию. Смотрел видео - там редактируют печатную форму вместе с макетом и с модулем *.ert . У меня внешний только макет *.xml. Заранее спасибо. |
|||
1
runoff_runoff
08.10.19
✎
12:00
|
(0) там нет параметров.. все идентификаторы из области видимости процедуры печати..
|
|||
2
Масянька
08.10.19
✎
12:02
|
(0) У тебя в \1cv77_db\Management\ExtForms\ есть еще что?
|
|||
3
jojojoba2
08.10.19
✎
12:24
|
"У тебя в \1cv77_db\Management\ExtForms\ есть еще что?"
Да там куча файлов и папок. |
|||
4
Birmingem
08.10.19
✎
12:25
|
В твоей печатной форме \1cv77_db\Management\ExtForms\PrnForms SF3_ukr.mxl. (т.е. в макете термином 1С8) в нужной тебе ячейке пишешь имя переменной, например МойБанк, в свойствах ячейки в поле Тип выбираешь Выражение.
В модуле пишешь МойБанк = Спр.ТудымСюдым; Все. |
|||
5
jojojoba2
08.10.19
✎
12:31
|
В справочнике Контрагенты нету непосредственно реквизита р/р ,но есть пРС(он отвечает за вывод информации) В модуле формы нашел пРС = РС.НомерСчета;
Как это прописать правильно в модуле формы документа счет-фактура в процедуре ПЕЧАТЬ,чтобы коректно выводилось на форме печате |
|||
6
Масянька
08.10.19
✎
12:44
|
(3) В папке отсортируй по имени.
Возьми 2 файла с одинаковым именем. Открой файл с расширением .EFD. Посмотри, подумай. (этот файл можно открыть текстовым редактором) Открой файл с расширением .ert. Этот файл открывается в конфигураторе. Разница между семеркой и восьмеркой, есесьно, есть. Семерка проще. Подумаешь - возможно разберешься. Макеты семерки и восьмерки - почти одинаковы (печатные). Печать разная. |
|||
7
user-ok
08.10.19
✎
12:57
|
(5) Расчетніе счета хранятся в подчиненном справочнике. И в общем случае их может быть много. Реквизит "сРС" есть только на форме и заполняется в том случае, когда РС один. Что ты будешь выводить когда счетов несколько?
Если задача вывести единственный или первый попавшийся РС - смотри процедуру ПроверитьКвоРС() в форме элемента справочника Контрагенты. и получай счет по образу и подобию |
|||
8
Злопчинский
08.10.19
✎
15:05
|
если РС банка нет в док.реализация - то смотреть в заячвке покупателя/счете на основании которой введен Реализация. Все.
Если неоткуда взять - брать РС, назначенный основным для фирмы. если нет понятия "основной" - брать первый из РС который не закрыт (в карточке РС) или последний из незакрытых который открыт позже всех. я бы так примерно сделал |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |