Имя: Пароль:
1C
1С v8
Автозаполнение строк в новой ТН
0 Евгений777
 
01.02.21
15:52
Добрый день не пойму почему в новой ТН 2020 не получается делать автозаполнения
Прописал данные для заполнения из бланков
Если Шапка.Покупатель = Справочники.Контрагенты.НайтиПоКоду("02049") Тогда
        ДанныеДокумента.Вставить("Пункт6_6", "специалист отдела логистики Иванов И.О.по довер. №2 от 01.01.20");
        ДанныеДокумента.Вставить("Пункт16_5", "специалист отдела логистики Иванов И.О.по довер. №2 от 01.01.20");



// Процедура заполняет форму заполнения бланков "Транспортная накладная" и "Сопроводительная ведомость".
//
Процедура ЗаполнитьДанныеПечатиТТНПриложение4()
    
    Если ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
        ДанныеДокумента = ПечатьТТН(Истина);
    ИначеЕсли ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.РасходныйОрдерНаТовары") Тогда
        ДанныеДокумента = ПечатьТТН_РасходныйОрдерНаТовары(Истина);
    ИначеЕсли ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.ПеремещениеТоваров") Тогда
        ДанныеДокумента = ПечатьТТН_ПеремещениеТоваров(Истина);
    Иначе
        возврат;
    КонецЕсли;
    
    Для Каждого ЗначениеЗаполненияБланкаТТН Из ДанныеДокумента Цикл
        Если ЭлементыФормы.Найти(ЗначениеЗаполненияБланкаТТН.Ключ) <> Неопределено Тогда
            ЭтаФорма[ЗначениеЗаполненияБланкаТТН.Ключ] = ЗначениеЗаполненияБланкаТТН.Значение;
        КонецЕсли;
    КонецЦикла;
    Пункт0_1 = 1;
    Пункт0_0 = 1;
    Пункт0_2 = СсылкаНаОбъект.Дата;
    Пункт11_3 = 1;

        
КонецПроцедуры // ЗаполнитьДанныеПечатиТТНПриложение4()

// Процедура получает данные заполнения для бланков "Транспортная накладная" и "Сопроводительная ведомость".
//
Функция ПолучитьДанныеДляТТНПриложение4(ЗапросТовары, Шапка)
    
    ДанныеДокумента = Новый Структура();
    
    ЕдиницаИзмеренияВеса = Константы.ЕдиницаИзмеренияВеса.Получить();
    
    СведенияОГрузополучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузополучатель,  Шапка.ДатаДокумента);
    СведенияОГрузоотправитель = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузоотправитель, Шапка.ДатаДокумента);
    ДанныеДокумента = Новый Структура();
    Если Шапка.ГрузополучательЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
        ДанныеДокумента.Вставить("Пункт2_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе,  СтрокаРеквизитовОписаниеОрганизации));
        ДанныеДокумента.Вставить("Пункт2_2", "");
    ИначеЕсли Шапка.ГрузополучательЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
        

        ДанныеДокумента.Вставить("Пункт2_2", АдресТранзит);
        Иначе    
            ДанныеДокумента.Вставить("Пункт2_2", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе,  "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"));
              КонецЕсли;
    
    Если Шапка.ГрузоотправительЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
        ДанныеДокумента.Вставить("Пункт1_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, СтрокаРеквизитовОписаниеОрганизации));
        ДанныеДокумента.Вставить("Пункт1_2", "");
        ДанныеДокумента.Вставить("Пункт15_6", ДанныеДокумента.Пункт1_1);
    ИначеЕсли Шапка.ГрузоотправительЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
        ДанныеДокумента.Вставить("Пункт1_2", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, СтрокаРеквизитовОписаниеОрганизации));
        ДанныеДокумента.Вставить("Пункт1_1", "");
        ДанныеДокумента.Вставить("Пункт15_6", ДанныеДокумента.Пункт1_2);
    КонецЕсли;
    
    ДанныеДокумента.Вставить("Пункт3_2", "Всего мест: " + ЧислоПрописью(ЗапросТовары.Итог("КоличествоМест"), ,",,,,,,,,0"));
    Если ЗначениеЗаполнено(ЕдиницаИзмеренияВеса) И ЗапросТовары.Итог("МассаБрутто") > 0.00 Тогда
        ДанныеДокумента.Вставить("Пункт3_3", "Масса брутто: " + ЧислоПрописью(ЗапросТовары.Итог("МассаБрутто"), ,",,,,,,,,0")+ " " + СокрЛП(ЕдиницаИзмеренияВеса) + ".");
    


    КонецЕсли;

    ДанныеДокумента.Вставить("Пункт10_3Ведомость", СведенияОГрузополучателе.ПолноеНаименование);
    ДанныеДокумента.Вставить("Пункт7_1", Шапка.АдресДоставки);
    
  
    Возврат ДанныеДокумента;
    Если Шапка.Покупатель = Справочники.Контрагенты.НайтиПоКоду("02049") Тогда
        ДанныеДокумента.Вставить("Пункт6_6", "специалист отдела логистики Иванов И.О.по довер. №2 от 01.01.20");
        ДанныеДокумента.Вставить("Пункт16_5", "специалист отдела логистики Иванов И.О.по довер. №2 от 01.01.20");
      конецесли
    
КонецФункции //ПолучитьДанныеДляТТНПриложение4()
1 ZDenis
 
01.02.21
16:55
(0) Потому что из функции ПолучитьДанныеДляТТНПриложение4 ты выходишь раньше, чем прописываешь свое автозаполнение
2 Евгений777
 
01.02.21
17:39
(1)  Возврат ДанныеДокумента;  перенес в конец кода но ни чего не изменилось
3 Евгений777
 
01.02.21
17:40
Были у кого нибудь проблемы с новой внешней печатной формы ТН2020  для УТ 10.3?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший