7.7 печать счетфактуры

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Peroman, 30 июл 2010.

  1. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Конфа ТиС - вопрос как вывести на печать в счетфактуре полное наименование номенклатуры, а то выводится сокращенно.
    Печать из документа пакет продаж
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Код:
    ?(ПустоеЗначение(Номенклатура.ПолнНаименование)=1,Номенклатура.Наименование,Номенклатура.ПолнНаименование)
    
    
  3. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Не, не то.
    Ибо во первых, в номенклатуре в полнНаименование нету пустого значения(проверял) а во вторых печать счетфактуры из документа ПакетПродаж, берется из документа счет фактура

    Код:
    
    //печать счет-фактуры
    Если (СФ = 1) и (К_СФ > 0) Тогда
    СписокПараметровПечати = СоздатьОбъект("СписокЗначений");		
    ДокСФ = СоздатьОбъект("Документ.СчетФактураВыданный");
    НомДок="СФ-" + СокрЛП(НомерДок);
    ДокСФ.НайтиПоНомеру(НомДок,ДатаДок);
    Если ДокСФ.Выбран()=1 Тогда
    Если ДокСФ.Проведен()=1 Тогда
    ДокСФ.СделатьНеПроведенным();
    КонецЕсли;
    ДокСФ.УдалитьСтроки();
    Иначе
    ДокСФ.Новый();           
    КонецЕсли;
    СкопироватьРеквизитыШапки(Контекст, ДокСФ);
    //Если ПустоеЗначение(ГрузоОтправитель)=0 тогда
    //	ДокСф.Грузоотправитель=ГрузоОтправитель;
    //Иначе 
    //	ДокСФ.Грузоотправитель="";
    //КонецЕсли;
    ДокСФ.НомерДок=НомДок;
    ДокСФ.ДатаДок = ДатаДок;
    ДокСФ.АвтоВремяТекущее();
    // идентичные реквизиты шапки
    ДокСФ.Договор = ПодобратьДоговор(Валюта);
    
    ВыбратьСтроки();
    Пока ПолучитьСтроку()>0 Цикл
    ДокСФ.НоваяСтрока();
    //Если Номенклатура.Наименование2<>"" Тогда ДокСФ.Наименование=Номенклатура.Наименование2;
    ДокСФ.Наименование=Номенклатура.ПолнНаименование;
    //КонецЕсли;
    ДокСФ.Количество=Количество;
    ДокСФ.Единица=Единица.ОКЕИ;
    
    Если Валюта.Наименование="руб." Тогда
    ДокСФ.Цена=Окр(Цена-Скидка.Процент/100*Цена,2,1);
    ДокСФ.Сумма=Окр(ДокСФ.Цена*Количество,2,1);
    Иначе
    ДокСФ.Цена=Окр(Окр(Цена-Скидка.Процент/100*Цена,3,1)*КурсДляВалюты(Валюта),2,1); //глКурсДляВалюты(Договор.ВалютаВзаиморасчетов,ДатаДок),2,1);
    ДокСФ.Сумма=Окр(ДокСФ.Цена*Количество,3,1);
    КонецЕсли;
    
    Если СуммаДоп>0 Тогда       
    Коэф=Окр(СуммаДоп/(СуммаВзаиморасчетов-СуммаДоп)*ДокСФ.Сумма,2);
    ИтКоэф=ИтКоэф+Коэф;
    Если ИтКоэф>СуммаДоп Тогда
    Коэф=Коэф-(ИтКоэф-СуммаДоп);
    КонецЕсли;
    ДокСФ.Сумма=ДокСФ.Сумма+Коэф;
    Если НомерСтроки=КоличествоСтрок() Тогда
    Если ИтКоэф<СуммаДоп Тогда
    ДокСФ.Сумма=ДокСФ.Сумма+(СуммаДоп-ИтКоэф);
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    
    ДокСФ.Цена=ДокСФ.Сумма/Количество;
    
    ДокСФ.СтавкаНДС=СтавкаНДС;
    
    Если СуммаВклНДС=1 Тогда
    ДокСФ.СуммаНДС=Окр(ДокСФ.Сумма*глВыделяемыйНДС(СтавкаНДС),2,1);
    Иначе
    ДокСФ.СуммаНДС=ДокСФ.Сумма*глНачисляемыйНДС(СтавкаНДС);
    КонецЕсли;
    
    //ДокСФ.СуммаНДС=Окр(СуммаНДС*КурсДляВалюты(Валюта),2,1);
    ДокСФ.СтавкаНП=СтавкаНП;
    ДокСФ.СуммаНП=Окр(СуммаНП*КурсДляВалюты(Валюта),2,1); //глКурсДляВалюты(Договор.ВалютаВзаиморасчетов,ДатаДок),2,1);				
    ДокСФ.СтранаПроисхождения=Номенклатура.СтранаПроисхождения;
    ДокСФ.ГТД=Номенклатура.НомерГТД
    КонецЦикла;
    
    ДокСФ.Записать();
    //			ДокСФ.Провести(1);
    
    Если БПСпособПечати = 1 Тогда
    СписокПараметровПечати.Установить("Команда","ПечатьНаЭкран");
    Иначе
    СписокПараметровПечати.Установить("Команда","ПечатьНаПринтер");	
    КонецЕсли;
    
    СписокПараметровПечати.Установить("КолЭкз",К_СФ);
    СписокПараметровПечати.Установить("АдресДоставки",АдресДоставки);	
    ОткрытьФорму(ДокСФ.ТекущийДокумент(),СписокПараметровПечати);
    
    ДокСФ.Удалить(1);
    КонецЕсли;
    
    
  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Начнем с того что в СТАНДАРТНОЙ ТиС нет документа/обработки ПакетПродаж - это ваша самописка. И в угадайку я не играю.
    И как расшифровать фразу: в номенклатуре в полнНаименование нету пустого значения(проверял) ПустоеЗначение это просто ФУНКЦИЯ. Задавайте пожалуста вопросы корректнее если заинтересованы в правильном ответе
  5. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    Да ПакетПродаж самописка. Разобрался у меня резались названия из длины реквизита(наименование) в счет-фактуре. Всем спасибо тему можно закрывать.
  6. TopicStarter Overlay
    Peroman
    Offline

    Peroman Опытный в 1С

    Регистрация:
    26 май 2009
    Сообщения:
    879
    Симпатии:
    13
    Баллы:
    29
    В смысле у меня в справочнике номенклатура в полннаименовании во всех позициях есть данные, я пробежался по справочнику:
    Код:
    ВыбратьЭлементы()
    
    

Поделиться этой страницей