|
КД2. Провести после загрузки | ☑ | ||
---|---|---|---|---|
0
Альбатрос
14.06.13
✎
07:07
|
Соббсно, сабж. Не получается.
В обработчике "После загрузки" Пишу так: Если Объект.Проведен тогда Объект.Записать(РежимЗаписиДокумента.Проведение); КонецЕсли; Как нужно правильно? |
|||
1
ZanderZ
14.06.13
✎
07:10
|
раз книжки нет - есть справка "Информация по обработчикам"
|
|||
2
echo77
14.06.13
✎
07:12
|
Лучше составить таблицу документов, отсортировать по дате и в одном из обработчиков конвертации пройтись по таблице
|
|||
3
Флудер
14.06.13
✎
07:14
|
(2) +100500
|
|||
4
Альбатрос
14.06.13
✎
07:17
|
(1) Ну я посмотрел эту информацию.
Более того, условие выполняется, а объект не проводится... (2) Поясните плиз. Как составить такую таблицу? |
|||
5
Aleksey
14.06.13
✎
07:28
|
(4) Создаем новый параметр "СписокДокументов"
В документе после загрузке дописываем добавлением ссылки в этот список Как вариант можно заюзать глобальный обработчик "После загрузки объекта", но там нужно проверять тип ссылки Далее в глобальном обработчики "После загрузки данных" пишем Выполнить(Алгоритмы.ПровестиДокументы); Ну и создаем алгоритм который по списку проведет документы |
|||
6
Альбатрос
14.06.13
✎
07:29
|
(5) Спс, сейчас попробую.
|
|||
7
ZanderZ
14.06.13
✎
07:32
|
(4) в обработчике "перед загрузкой" есть параметр "РежимЗаписи "
|
|||
8
kosts
14.06.13
✎
07:32
|
Возможно в этот момент в объекте установлено свойство ОбменДанными.Загрузка = Истина, и это как-то препятствует нормальному проведению...
|
|||
9
Aleksey
14.06.13
✎
07:34
|
У себя я сабж писал вот так
Если объект.Товары.Количество()=0 тогда Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); Иначе Если объект.Проведен тогда Если не ОбъектНайден тогда Объект.Проведен=ложь;//иначе типовые механизмы ругаются КонецЕсли; Объект.Записать(РежимЗаписиДокумента.Проведение); Иначе Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения); КонецЕсли; КонецЕсли; |
|||
10
Альбатрос
14.06.13
✎
07:36
|
(5) Тааак, а какой тип у параметра указать? СЗ я не могу указать. ХЗ что ли?
(7) Сейчас попробую. (8) А могу я написать так, и будет ли это правильно: Если Объект.Проведен тогда Объект.ОбменДанными.Загрузка = ложь; Объект.Записать(РежимЗаписиДокумента.Проведение); КонецЕсли; |
|||
11
kosts
14.06.13
✎
07:38
|
(10) > А могу я написать так, и будет ли это правильно
Напиши, протестируй... |
|||
12
kosts
14.06.13
✎
07:39
|
Зачем нужно насильное проведение, обработка загрузки и сама вроде проводит документы...
|
|||
13
Альбатрос
14.06.13
✎
07:39
|
(9) Ну так у меня также в (0), только условий нет. А он не проводит, гад
|
|||
14
Aleksey
14.06.13
✎
07:39
|
(10) у меня типовая БП ругалась, если документ новый, поэтому пришлось заглушку ставить
|
|||
15
Aleksey
14.06.13
✎
07:40
|
(13)
1. вставить сообщить в код, дабы проверить, а он вообще выполняется 2. провести документ вручную, чтобы проверить а документ вообще проводится |
|||
16
vicof
14.06.13
✎
07:41
|
(13) Отладчик в руки и смотри, почему не проводит.
|
|||
17
Альбатрос
14.06.13
✎
07:49
|
(15) Так и сделал. Вставил в (0) сообщить(), и он "сообщал". Значит, в условие заходит. Вручную док проводится без проблем.
(7) Так не пройдет. Перед загрузкой я не нашел как определить, проведен или нет загружаемый объект. (16) Отладчиком смотреть проведение самого дока? я пробовал отлаживать обработчики, как на ИТС описано, у меня ошибки валит. |
|||
18
Aleksey
14.06.13
✎
07:52
|
(17)
Обработчики "Правила конвертации объектов" Перед загрузкой Условия возникновения события Только для платформы V8. Событие выполняется перед загрузкой объекта. Возможен отказ от загрузки, например, в случае невыполнения каких-либо условий. Загружаемый в БД объект еще не инициализирован. Параметры: РежимЗаписи - Строка. Режим записи документа. Имеет смысл только если тип объекта приемника "Документ". Возможные значения "Запись", "Проведение", "ОтменаПроведения" РежимПроведения - Строка. Режим проведения документа. Имеет смысл только если тип объекта приемника "Документ". Возможные значения "Неоперативный", "Оперативный" Пример: РежимЗаписи = "ОтменаПроведения"; |
|||
19
Альбатрос
14.06.13
✎
07:57
|
(18) Ну так мне нужно не все документы проводить, а только проведенные в базе источнике. Есть еще и просто записаные, их проводить не надо. А через этот обработчик я могу проведение только для всех указать
|
|||
20
kosts
14.06.13
✎
07:59
|
(19) Типовая обработка сама должна проводить документы. Не проводит сама что-ли?
|
|||
21
Defender aka LINN
14.06.13
✎
08:00
|
(19) "я могу проведение только для всех указать" - указать только для проведенных религиозные убеждения не позволяют?
|
|||
22
Альбатрос
14.06.13
✎
08:02
|
(20) нет.
(21) Так вот как? из инфы по обработчику: Источник - Строка. Представление объекта источника. Пустая строка, если представление объекта источника не выгружалось. Я не могу проверить у "Источник" свойство "Проведен". |
|||
23
ZanderZ
14.06.13
✎
08:03
|
(17) на сколько я помню и в после загрузки должен параметр отрабатывать попробуй:
Если Объект.Проведен тогда РежимЗаписи = "Проведение"; КонецЕсли; |
|||
24
Aleksey
14.06.13
✎
08:06
|
(23) не должен, ну или это уже будет недокументированной фичей
|
|||
25
Альбатрос
14.06.13
✎
08:06
|
(23) Ну попробую, конечно, но этот параметр не описан в обработчике
|
|||
26
Альбатрос
14.06.13
✎
08:11
|
Тут еще подозрения, что это из-за отложенных движений. Щас проверю
|
|||
27
Defender aka LINN
14.06.13
✎
08:13
|
(22) Это откуда такой бред про представление?
|
|||
28
Aleksey
14.06.13
✎
08:19
|
(27) из описания
|
|||
29
Defender aka LINN
14.06.13
✎
08:24
|
(28) А можно я не поверю?
|
|||
30
Aleksey
14.06.13
✎
08:26
|
(29) можно даже разрешения не спрашивать, ваше права верить или не верить во что-то и ущемлять вас в этом праве я не намерен. Могу только процитировать встроенную справку
Обработчики "Правила конвертации объектов" Перед загрузкой Условия возникновения события Только для платформы V8. Событие выполняется перед загрузкой объекта. Возможен отказ от загрузки, например, в случае невыполнения каких-либо условий. Загружаемый в БД объект еще не инициализирован. Параметры: Источник - Строка. Представление объекта источника. Пустая строка, если представление объекта источника не выгружалось. |
|||
31
Defender aka LINN
14.06.13
✎
08:34
|
(30) Нормальные люди проверяют данные базы-источника в базе-источнике, а не в приемнике
|
|||
32
Aleksey
14.06.13
✎
08:35
|
(31) а вот "выдирать слова из контекста" не надо
|
|||
33
Defender aka LINN
14.06.13
✎
08:36
|
(32) Вопрос на внимательность: в какой базе вызывается событие "Перед загрузкой"?
Вопрос на догадливость: нет ли возможности задать режим записи в каком-нибудь другом событии? |
|||
34
Aleksey
14.06.13
✎
08:37
|
речь идет о том что режим проведения устанавливается в обработчики перед загрузкой, но в этом обработчики объект еше не проинициализирован и какой у него будет свойство проведен - непонятно, источника тоже нет, и поэтому у него тоже нельзя усзнать что было
|
|||
35
Defender aka LINN
14.06.13
✎
08:39
|
(34) Нет, речь идет о том, что ты уставился в одну точку и даже пытаться думать не хочешь, ждешь, пока тебе все на блюдечке принесут.
|
|||
36
Aleksey
14.06.13
✎
08:39
|
(33) Первый вопрос не понял? в данном контексте речь как раз и о том, что источника нет, есть параметр Источник в виде строки, поэтому никто и не пытается при загрузки получить реквищиты источника
По второму вопросу - задать режим записи можно только в перед загрузки. В остальных обработчиках можно принудительно записать/провести |
|||
37
Aleksey
14.06.13
✎
08:40
|
(35) я не автор
у меня такой проблемы нет В моей КД всё прекрасно записывается и проводится Выпад в мою сторону не понял. |
|||
38
Defender aka LINN
14.06.13
✎
08:41
|
(36) "задать режим записи можно только в перед загрузки" - врать нехорошо
|
|||
39
Aleksey
14.06.13
✎
08:42
|
(38) Простите а можно и я вам не поверю
|
|||
40
Defender aka LINN
14.06.13
✎
08:42
|
(37) У вас ники похожие :)
|
|||
41
Defender aka LINN
14.06.13
✎
08:42
|
(39) Нельзя, т.к. я истинно прав
|
|||
42
Aleksey
14.06.13
✎
08:45
|
40) ники похожу у нас с @Alekseyy
(41) цитату из справки или ссылку можно где еще можно задать режим Судя по справки режим задается в двух местах это перед загрузкой объекта в локальном и глобальном обработчике |
|||
43
Defender aka LINN
14.06.13
✎
08:47
|
(42) Смотрю, намек про то, что это надо делать там, где выгружаешь, не уловлен...
|
|||
44
Aleksey
14.06.13
✎
08:50
|
(43) Нет, не уловил, ибо не понимаю как в ситочнике, которые ничего не знает об объекте приемника можно задать режим проведения.
|
|||
45
Aleksey
14.06.13
✎
08:50
|
* режим хаписи
|
|||
46
Defender aka LINN
14.06.13
✎
08:51
|
(44) Че это не знает? Объект именно там формируется.
|
|||
47
Aleksey
14.06.13
✎
08:51
|
К примеру после загрузки у меня есть "ПараметрыОбъекта" - Соответствие, в котором хранятся дополнительные параметры переденные для данного объекта из источника в приемник.
Но ведь после загрузки нельзя задать режим записи |
|||
48
Альбатрос
14.06.13
✎
08:52
|
(43)(44) Да, при выгрузке тоже можно задать режим записи.
И источник доступен как объект. Проверяю. |
|||
49
Альбатрос
14.06.13
✎
08:52
|
+(48) *Перед выгрузкой
|
|||
50
Aleksey
14.06.13
✎
08:52
|
(46) чего?
После загрузки Условия возникновения события Только для платформы V8. Событие выполняется после прочтения и установки атрибутов объекта из файла, но до его записи в информационную базу. Возможна модификация загруженного объекта. |
|||
51
Defender aka LINN
14.06.13
✎
08:56
|
(50) Того. В источнике идет запись в XML-файл объекта. При этом он может как таковой даже не существовать, программист его может сам собрать из говна и палок. В приемнике оббъект тупо считывается и заполняется. Да, модифицировать его при загрузке можно, но основное формирование происходит при выгрузке.
|
|||
52
ZanderZ
14.06.13
✎
08:59
|
(49) попробуй (23) должно взлететь..
|
|||
53
Aleksey
14.06.13
✎
09:01
|
Речь вроде бы о режиме запуска, а не о формирования файла
|
|||
54
Альбатрос
14.06.13
✎
09:08
|
Вообщем, в Перед Выгрузкой вот так не пошло:
Если Источник.Проведен тогда РежимЗаписи = "Проведение"; КонецЕсли; |
|||
55
kosts
14.06.13
✎
09:18
|
(54) Разбирайся с отложенным проведением, т.к. проведение сразу при записи по любому не делается.
Вот код из обработки обмена
|
|||
56
sttt
14.06.13
✎
09:39
|
еще можно через Подключаемые обработки
после загрузки данных ДопОбработки.Перепроведение... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |