Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Редактирование печатной формы счета в1с7.7          
jojojoba2 Подменю пользователя
сообщение 08.10.19, 10:56
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 56
Спасибо сказали: 0 раз
Рейтинг: 0

Добрый день!

Помогите начинающему программисту и просьба не судить строго))). Я изучаю программирование в 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.

Заранее спасибо.


 ! 

Правила: 9
 


Сообщение отредактировал Vofka - 08.10.19, 11:29

nik389 Подменю пользователя
сообщение 08.10.19, 11:19
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35

так а что тут непонятного?

тут нет запроса, идет перебором

вот тут цикл, перебираются строки документа:
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
ЕдИзм = ?(ТМЦ.Вид()="ТМЦ",Ед,ТМЦ.БазЕдиница);


т.к. этот код у вас выполняется в контексте документа, сразу идет обращение к данным самого объекта документа, если можно так выразится
ТМЦ - это у вас реквизит табличной части документа, все предельно просто

"прописать параметр" - прямо тут берете и пишите

jojojoba2 Подменю пользователя
сообщение 08.10.19, 11:44
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 56
Спасибо сказали: 0 раз
Рейтинг: 0

nik389 @ Сегодня, 12:19 * ,

Если можно напишите,пожалуйста, пример.


jojojoba2 @ Сегодня, 12:35 * ,

Дело в том, что реквизита Р/р и Найменование банка нету в документе счет-фактура. Его нужно "подвязать" из справочника контрагенты.

nik389 Подменю пользователя
сообщение 08.10.19, 11:53
Сообщение #4

Завсегдатай
****
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35

jojojoba2 @ Сегодня, 12:35 * ,

пример?
ну вот вам пример.
Допустим, нам в счете в макете нужно сделать еще одну колонку, и если ТМЦ - услуга, писать туда "Услуга"
тогда делаем колонку, в строке Тип Выражение, пишем туда переменную пУслуга
а в цикл добавляем:
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
пУслуга = ""; //пустая строка
Если ТМЦ.Услуга = 1 Тогда//(предположим что у нас в справочнике тмц есть такой реквизит)
  пУслуга = "Услуга";
КонецЕсли;


Цитата(jojojoba2 @ 08.10.19, 12:44) *
Дело в том, что реквизита Р/р и Найменование банка нету в документе счет-фактура. Его нужно "подвязать" из справочника контрагенты.

У вас есть ссылка на контрагента в счете?
вот и доставайте оттуда рр и наименование счета
если расчетный счет это реквизит справочника контрагенты, будет что-то вроде

мойРСчет = Контрагент.РСчет

jojojoba2 Подменю пользователя
сообщение 08.10.19, 11:54
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 56
Спасибо сказали: 0 раз
Рейтинг: 0

nik389 @ Сегодня, 12:53 * ,
Спасибо.Буду пробовать.

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.04.24, 21:28
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!