Имя: Пароль:
1C
1С v8
Работа с параметрами
0 lenkakud
 
21.10.13
13:07
при отправке клиентам писем со счетами и актами надо в счете вывести фамилию клиента и его адрес(чтобы на конверте не писать ) а выводить при печати.Сделала обработку, написала параметр на макете (<Адрес>).теперь надо написать обработку.подскажите пожалуйста как? информацию надо брать из контрагентов.
1 Maxus43
 
21.10.13
13:11
не совем понятно...
Вопрос  в том как заполнить параемтр в макете?
2 lenkakud
 
21.10.13
14:02
ну да,как заполнить??
3 lenkakud
 
21.10.13
14:04
СтруктураРеквизитов = Новый Структура;
    СтруктураРеквизитов.Вставить("КИКонтрагента");
    ПолучениеНСИ.ПолучитьДанные(ДанныеШапки.ПлательщикСсылка, ДанныеШапки.Дата, СтруктураРеквизитов);
    Если ДанныеШапки.ВидКонтрагентаПлательщик = Перечисления.ВидыКонтрагентов.Организация Тогда
        ИмяАдреса   = "ЮрАдресКонтрагента";
        ИмяТелефона = "ТелефонКонтрагента";
    Иначе    
        ИмяАдреса   = "ЮрАдресФизЛица";
        ИмяТелефона = "ТелефонФизЛица";
    КонецЕсли;    
наверное вот так надо ?
4 User_Agronom
 
21.10.13
14:06
Новую печатную форму сваяй.
И там где заполняешь область макета
ИмяОбластиМакета.Параметры.ИмяПараметра = ...
5 lenkakud
 
21.10.13
14:16
Функция Печать () Экспорт
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПечатьДокументаСчет";
    
    МассивРезультатов = Документы.Счет.ДанныеДляПечатиСчета(СсылкаНаОбъект);
    
    ДанныеШапки = МассивРезультатов[0].Выгрузить()[0];
    ТаблицаТЧ   = МассивРезультатов[1].Выгрузить();
    
    Макет = ПолучитьМакет("Счет");
    
    ОбластьМакетаШапка  = Макет.ПолучитьОбласть("Шапка");
    ОбластьМакетаСтрока = Макет.ПолучитьОбласть("Строка");
    ОбластьМакетаИтого  = Макет.ПолучитьОбласть("Итого");
    ОбластьМакетаНДС    = Макет.ПолучитьОбласть("НДС");
    ОбластьМакетаПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьМакетаОбласть1 = Макет.ПолучитьОбласть("Область1");

    
    ПараметрыШапки = ОбластьМакетаШапка.Параметры;
    ПараметрыШапки.Заполнить(ДанныеШапки);
    
    ПараметрыШапки.НомерДата = "" + ДанныеШапки.Номер + " от " + Формат(ДанныеШапки.Дата, "ДЛФ=Д");
    ПараметрыШапки.НаименованиеОрганизации = ПараметрыШапки.НаименованиеОрганизации + " (ИНН: " + ДанныеШапки.ИННПолучателя + " / КПП: " + ДанныеШапки.КПППолучателя + ")";
    
    СтруктураРеквизитов = Новый Структура;
    СтруктураРеквизитов.Вставить("КИУчреждения", Новый Структура);
    СтруктураРеквизитов.КИУчреждения.Вставить("ЮрАдресУчреждения");
    СтруктураРеквизитов.КИУчреждения.Вставить("ТелефонПоЮрАдресуУчреждения");
    ПолучениеНСИ.ПолучитьДанные(ДанныеШапки.УчреждениеСсылка, ДанныеШапки.Дата, СтруктураРеквизитов);
    ПараметрыШапки.АдресТелефон = "" + СтруктураРеквизитов.ЮрАдресУчреждения + ", тел.: " + СтруктураРеквизитов.ТелефонПоЮрАдресуУчреждения;
    
    РеквизитыПолучателя = Новый Структура("ИННПолучателя, КПППолучателя, ТекстПолучателя, НомерСчетаПолучателя, НаименованиеБанкаПолучателя, БикБанкаПолучателя, СчетБанкаПолучателя", "ИНН", "КПП", "Корреспондент", "СчетНомер", "Банк", "БИК", "КоррСчет");
    РаботаСДиалогами.ПолучитьПлатежныеРеквизитыПоТребованиюБанка(ДанныеШапки.ЛицевойСчет, ДанныеШапки.РеквизитыЛицевогоСчета, РеквизитыПолучателя, Истина);
    ПараметрыШапки.Заполнить(РеквизитыПолучателя);
    
    ПараметрыШапки.КодБК = "" + ДанныеШапки.КБК + ДанныеШапки.КОСГУ;
    
    СтруктураРеквизитов = Новый Структура;
    СтруктураРеквизитов.Вставить("КИКонтрагента");
    ПолучениеНСИ.ПолучитьДанные(ДанныеШапки.ПлательщикСсылка, ДанныеШапки.Дата, СтруктураРеквизитов);
    Если ДанныеШапки.ВидКонтрагентаПлательщик = Перечисления.ВидыКонтрагентов.Организация Тогда
        ИмяАдреса   = "ЮрАдресКонтрагента";
        ИмяТелефона = "ТелефонКонтрагента";
    Иначе    
        ИмяАдреса   = "ЮрАдресФизЛица";
        ИмяТелефона = "ТелефонФизЛица";
    КонецЕсли;    
    
    Если ЗначениеЗаполнено(ДанныеШапки.СчетПлательщика) Тогда
        РеквизитыПлательщика = Новый Структура("ИННПлательщика, КПППлательщика, ТекстПлательщика, НомерСчетаПлательщика, НаименованиеБанкаПлательщика, БикБанкаПлательщика, СчетБанкаПлательщика", "ИНН", "КПП", "Корреспондент", "СчетНомер", "Банк", "БИК", "КоррСчет");
        РаботаСДиалогами.ПолучитьПлатежныеРеквизитыПоТребованиюБанка(ДанныеШапки.СчетПлательщика,ДанныеШапки.СчетПлательщика,РеквизитыПлательщика);
        
        ПараметрыШапки.пПлательщик = "ИНН " + РеквизитыПлательщика.ИННПлательщика + ", "
                                    + ?(ДанныеШапки.ПечататьКПППлательщика,"КПП "+ДанныеШапки.КПППлательщика+", ","")
                                    + РеквизитыПлательщика.ТекстПлательщика    + ", счет: "
                                    + РеквизитыПлательщика.НомерСчетаПлательщика + " в "
                                    + РеквизитыПлательщика.НаименованиеБанкаПлательщика + ", БИК "
                                    + РеквизитыПлательщика.БикБанкаПлательщика + ", к/с "
                                    + РеквизитыПлательщика.СчетБанкаПлательщика + ", адрес: "
                                    + ?(СтруктураРеквизитов.Свойство(ИмяАдреса), СтруктураРеквизитов[ИмяАдреса], "") + " тел.: "
                                    + ?(СтруктураРеквизитов.Свойство(ИмяТелефона), СтруктураРеквизитов[ИмяТелефона], "");
    Иначе
        ПараметрыШапки.пПлательщик = "ИНН " + ДанныеШапки.ИННПлательщика + ", "
                                    + ДанныеШапки.Плательщик + ", адрес: "
                                    + ?(СтруктураРеквизитов.Свойство(ИмяАдреса), СтруктураРеквизитов[ИмяАдреса], "") + " тел.: "
                                    + ?(СтруктураРеквизитов.Свойство(ИмяТелефона), СтруктураРеквизитов[ИмяТелефона], "");
    КонецЕсли;                                
    
    ТабДокумент.Вывести(ОбластьМакетаШапка);
    
    Ном = 0;
    Для каждого ТекСтрока из ТаблицаТЧ Цикл
        Ном = Ном + 1;
        ОбластьМакетаСтрока.Параметры.Заполнить(ТекСтрока);
        ОбластьМакетаСтрока.Параметры.Ном = Ном;
        ТабДокумент.Вывести(ОбластьМакетаСтрока);
    КонецЦикла;    
    
    ОбластьМакетаИтого.Параметры.ИтогоСумма = ТаблицаТЧ.Итог("Сумма");
    ТабДокумент.Вывести(ОбластьМакетаИтого);
    
    ОбластьМакетаНДС.Параметры.ИтогоНДС = ТаблицаТЧ.Итог("СуммаНДС");
    ОбластьМакетаНДС.Параметры.ТекстНДС = ?(ДанныеШапки.СуммаВключаетНДС, "В т.ч. НДС:", "Итого сумма НДС:");
    ТабДокумент.Вывести(ОбластьМакетаНДС);
    
    СуммаВсего = ТаблицаТЧ.Итог("Всего");
    ОбластьМакетаПодвал.Параметры.ИтогоВсего = СуммаВсего;
    ОбластьМакетаПодвал.Параметры.КоличествоСтрок = Ном;
    ОбластьМакетаПодвал.Параметры.ИтогоВсегоПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаВсего, ДанныеШапки.ВалютаДокумента);
    //ОбластьМакетаПодвал.Параметры.ИтогоВсегоПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаВсего,глЗначениеПеременной("глВалютаРегламентированногоУчета"));
    
    ОбластьМакетаПодвал.Параметры.ФИОРуководитель = БухгалтерскийУчет.ФИО(ДанныеШапки.Руководитель, Истина);
    ОбластьМакетаПодвал.Параметры.ФИОБухгалтер    = БухгалтерскийУчет.ФИО(ДанныеШапки.ГлавныйБухгалтер, Истина);
    ТабДокумент.Вывести(ОбластьМакетаПодвал);
    
      
    
    Возврат ТабДокумент;
    
     ФормированиеПечатныхФорм.Печать(ТабДокумент);
    Макет = ПолучитьМакет("Счетик");
    ОбластьМакетаОбласть1 = Макет.ПолучитьОбласть("Область1");
    ТабДокумент.Вывести(ОбластьМакетаОбласть1);
    
        
    КонецФункции
форму сделала, в модуле переделала.в самом макете параметр обозвала <Адрес>...
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn