Имя: Пароль:
1C
1С v8
Создание внешней формы обработки Акта оказанных услуг
0 lenkakud
 
16.10.13
16:49
Я в 1С только недавно стала работать, столкнулась с небольшой проблемой.необходимо для удобства создать отдельную обработку, где будет выводиться акт оказанных услуг с надписью внизу(вернуть второй экземпляр по адресу...).Начала делать обработку,создала реквизит-СсылкаНаОбъект, перекинула макет,теперь надо в модуль загнать код.Объясните что там нужно писать ?
1 Бледно Золотистый
 
16.10.13
16:51
(0) Код?
2 vladko
 
16.10.13
16:56
(0)
тоже самое, то только обращение к реквизитам документа не на прямую, а через ссылкуНаОбъект
3 lenkakud
 
16.10.13
16:57
(1)     
Функция ПечатьАкта()    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("ДатаСреза", Дата);
    Запрос.УстановитьПараметр("Исполнитель", Исполнитель);
    
    Запрос.УстановитьПараметр("РеквизитОтИсполнителяПустой", НЕ ЗначениеЗаполнено(ОтИсполнителя));
    Запрос.УстановитьПараметр("ОтИсполнителя", ОтИсполнителя);
    
    
    Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                   |    УслугиОказанные.Номер КАК пНомер,
                   |    УслугиОказанные.Дата КАК пДата,
                   |    УслугиОказанные.Учреждение КАК Организация,
                   |    УслугиОказанные.Учреждение.ИНН КАК ИНН,
                   |    УслугиОказанные.Учреждение.КПП КАК КПП,
                   |    УслугиОказанные.ВалютаДокумента КАК Валюта,
                   |    УслугиОказанные.ВалютаДокумента.НаименованиеПолное КАК ВалютаПредставление,
                   |    УслугиОказанные.СуммаВключаетНДС,
                   |    ВЫБОР
                   |        КОГДА УслугиОказанные.Учреждение.НаименованиеПолное = """"
                   |            ТОГДА УслугиОказанные.Учреждение.Наименование
                   |        ИНАЧЕ УслугиОказанные.Учреждение.НаименованиеПолное
                   |    КОНЕЦ КАК НаименованиеОрганизации,
                   |    УслугиОказанные.Контрагент,
                   |    ВЫБОР
                   |        КОГДА УслугиОказанные.Контрагент.НаименованиеПолное = """"
                   |            ТОГДА УслугиОказанные.Контрагент.Наименование
                   |        ИНАЧЕ УслугиОказанные.Контрагент.НаименованиеПолное
                   |    КОНЕЦ КАК пЗаказчик,
                   |    УслугиОказанные.Договор.Представление КАК пДоговор,
                   |    УслугиОказанные.Услуги.(
                   |        НомерСтроки КАК пНом,
                   |        Номенклатура,
                   |        ВЫБОР
                   |            КОГДА УслугиОказанные.Услуги.Номенклатура.НаименованиеПолное = """"
                   |                ТОГДА УслугиОказанные.Услуги.Номенклатура.Наименование
                   |            ИНАЧЕ УслугиОказанные.Услуги.Номенклатура.НаименованиеПолное
                   |        КОНЕЦ + "". "" + УслугиОказанные.Услуги.Содержание КАК пНаименование,
                   |        ЕдиницаИзмерения.Представление КАК пЕдИзм,
                   |        Количество КАК пКоличество,
                   |        Цена КАК пЦена,
                   |        Сумма КАК пСумма,
                   |        СуммаНДС,
                   |        Всего
                   |    ),
                   |    ВЫБОР
                   |        КОГДА &РеквизитОтИсполнителяПустой
                   |            ТОГДА УслугиОказанные.Исполнитель.Контрагент.Фамилия
                   |        ИНАЧЕ УслугиОказанные.ОтИсполнителя.Контрагент.Фамилия
                   |    КОНЕЦ КАК ФамилияИсполнитель,
                   |    ВЫБОР
                   |        КОГДА &РеквизитОтИсполнителяПустой
                   |            ТОГДА УслугиОказанные.Исполнитель.Контрагент.Имя
                   |        ИНАЧЕ УслугиОказанные.ОтИсполнителя.Контрагент.Имя
                   |    КОНЕЦ КАК ИмяИсполнитель,
                   |    ВЫБОР
                   |        КОГДА &РеквизитОтИсполнителяПустой
                   |            ТОГДА УслугиОказанные.Исполнитель.Контрагент.Отчество
                   |        ИНАЧЕ УслугиОказанные.ОтИсполнителя.Контрагент.Отчество
                   |    КОНЕЦ КАК ОтчествоИсполнитель,
                   |    ЕСТЬNULL(ДанныеСотрудниковСрезПоследних.Должность, """") КАК ДолжностьИсполнитель
                   |ИЗ
                   |    Документ.УслугиОказанные КАК УслугиОказанные
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеСотрудников.СрезПоследних(
                   |                &ДатаСреза,
                   |                Сотрудник = ВЫБОР
                   |                    КОГДА &РеквизитОтИсполнителяПустой
                   |                        ТОГДА &Исполнитель
                   |                    ИНАЧЕ &ОтИсполнителя
                   |                КОНЕЦ) КАК ДанныеСотрудниковСрезПоследних
                   |        ПО (ВЫБОР
                   |                КОГДА &РеквизитОтИсполнителяПустой
                   |                    ТОГДА УслугиОказанные.Исполнитель
                   |                ИНАЧЕ УслугиОказанные.ОтИсполнителя
                   |            КОНЕЦ = ДанныеСотрудниковСрезПоследних.Сотрудник)
                   |ГДЕ
                   |    УслугиОказанные.Ссылка = &Ссылка";
                  
    Выборка = Запрос.Выполнить().Выбрать();
    Выборка.Следующий();
    
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
    
    ФормированиеПечатныхФорм.ПечатьАктаВыполненныхУслуг(ТабДокумент, Выборка, Дата);
    
    Возврат ТабДокумент;
КонецФункции
    так что ли?
4 vladko
 
16.10.13
17:04
видимо так:
Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
    Запрос.УстановитьПараметр("ДатаСреза", СсылкаНаОбъект.Дата);
    Запрос.УстановитьПараметр("Исполнитель", СсылкаНаОбъект.Исполнитель);
    
    Запрос.УстановитьПараметр("РеквизитОтИсполнителяПустой", НЕ ЗначениеЗаполнено(СсылкаНаОбъект.ОтИсполнителя));
    Запрос.УстановитьПараметр("ОтИсполнителя", СсылкаНаОбъект.ОтИсполнителя);
а остальное так
5 lenkakud
 
16.10.13
17:07
спасибо большое.и еще вопрос ошибка выскочила
{ВнешняяОбработка.Акт.МодульОбъекта(88,76)}: Переменная не определена (Дата)
ФормированиеПечатныхФорм.ПечатьАктаВыполненныхУслуг(ТабДокумент, Выборка, <<?>>Дата); (Проверка: Толстый клиент (обычное приложение)) эмм а что тут делать?я извиняюсь но тяжеловато пока что
6 lenkakud
 
16.10.13
17:18
исправила вроде ошибку.теперь новая в режиме 1С Ошибка при вызове метода контекста (Выполнить): {(63, 11)}: Не задано значение параметра "РеквизитОтИсполнителяПустой"
КОГДА <<?>>&РеквизитОтИсполнителяПустой не подскажите?
7 hhhh
 
16.10.13
17:51
(6) надо было (4) копипастом перенести, а вы наверно вручную.
8 lenkakud
 
16.10.13
17:53
нет,именно копипастом
9 lenkakud
 
16.10.13
17:57
Метод объекта не обнаружен (Печать)
теперь пишет что метод объекта не обнаружен, правильно написала Функция ПечатьАктОбОказанииУслуг ()
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.