Имя: Пароль:
1C
 
Расширение печатной формы счет фактура из реализации.
0 Роспатнюк Сергей Сер
 
07.03.19
12:32
работа выполняется в Бухгалтерия предприятия редакция 3.0 (3.0.67.74) на платформе 1С:Предприятие 8.3 (8.3.13.1513)
цель всех действий изменить параметр на макете ТоварКодТНВЭД на ТоварКод по требованию глав буха в колоне 1а.

Помогите прицепить расширение печатной формы СЧ выданный к документу реализация, к документу СЧ прицепил так,

&После("ДобавитьКомандыПечати")
Процедура Расш1_ДобавитьКомандыПечати(КомандыПечати)
        // Счет-фактура
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "СчетФактура(расширение)";
    КомандаПечати.Представление = НСтр("ru = 'Счет-фактура (расширение код)'");
    КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
    КомандаПечати.СписокФорм    = ""
            + "ФормаСписка,"
            + "ФормаДокументаНаРеализацию,"
            + "ФормаДокументаНаАванс,"
            + "ФормаДокументаНаСуммовуюРазницу,"
            + "ФормаДокументаНалоговыйАгент,"
            + "ФормаДокументаКорректировочный";

КонецПроцедуры

&После("Печать")
Процедура Расш1_Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)

    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактура(расширение)") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"СчетФактура(расширение)", "Счет-фактура (расширение код)",
            Расш1_ПечатьСчетовФактур981(МассивОбъектов, ОбъектыПечати, ТекстЗапросаПечатьСчетовФактур(,,Истина), ПараметрыПечати),,
            "Расш_ПФ_MXL_СчетФактура981");
    КонецЕсли;

КонецПроцедуры

Расш1_ПечатьСчетовФактур981... дальше только копипаст необходимых процедур и функций в итоге из СЧ все работает

добавил команду к реализации так

&После("ДобавитьКомандыПечати")
Процедура Расш1_ДобавитьКомандыПечати(КомандыПечати)
        // Счет-фактура
    КомандаПечати = КомандыПечати.Добавить();
    КомандаПечати.Идентификатор = "СчетФактура(расширение)";
    КомандаПечати.Представление = НСтр("ru = 'Счет-фактура (расширение код)'");
    КомандаПечати.Обработчик    = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";
        //КомандаПечати.Обработчик    = "УчетНДСКлиент.ВыполнитьКомандуПечатиСчетовФактур";
    КомандаПечати.СписокФорм    = ""
            + "ФормаСписка,"
            + "ФормаДокументаНаРеализацию,"
            + "ФормаДокументаНаАванс,"
            + "ФормаДокументаНаСуммовуюРазницу,"
            + "ФормаДокументаНалоговыйАгент,"
            + "ФормаДокументаКорректировочный";

КонецПроцедуры

1й обработчик команды имя макета верное СчетФактура(расширение) но выдает ошибку текст не помню но суть типо нет табдока
2й обработчик команды цепляет имя макета СчетФактура981 и в итоге в мое уловие Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактура(расширение)") Тогда не попадает.
1 Роспатнюк Сергей Сер
 
07.03.19
12:37
(0) соря СЧ = СФ* счет фактура, очепятички раза 3 ))
2 Роспатнюк Сергей Сер
 
07.03.19
12:50
что очень сложная задача неужели не осилим ?
3 Cyberhawk
 
07.03.19
12:54
Ник у тебя горделивый просто
4 RomanYS
 
07.03.19
12:55
(2) Предлагаешь угадать какая всё-таки ошибка?
В общем случае для идентификатора я бы не стал использовать пробелы, скобки и подобное.
5 Роспатнюк Сергей Сер
 
07.03.19
13:58
вот эта ошибка
    
Если ВременнаяПечатнаяФорма.ТабличныйДокумент <> Неопределено Тогда
                ПечатнаяФорма = КоллекцияПечатныхФорм.Добавить();
                ЗаполнитьЗначенияСвойств(ПечатнаяФорма, ВременнаяПечатнаяФорма);
                Если ВременнаяКоллекцияДляОднойПечатнойФормы.Количество() = 1 Тогда
                    ПечатнаяФорма.ИмяМакета = ИмяМакета;
                    ПечатнаяФорма.ИмяВРЕГ = ВРег(ИмяМакета);
                КонецЕсли;
            Иначе
                // Возникла ошибка при формировании печатной формы.
                Отказ = Истина;
            КонецЕсли;
            
        КонецЦикла;
        
        // Вызов исключения при возникновении ошибки.
        Если Отказ Тогда
            ТекстСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр(
                "ru = 'При формировании печатной формы ""%1"" возникла ошибка. Обратитесь к администратору.'"), ИмяМакета);
            ВызватьИсключение ТекстСообщенияОбОшибке;
        КонецЕсли;
6 Роспатнюк Сергей Сер
 
07.03.19
14:02
"текст не помню но суть типо нет табдока" в уловие Иначе Отказ = Истина попадаем только в том случае если ВременнаяПечатнаяФорма.ТабличныйДокумен = неопределено о чем я уже говорил выше, неужели вам так нужен именно текст ошибки ?
7 RomanYS
 
07.03.19
14:04
(6) нам ничего не надо. Тебе надо разобраться почему ВременнаяПечатнаяФорма.ТабличныйДокумент = неопределено
8 Роспатнюк Сергей Сер
 
07.03.19
14:04
(3) почему Ф.И.О. ты считаешь горделивым ником ?
9 Роспатнюк Сергей Сер
 
07.03.19
14:14
(7) Вы правы, подскажите куда можно копнуть
10 Cyberhawk
 
07.03.19
14:33
(8) Выглядит в две строки и три слова как мусор, занимает много места, никому не надо, да к тому же еще и не влезло до конца. Никакого уважения, одна гордня двигала тобою.
11 RomanYS
 
07.03.19
14:37
(9) Если методом тыка, я бы с (4) начал.
Но лучше отладчиком
12 Роспатнюк Сергей Сер
 
07.03.19
14:48
(10) как мусор выглядят (3) (10) которые не по теме вообще
13 Роспатнюк Сергей Сер
 
07.03.19
14:49
(10) Никакого уважения, одна гордня двигала тобою когда ты писал (3) (10) могу тоже самое сказать про тебя
14 Мимохожий Однако
 
07.03.19
14:57
(0) Не стесняйся. Включи отладчик. В расширении это достаточно удобно.
15 Cyberhawk
 
07.03.19
14:59
(12) "которые не по теме вообще" // Каждое сообщение - ответ на твой же вопрос. Как же не по теме-то? ))
16 Роспатнюк Сергей Сер
 
07.03.19
15:09
(15) в (3) на какой вопрос ты отвечал?
17 Cyberhawk
 
07.03.19
15:09
(16) На (2) конечно же. Других у тебя на тот момент не было.
18 Роспатнюк Сергей Сер
 
07.03.19
15:11
(17) если ты не понял он был риторическим)
19 Роспатнюк Сергей Сер
 
07.03.19
15:15
(17) ты и правда так думаешь как описал в (10) что же оставайся при своем мнении, просто в утверждении что мною двигало ты не прав.
20 Cyberhawk
 
07.03.19
15:43
"ты и правда так думаешь как описал в (10)" // Конечно: Я и правда так думал, когда писал в (10). Я писал то, что думаю. Внезапно? ))
Ну после твоего утверждения (в 19), что Я не прав, Я уже так не думаю (мне показалось, что тебе важно это знать, поэтому написал).
21 Роспатнюк Сергей Сер
 
07.03.19
16:35
(20) ок, лучше бы тебе показалось что высказывать то что ты думаешь о чьем либо никнейме в этой ветке будет не к месту.
22 RomanYS
 
07.03.19
16:36
Похоже тема ушла в философию, и там зациклилась)
23 Роспатнюк Сергей Сер
 
07.03.19
16:39
(22) ну задачу я уже решил правда не расширением, его доделаю как время будет, чисто из спортивного интереса заставлю работать )))
24 Роспатнюк Сергей Сер
 
07.03.19
16:41
(22) вот так ОбластьМакета.Параметры.ТоварКодТНВЭД = ОбластьМакета.Параметры.Товар.Код;
правда это в общем модуле так что обновлять немного сложней будет ну ничего у нас доработок и так куча )))
25 RomanYS
 
07.03.19
16:50
(24) с точки зрения производительности - ооочень плохо.
Лучше всё-таки запрос поправить чтобы код получить.

Ну и требование твоего ГБ - дурацкое. Потом переделывать будешь
26 Мимохожий Однако
 
07.03.19
17:02
(25) ОФФ: Будет по Ходжу Насреддину. Либо главбух уйдёт, либо ТС, либо база умрёт
27 Роспатнюк Сергей Сер
 
07.03.19
17:03
(25) про то какие задания и каких ГБ выполнять пусть печется ведущий программист, а я еще не дорос, начальник сказал значит надо.
Лучше всё-таки запрос поправить чтобы код получить я правильно понимаю найти где в запросе есть номенклатура.КодТНВЭД КАК ТоварКодТНВЭД и переделать на номенклатура.КодТНВЭД КАК ТоварКод
28 Роспатнюк Сергей Сер
 
07.03.19
17:04
(26) что такое ТС? и почему база умрет?
29 RomanYS
 
07.03.19
17:07
(27) наоборот) номенклатура.Код КАК ТоварКодТНВЭД
(28) ТС - ты (ТопикСтартер)
База не умрет, но большие с.ф. могут минутами формироваться из-за (24)
30 Роспатнюк Сергей Сер
 
07.03.19
17:11
(29) спасибо за объяснения переделаю в запросе.
но большие с.ф. могут минутами формироваться из-за (24) ну если бы такое случилось отыскать и исправить свои доработки не составило большого труда.
31 RomanYS
 
07.03.19
17:16
(30) Если доработка одна и ты всегда доступен для гнева пользователей - так и есть. А если там пяток таких как ты такими костылями поток задач пытаетесь закрыть, то (26) абсолютно прав.