![]() |
![]() |
![]() |
|
Создание внешней формы обработки Акта оказанных услуг | ☑ | ||
---|---|---|---|---|
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
|
Метод объекта не обнаружен (Печать)
теперь пишет что метод объекта не обнаружен, правильно написала Функция ПечатьАктОбОказанииУслуг () |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |