|
Программное создание и проведение документа | ☑ | ||
---|---|---|---|---|
0
vse_serjezno
09.11.13
✎
00:44
|
Здравствуйте.
Я делаю программное создание документа №2 при проведении документа№1. Док№2 можно ввести на основании Док№1. Но нужна автоматическая реализация создания, заполнения и записи с проведением. В модуле объекта №1 в обработке проведения делаю НовыйДок№2 = Документы.Док№2.СоздатьДокумент(); НовыйДок№2.ОбработкаЗаполнения(ЭтотОбъект.Ссылка, Истина); Попытка НовыйДок№2.Записать(РежимЗаписиДокумента.Проведение); Исключение Сообщить("Сообщения по данному документу не сформированы"); КонецПопытки; Процедура обработкаЗаполнения собирает данные для заполнения дока№" и в конце содержит строки: Получатели.Загрузить(Запрос.ВыполнитьПакет()[1].Выгрузить()); ОбработатьЗаполнениеДокумента(); Получатели - это табчасть Дока№2. В процедуре ОбработатьЗаполнениеДокумента() проставляются в табчасти Дока№2 некоторые реквизиты и т.п. Программа с ошибкой не вылетает, но и документ не записывает - идет по ветке "Исключение". Если кто-нибудь что-нибудь из этого понял, будьте добры, подскажите, в чем может быть ошибка. Тот новый документ, что я создала, процедуры в него данные записывают?.. Ведь он ни в одну из них не передается... |
|||
1
User_Agronom
09.11.13
✎
00:48
|
Что-то в первом доке не заполнено... Так, сходу не могу сказать. Попробуй открыть форму документа перед проведением.
|
|||
2
IamAlexy
09.11.13
✎
00:49
|
(0) убери нафиг попытку и посмотри на что оно ругается непосредственно
|
|||
3
IamAlexy
09.11.13
✎
00:49
|
например на дату/время
|
|||
4
pavig
09.11.13
✎
01:00
|
в Сообщить вместо текста вставь "ОписаниеОшибки()" и увидишь в чем ошибка.
|
|||
5
EvgeniuXP
09.11.13
✎
01:30
|
(1), (2), (3), (4) - фото нет, а вы помогаете :)
|
|||
6
spleen
09.11.13
✎
08:35
|
(0) скорее всего дата не указана для 2 документа
Но надо сделать так НовыйДок№2 = Документы.Док№2.Создатьдокумент(); НовыйДок№2.ОбработкаЗаполнения(ЭтотОбъект.Ссылка, Истина); Попытка НовыйДок№2.Записать(РежимЗаписиДокумента.Проведение); Исключение Сообщить(ОписаниеОшибки()); Сообщить("Сообщения по данному документу не сформированы"); КонецПопытки; И тогда станет ясно в чем проблема |
|||
7
hhhh
09.11.13
✎
10:14
|
а что за ВыполнитьПакет()[1] ?? почему пакет? и почему [1] ??
|
|||
8
Maxus43
09.11.13
✎
10:19
|
НовыйДок№2.ОбработкаЗаполнения(
почему так? НовыйДок.Заполнить(СсылкаНаДокОснование); ну и Запрос.ВыполнитьПакет()[1] конечно выглядит номрально так: Запрос.ВыполнитьПакет(1); |
|||
9
Maxus43
09.11.13
✎
10:20
|
тьфу, с пакетом всё нормально, отставить
|
|||
10
hhhh
09.11.13
✎
10:22
|
а почему не 0 или не 2?
|
|||
11
Maxus43
09.11.13
✎
10:23
|
(10) ну запрос надо увидеть сначала, шоб понять
|
|||
12
vse_serjezno
11.11.13
✎
10:45
|
(11) С запросом все нормально, этот функционал работает.
|
|||
13
Wobland
11.11.13
✎
10:47
|
мало того, что фотку не вытянуть, так ещё и ответа на (4) надо добиваться? нет, такой хоккей нам не нужен
|
|||
14
vse_serjezno
11.11.13
✎
11:01
|
(11) Как только появиться возможность проверить описание ошибки, напишу результат. У нас с доступом в хранилище постоянные проблемы. >:(
|
|||
15
Wobland
11.11.13
✎
11:02
|
(14) а я умею отключаться от хранилища
|
|||
16
vse_serjezno
12.11.13
✎
13:32
|
(11) А можно ли при программном создании документа открыть его форму?.. Т.е. вызвать процедуру "ПриОткрытии" модуля формы Документа№2 из модуля объекта этого документа.
Я читаю, так делать не ком иль фо. Т.е. сделать аналог кнопки "Ввод на основании", чтобы посмотреть, верно ли заполняются данные. |
|||
17
Wobland
12.11.13
✎
13:33
|
(16) ввод на основании с формой не связан. могу научить смотреть разные штуки прямо в момент исполнения
|
|||
18
vse_serjezno
12.11.13
✎
13:42
|
(17) ?
Мне нужно понять, какие данные не передаются в моей процедуре из тех, что нормально срабатывают при Вводе на основании. |
|||
19
vse_serjezno
12.11.13
✎
13:51
|
При создании дока№2 с помощью "Ввод на основании" происходит:
вызов процедуры ОбработкаЗаполнения() из модуля Документа№2 -> из нее вызывается проц. ОбработкаЗаполненияДокумента() там же. -> затем запускается проц. ПриОткрытии модуля формы Документа№2. В проц. ПриОткрытии есть: Если НЕ Объект.ТипСообщения = ПредопределенноеЗначение("Перечисление.смсВходящееИсходящееСобытие.Входящее") Тогда СтруктураПараметров = смсРаботаССообщениями.ПолучитьПараметры(); Если СтруктураПараметров.Свойство("НомераОтправителя") Тогда Для Каждого Строка Из смсКоммуникатор.ПолучитьСписокНомеровИзСтроки(СтруктураПараметров.НомераОтправителя) Цикл Элементы.НомерОтправителя.СписокВыбора.Добавить(Строка); КонецЦикла; КонецЕсли; КонецЕсли; Причем, когда форма открывается при ВвНаОсн там нет элемента НомерОтправителя. Мне, по идее, элементы формы-то и не нужны. По при этом программа ругается на незаполненный НомерОтправителя и не записывает документ. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |