7.7 Внешний отчет в 7.7

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем mks-07, 22 авг 2012.

  1. TopicStarter Overlay
    mks-07
    Offline

    mks-07

    Регистрация:
    20 май 2012
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Добрый вечер. Надеюсь на вашу помощь, я не программист, а системный администратор обладающий логикой...и здесь попросили изменить внешний отчет в 7.7....короче нужно добавить название документа....и я не могу понять где в коде за это отвечает какая переменная, чтобы ее запихнуть в макет, может кто подскажет.... В макете выделено место где должно быть название документа, а рядом <Контрагент>, контрагент данного документа, я там понимаю, код уже прописан к этому документу, просто нужно понять где именно. Подскажите пожалуйста! Заранее спасибо!

    Код:
    Перем СтрокаТек;   
    Функция НайтиКонтрагента(Опер) Далее
    Процедура Сформировать()
    ФИОПредставителя = ФИО(Склад);
    Должность = СокрЛП(Склад.Должность); 
    Ит = СоздатьОбъект("БухгалтерскиеИтоги"); 
    Орган = СокрЛП(Орг.ПолнНаименование);
    ФирмаОКПО = Орг.ОКПО;
    
    Если Тип=1 Тогда
    Если ПустоеЗначение(МХ)=0 Тогда
    Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МХ);
    КонецЕсли;
    Ит.ВыполнитьЗапрос(ДатаНач,ДатаКон,СчетПоКоду("41.2"));
    Иначе
    Ит.ВыполнитьЗапрос(ДатаНач,ДатаКон,СчетПоКоду("41.1"));
    КонецЕсли; Сальдо = Ит.СНД();
    Таб = СоздатьОбъект("Таблица");
    Таб.ВывестиСекцию("Шапка");											   
    Таб.ВывестиСекцию("приход");
    Таб.Опции(0,0,0,0);
    ТабПрих = СоздатьОбъект("ТаблицаЗначений");
    ТабПрих.НоваяКолонка("Приход","Число");
    ТабПрих.НоваяКолонка("Контрагент","ВидыСубконто.Контрагенты");
    ТабПрих.НоваяКолонка("ДатаДокум");
    ТабПрих.НоваяКолонка("НомерДок","Строка");
    ТабПрих.НоваяКолонка("Документ","Документ");
    ТабРасх = СоздатьОбъект("ТаблицаЗначений");
    ТабРасх.НоваяКолонка("Расход","Число");
    ТабРасх.НоваяКолонка("Контрагент","ВидыСубконто.Контрагенты");
    ТабРасх.НоваяКолонка("ДатаДокум","Дата");
    ТабРасх.НоваяКолонка("НомерДок","Строка");
    ТабРасх.НоваяКолонка("Документ","Документ");
    Опер = СоздатьОбъект("Операция");
    Если Тип=1 Тогда
    Если ПустоеЗначение(МХ)=0 Тогда
    Опер.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МХ);
    КонецЕсли; Опер.ВыбратьОперацииСПроводками(ДатаНач,ДатаКон,"41.2");
    Иначе										 
    Опер.ВыбратьОперацииСПроводками(ДатаНач,ДатаКон,"41.1");
    КонецЕсли;
    Пока Опер.ПолучитьПроводку() = 1 Цикл 
    Если  (Опер.Дебет.Счет = СчетПоКоду("41.1")) или (Опер.Дебет.Счет = СчетПоКоду("41.2")) Тогда
    Если  Опер.Документ.Вид() <> "Операция" Тогда  ТабПрих.НоваяСтрока();
    
    ТабПрих.Приход  =  Опер.Сумма;
    ТабПрих.ДатаДокум = Опер.ДатаОперации;
    ТабПрих.НомерДок = Опер.Документ.НомерДок;
    Если Опер.Документ.Вид() = "Сторно" Тогда
    ТабПрих.Контрагент = Опер.Документ.СторнируемыйДокумент.Контрагент;
    ИначеЕсли Опер.Документ.Вид() = "ЗакрытиеМесяца" Тогда												 
    ТабПрих.Контрагент = "Корректир. средней ст-ти";
    Иначе
    ТабПрих.Контрагент = НайтиКонтрагента(Опер);
    КонецЕсли; ТабПрих.Документ = Опер.Документ;
    Иначе ТабПрих.НоваяСтрока();
    ТабПрих.Приход  =  Опер.Сумма;
    ТабПрих.ДатаДокум = Опер.ДатаОперации;
    ТабПрих.НомерДок = Прав(Опер,6);
    
    ТабПрих.Контрагент = НайтиКонтрагента(Опер);
    ТабПрих.Документ = Опер.Документ;
    КонецЕсли;
    ИначеЕсли (Опер.Кредит.Счет = СчетПоКоду("41.1")) или (Опер.Кредит.Счет = СчетПоКоду("41.2")) Тогда
    Если Опер.Документ.Вид() <> "Операция" Тогда
    ТабРасх.НоваяСтрока();
    ТабРасх.Расход  =  Опер.Сумма;
    
    Если Опер.Документ.Вид() = "Сторно" Тогда
    ТабРасх.Контрагент = Опер.Документ.СторнируемыйДокумент.Контрагент;
    ИначеЕсли Опер.Документ.Вид() = "ЗакрытиеМесяца" Тогда
    ТабРасх.Контрагент = "Корректир. средней ст-ти";
    Иначе
    ТабРасх.Контрагент = НайтиКонтрагента(Опер);
    КонецЕсли;
    
    ТабРасх.ДатаДокум = Опер.ДатаОперации;
    ТабРасх.НомерДок = Опер.Документ.НомерДок;
    ТабРасх.Документ = Опер.Документ;
    Иначе ТабРасх.НоваяСтрока();
    ТабРасх.Расход  =  Опер.Сумма;
    ТабРасх.ДатаДокум = Опер.ДатаОперации;
    ТабРасх.НомерДок = Прав(Опер,6);
    ТабРасх.Контрагент = НайтиКонтрагента(Опер);
    ТабРасх.Документ = Опер.Документ;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла; 
    ТабПрих.Сортировать("ДатаДокум");
    ТабРасх.Сортировать("ДатаДокум");
    ТабПрих.Свернуть("НомерДок,Контрагент,ДатаДокум,Документ","Приход");
    ТабРасх.Свернуть("НомерДок,Контрагент,ДатаДокум,Документ","Расход");
    ЧислоДок=0;
    
    ТабПрих.ВыбратьСтроки();
    Пока ТабПрих.ПолучитьСтроку()=1  Цикл
    ЧислоДок=ЧислоДок+1;
    Контрагент = ТабПРих.Контрагент;
    ДатаДок = ТабПРих.ДатаДокум;
    НомерДок = ТабПРих.НомерДок;
    Сумма = ТабПРих.Приход;
    Таб.ВывестиСекцию("Строка");
    ИтогПриход = ИтогПриход + ТабПРих.Приход;
    КонецЦикла;
    
    Таб.ВывестиСекцию("ИтогоПоПриходу"); 
    ТабРасх.ВыбратьСтроки();
    Пока ТабРасх.ПолучитьСтроку()=1  Цикл
    ЧислоДок=ЧислоДок+1;
    Контрагент = ТабРасх.Контрагент;
    ДатаДок = ТабРасх.ДатаДокум;
    НомерДок = ТабРасх.НомерДок;
    Сумма = ТабРасх.Расход;
    Если ТабРасх.НомерСтроки = 1 Тогда																					   
    Таб.ВывестиСекцию("Расход");
    Таб.ВывестиСекцию("строкаР");
    ИтогРасход = ИтогРасход + ТабРасх.РАсход;
    Иначе Таб.ВывестиСекцию("строкаР");
    ИтогРасход = ИтогРасход + ТабРасх.РАсход;
    КонецЕсли;
    КонецЦикла; 
    Таб.ВывестиСекцию("ИтогоПоРасходу");
    Таб.ВывестиСекцию("Подвал");
    Таб.ТолькоПросмотр(1);
    Таб.ПараметрыСтраницы(,,,20,,,,,, 1);
    Таб.Показать("Товарный отчёт",""); 
    КонецПроцедуры
    Процедура ПриОткрытии()
    
    ДатаСост=ТекущаяДата();
    ДатаНач=НачалоПериодаБИ();
    ДатаКон=КонецПериодаБИ();
    КонецПроцедуры
    
    Функция НайтиКонтрагента(Опер)
    Опер1 = СоздатьОбъект("Операция");
    Опер1.НайтиОперацию(Опер.Документ);
    Опер1.ВыбратьПроводки();
    Пока Опер1.ПолучитьПроводку() = 1 Цикл
    Если ПустоеЗначение(Опер1.Дебет.Контрагенты)=0 Тогда																							 
    Контрагент = Опер1.Дебет.Контрагенты;
    Прервать; ИначеЕсли ПустоеЗначение(Опер1.Кредит.Контрагенты)=0 Тогда
    Контрагент = Опер1.Кредит.Контрагенты;
    Прервать;
    Иначе Контрагент = Опер1.Содержание;
    КонецЕсли;
    КонецЦикла;
    Возврат Контрагент;
    КонецФункции

    Вложения:

    • 555.jpg
      555.jpg
      Размер файла:
      126,5 КБ
      Просмотров:
      83
  2. Бухгалтерский угодник
    Offline

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

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    Лучше выложите сам отчет

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