Имя: Пароль:
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) абсолютно прав.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn