Имя: Пароль:
1C
1С v8
БП 3.0 Внешняя обработка УФ
,
0 AngelVI
 
03.02.15
00:10
пишу внешнюю обработку. Цель:
1. выбрать счета в неком диапазоне и вывести их в таблицу (это сделано)
2. взять из этой таблицы счета и сделать новые Счета, копии только тех счетов, в которых были только Услуги.
3. сохранить и записать с определенной датой Новые счета,
4. вывести на печать, использую штатную печатную форму из Счета
1 GreatOne
 
03.02.15
00:26
Держите нас в курсе!
2 AngelVI
 
03.02.15
08:30
нужна помощь. Как реализовать п 2, 3, 4?
3 1976vas
 
03.02.15
08:47
(2)Счета с услугами нужно было отбирать в п1.
4 Рэйв
 
03.02.15
08:59
(0)очень прикольно будет если ты нечаянно два-три раза эту обработку запустишь:-)
5 AngelVI
 
03.02.15
09:21
(3) Хорошо. Предположим что уже в этой Табличкой части уже только документы в которых только услуги.
как сделать копию этого документа, сохранить и записать?

(4) наверно надо сделать "Защиту от дурака" и не давать запускать эту обработку не более одного раза в месяц?
6 Огурцы
 
03.02.15
09:23
(5)т.е. защиту от самого себя? )))
7 Рэйв
 
03.02.15
09:24
(5)Тогда уж сделай документ. Считать запуски внешних обработок занятие муторное и неблагодарное
8 Rie
 
03.02.15
09:30
(5)
КопияДокумента = Документы.НуПустьСчета.СоздатьДокумент();
Для Каждого Рекв Из ИсходныйДокумент.Метаданные().Реквизиты Цикл
    КопияДокумента[Рекв.Имя] = ИсходныйДокумент[Рекв.Имя];
КонецЦикла;
// аналогично с табличными частями
КопияДокумента.Дата = ТекущаяДата();
КопияДокумента.Номер = КакойТоТамНомер;
КопияДокумента.Записать();
9 Oleg_ka
 
03.02.15
09:33
ДокументСсылка.<Имя документа> (DocumentRef.<Имя документа>)
Скопировать (Copy)
Синтаксис:
Скопировать()
Возвращаемое значение:
Тип: ДокументОбъект.
Описание:
Создает новый документ копированием существующего.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
Примечание:
Использование метода не приводит к записи созданного объекта в базу данных.
Пример:
Объект = ВыбДокумент.Скопировать();
См. также:
ДокументОбъект, событие ПриКопировании
10 AngelVI
 
03.02.15
09:36
(8) А как вывести на печать эту копию документа?
и в какой момент это делать массово?
11 Рэйв
 
03.02.15
09:37
(10)У объекта должна быть гдето в модуле экспортная процедура печать.Вызывай через точку и все
12 ИС-2
 
naïve
03.02.15
09:45
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    СчетНаОплатуПокупателюУслуги.Ссылка как счет
        |ИЗ
        |    Документ.СчетНаОплатуПокупателю.Услуги КАК СчетНаОплатуПокупателюУслуги
        |ГДЕ
        |    СчетНаОплатуПокупателюУслуги.Ссылка.Дата МЕЖДУ &Датанач И &датаКон
        |    И СчетНаОплатуПокупателюУслуги.Ссылка.Проведен";

    Запрос.УстановитьПараметр("датаКон",КонецДня(датаКон));
    Запрос.УстановитьПараметр("Датанач", Датанач);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        НовыйСчет = ВыборкаДетальныеЗаписи.счет.Скопировать();
        НовыйСчет.Дата = МояДата;
        НовыйСчет.Записать();
        
        НовыйСчет.Печать("Счет");
    КонецЦикла;
13 AngelVI
 
03.02.15
23:32
так. Делать копии Счетов сделал, сохранять, проводить их тоже, а так же создавать реализации на основании этих счетов тоже сделал.
Осталась деталь:
- печать этих документов, используя штатный макет "Счет на оплату", тот что используется в документе "Счет на оплату покупателю"
14 1976vas
 
04.02.15
05:56
(13) Это не ты сделал...
15 AngelVI
 
04.02.15
07:36
Точно. Не получается
16 AngelVI
 
04.02.15
11:32
посоветуйте, как это реализовать?
17 AngelVI
 
04.02.15
22:01
пробую:

Документы.СчетНаОплатуПокупателю.Печать( ДокКопия,"СчетЗаказ");

Но Ошибка.. {Форма.Форма.Форма(425)}: Недостаточно фактических параметров
18 hhhh
 
04.02.15
23:29
ну посмотрите процедуру Печать(), пересчитайте в ней параметры, напишите столько параметров, сколько нужно.
19 AngelVI
 
09.02.15
22:40
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

подскажите пример, что нужно подставить для отправки на печать?
20 AngelVI
 
09.02.15
22:51
Делаю отправку на печать:
    
Документы.СчетНаОплатуПокупателю.Печать( ДокКопия,,"СчетЗаказ",,);

но выходит ошибка:
{Документ.СчетНаОплатуПокупателю.МодульМенеджера(115)}: Значение не является значением объектного типа (ДоступнаПечатьПоКомплектно)
    ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
21 hhhh
 
09.02.15
23:08
(20) ну значит в ваших Параметрах вывода нет свойства ДоступнаПечатьПоКомплектно.
22 AngelVI
 
09.02.15
23:29
(21) не понял.. а где он вообще? должен быть по умолчанию Ложь. Но в модуле документа и в модулу Формы документа СчетНаОплату нет вообще упоминания на него. Тогда где его взять, и как передать с параметрами?
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.