|
Как отладить обмен? | ☑ | ||
---|---|---|---|---|
0
hame1e00n
06.06.13
✎
11:16
|
Загрузка данных из УТ 11 в БП 2.0.
Хочу проследить как происходит в БП контроль даты запреты редактирования при попытке записи документа. Открываю соответствующую подписку, далее код, устанавливаю точку останова, но при отладке нет остановки на этой точки. Через этот код 1С точно проходит (изменения в нем влияют на поведение системы). Как запустить отладку? Почему не получается? |
|||
1
hame1e00n
06.06.13
✎
11:18
|
Ап!
|
|||
2
evorle145
06.06.13
✎
11:18
|
запуск с ключом Debug, не?
|
|||
3
AnyBody
06.06.13
✎
11:26
|
Если речь о "встроенном" в конфигурации обмене, то он идет в "режиме Загрузка" о чем сказано в синт.помощ.:
ПараметрыОбменаДанными (DataExchangeParameters) Загрузка (Load) Использование: Чтение и запись. Описание: Тип: Булево. Если значение данного свойства Истина, то при выполнении записи или удаления данных будет производиться минимум проверок, так как при этом делается предположение, что производится запись данных, полученных через механизмы обмена данными, и эти данные корректны. |
|||
4
hame1e00n
06.06.13
✎
11:27
|
(2) Что именно запускать с этим ключом? В других местах отладка работает
|
|||
5
Михаил Козлов
06.06.13
✎
11:29
|
Обмен через файл или через COM?
|
|||
6
hame1e00n
06.06.13
✎
11:31
|
(3) А почему отладка не работает? Как ее включить?
В общем изначальная проверка такова: из УТ в БП попадает документ в закрытый в БП период. Хочу отладкой выяснить, где он обходит механизм проверки. В самом начале есть условие, что не проверять если Загрузка = Истина, но и комментирование этого условия не помогает, дальше в коде проверки он тоже видимо проходит проверку. |
|||
7
hame1e00n
06.06.13
✎
11:32
|
(5) Через com (прямое подключение)
|
|||
8
hame1e00n
06.06.13
✎
11:32
|
(6) "В общем изначальная задача такова"
|
|||
9
AnyBody
06.06.13
✎
11:33
|
(6) Еще раз: "выполнении записи или удаления данных будет производиться минимум проверок".
... и "никаких подписок" |
|||
10
dmpl
06.06.13
✎
11:40
|
(0) Используй файловую базу. Либо запускай сервер с включенным отладочным режимом.
|
|||
11
hame1e00n
06.06.13
✎
11:42
|
(9) Ну как это не выполняются подписки:
"// Проверка возможности записи данных документа с учетом даты запрета изменения данных (даты запрета редактирования) // Процедура ПередЗаписьюДокументовПроверкаДоступностиПериода(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт Отказ = Истина; (это я добавил) Если Отказ ИЛИ Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; ПроверкаПериодаДокумента(Источник, Отказ, РежимЗаписи); #Если Клиент Тогда Если Отказ Тогда Сообщить("Редактирование данных этого периода запрещено. Изменения не могут быть записаны...", СтатусСообщения.Важное); КонецЕсли; #КонецЕсли КонецПроцедуры // ПередЗаписьюДокументовПроверкаДоступностиПериода" Если ставлю Отказ = Истина, то ошибка при обмене, если убираю, то обмен идет нормально |
|||
12
hame1e00n
06.06.13
✎
11:44
|
(10) а где этот режим включается? сервер 1С имеется в виду?
|
|||
13
hame1e00n
06.06.13
✎
11:47
|
Так, нашел где включается
|
|||
14
dmpl
06.06.13
✎
11:50
|
(13) Не забудь только подключить 2 сеанса отладки - клиентский и серверный.
|
|||
15
hame1e00n
06.06.13
✎
11:51
|
(14) Вот это имеется в виду?
"Остановить сервер, запустить сервер. Запустить в режиме 1С:Предприятие . Выбрать "Сервис-Параметры". Закладка "Системные", включить "Отладка разрешена", "Устанавливать режим разрешения отладки при запуске". Запустить конфигуратор. Меню "Отладка-Подключение". Включить необходимые флажки в "Автоматическое подключение"." Или что под "Не забудь только подключить 2 сеанса отладки - клиентский и серверный"? |
|||
16
AnyBody
06.06.13
✎
11:52
|
ПараметрыОбменаДанными (DataExchangeParameters)
Свойства: Загрузка (Load) Отправитель (Sender) Получатели (Recipients) Описание: Объект не может быть создан самостоятельно. Объект данного типа представляет собой значение свойства ОбменДанными объектов, представляющих данные, по которым ведется учет изменений. Я не знаю где ты ловишь, но в проц."ПередЗаписью" у документа стоит, напрмер, Если ОбменДанными.Загрузка Тогда Возврат; КонецЕсли; что и "прерывает" всяческие проверки. |
|||
17
dmpl
06.06.13
✎
11:54
|
(15) Если подключаться к работающему клиенту (а не запускать через Начать отладку), то будет 2 строки в доступных подключениях - вот их надо обе добавить.
|
|||
18
Михаил Козлов
06.06.13
✎
11:57
|
(7) Если не получится отлаживаться во внешнем соединении, измените на обмен через файл.
|
|||
19
hame1e00n
06.06.13
✎
12:23
|
(16) Спасибо! Очень ценная информация!
|
|||
20
hame1e00n
06.06.13
✎
12:23
|
(17) (18) Спасибо, коллеги! :-)
|
|||
21
hame1e00n
06.06.13
✎
12:36
|
Ну а вообще, правильно ли я считаю, что если в БП период закрыт, то доки в него не должны попасть, даже если в УТ что-то наменяли в этом периоде? Или 1С считает по-другому?
|
|||
22
Mikhail Volkov
06.06.13
✎
12:36
|
(0) Я полагаю это продолжение темы v8: Обмен УТ 11 - БП 2.0. В БП период закрыт, но все равно идет обмен
Чтобы документы не перезаписывались в закрытом периоде, вставь в обработчик "После загрузки объекта" подобный фрагмент: СоответствиеГраницЗапрета = ПараметрыСеанса.ГраницыЗапретаИзмененияДанных.Получить(); ДатаЗапрета = СоответствиеГраницЗапрета.Получить(Справочники.организации.найтиПоКоду("000000001")); Если ИмяТипаОбъекта = "Документ" Тогда Объект.ОбменДанными.Загрузка = Истина; // минуя контроль записи Если Объект.Дата > ДатаЗапрета тогда Объект.Записать(); Сообщить("" + ?(ОбъектНайден, "Записан", "Создан") + ": "+Объект.Ссылка, СтатусСообщения.Информация); Иначе // За датой запрета будем создавать только не найденные документы Если ОбъектНайден Тогда Сообщить("За датой запрета (пропущен): "+Объект.Ссылка, СтатусСообщения.Внимание); Иначе Объект.Записать(); Сообщить("Создан за датой запрета: "+Объект.Ссылка, СтатусСообщения.Важное); КонецЕсли; КонецЕсли; КонецЕсли; Команду Объект.ОбменДанными.Загрузка = Истина; можно убрать, но при этом обмен будет прерываться с ошибкой, если загружаемый документ не сможет пройти контроль. |
|||
23
hame1e00n
06.06.13
✎
12:40
|
(22) Да, эта тема. А где находится этот обработчик "После загрузки объекта"?
|
|||
24
Mikhail Volkov
06.06.13
✎
12:45
|
КД/Настойка правил обмена/Конвертация/Открыть/Вкладка "После загрузки объекта"
|
|||
25
hame1e00n
06.06.13
✎
13:12
|
(24) Понял, спасибо! :-)
|
|||
26
hame1e00n
06.06.13
✎
13:13
|
А такой момент, а как сами правила выгрузить? Для того, чтобы из открыть в конвертации? Они в общем макете в БП или где?
|
|||
27
Mikhail Volkov
06.06.13
✎
14:26
|
(26) Если из УТ11 то в общем макете УТ11, но там начальные правила, текущие в настройке узла обмена указаны (можно в файл выгрузить). А лучше взять из последнего (или используемого) релиза обновления УТ11.
|
|||
28
hame1e00n
06.06.13
✎
14:51
|
(27) Михаил, нашел. Спасибо.
Подскажите, пожалуйста, ответ еще на такой вопрос: если БП обновляется регулярно, а УТ 11.0.7.21 и давно не обновлялась, то что делать с правилами? Надо ли их обновлять или же если обновлять, то может перестать работать обмен? Понятно, конечно, что нужно обе конфы по хорошему обновлять, но если нет возможности обновлять УТ, из-за того, что она сильно изменена, что делать? |
|||
29
hame1e00n
06.06.13
✎
14:52
|
Просто правила ж рассчитана на определнные конфигурации...
|
|||
30
hhhh
06.06.13
✎
15:09
|
(29) делать свои правила
|
|||
31
Mikhail Volkov
06.06.13
✎
15:15
|
+(30) за основу брать правила для УТ 11.0.7.21, из баз БП и УТ выгружать описание конфигураций (через MD82Exp.epf), обновлять их в КД, и править правила под изменения конфигураций.
|
|||
32
hame1e00n
06.06.13
✎
15:51
|
(30) (31) Понял, спасибо)) Ну в принципе и логично, как бы тут иначе, чудес ведь не бывает...
Но интересует вот еще что: 1) Просто почти во всех конторах как я думаю, БП на поддержке и ее обновляют постоянно из-за отчетности, а УТ 10.3 к примеру изменяют и уже давно не обновляют... Просто интересно как в этом случае с обменом поступают: вряд ли везде свои правила пишут... Хотя в принципе может быть и такое, что если изменения несущественные, то просто работают старые правила, так? 2) Да и вообще может ли новая БП обмениваться данными со старой УТ? |
|||
33
Mikhail Volkov
07.06.13
✎
02:22
|
(32) Да, именно так, правила надо дорабатывать, когда в конфигурациях новые объекты появляются, которые надо конвертировать, или состав передаваемых у них реквизитов меняется.
|
|||
34
hame1e00n
07.06.13
✎
10:00
|
(33) Еще раз спасибо! :-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |