Имя: Пароль:
1C
1C 7.7
v7: Заполнение документа обработкой вызываемой из него же
0 HonGilDon
 
10.08.11
14:19
Делаю заполнение документа с помощью внешней обработки в которой присутствуют свои настройки для получения того или иного результата
вешаю запуск обработки на кнопку с процедурой
Процедура Заполнить()
   киб=СокрЛП(КаталогИБ());
   Если Прав(киб,1)<>"\" Тогда
       киб=киб+"\";
   КонецЕсли;
   Если ФС.СуществуетФайл(киб+"ExtForms\buh.grp\АктСверкиПоИНН.ert")=1 Тогда
       ОткрытьФорму("Отчет",Контекст,киб+"ExtForms\buh.grp\АктСверкиПоИНН.ert");
   КонецЕсли;
   Форма.Обновить();
КонецПроцедуры

В самой обработке через Форма.параметр достаю контекст и заполняю результатами обработки

Проявилась некоторая нестабильность в работе, полученые варианты результата:

Вариант 1. Отработала как надо документ заполнился.
Вариант 2. Документ заполнился но строки документа начали появляться только при активации их курсором.
Вариант 3. Документ заполнился только в шапке.
При проходе в отладчике Конт.НоваяСтрока() ошибки не выдает но и строку несоздает тоже.

Ктонибудь сталкивался с подобным? И как можно подругому заполнить документ с помощью вызываемой из него же обработки?
1 zak555
 
10.08.11
14:22
яндекс молчит на АктСверкиПоИНН.ert
2 miki
 
10.08.11
14:24
чисто академический интерес:
что функция СокрЛП(КаталогИБ()) может вернуть результат как с "\" так и без "\"?
3 andrewks
 
10.08.11
14:40
(2) да, вроде были какие-то заморочки с вынь9х
4 andrewks
 
10.08.11
14:45
закинь-ка свою обработочку на zalil.ru
при работе с ТЧ контекста дока у 1с есть набор неких трудноподдающихся логике траблов
5 Генератор
 
10.08.11
14:59
я недавно кое-что делал через контекст тоже добавление строк глючило, через ЗагрузитьТабличнуюЧасть вроде получше стало
6 FN
 
10.08.11
15:05
Миним глюков при
1. Загружена Formex.dll
2. Заполнение через ЗагрузитьТабличнуюЧасть
3. Конт.Форма.Обновить(0);
7 Guk
 
10.08.11
15:06
(0) ты бы кода побольше выложил. по коду в (0) можно только медитировать. лично у меня, проблем с заполнением документа из внешней обработки, не было...
8 andrewks
 
10.08.11
15:09
(6) не знаю, как насчёт формекса, но вот только недавно выявил ещё один трабл без участия п.1 и п.2

даже просто выборка слетает
Порча контекста дока при Таб.Показать(,,-1)
9 andrewks
 
10.08.11
15:10
+(8) *без участия п.2 и п.3
10 Guk
 
10.08.11
15:22
вы мне не поверите, но заполнение ТЧ дока через внешнюю обработку прекрасно работало, даже когда формекса еще впомине не было...
11 FN
 
10.08.11
15:57
(10) Формекс нужен если документ новый, а с сохраненными документами все штатно работает
13 Guk
 
10.08.11
16:15
(11) спасибо, кэп...
14 HonGilDon
 
10.08.11
17:26
Всем спасибо за помощь проблему решил запуском заполнения из журнала с передачей не контекста а текущего документа (по уже созданым документам) и запуском обработки из журнала для создания ногого документа обработкой. Formex.dll загрузить немогу так как начинает конфликтовать 1С++ а без него заполнение через ЗагрузитьТабличнуюЧасть также срабатывает через 3-4 раза
15 Злопчинский
 
11.08.11
03:05
имхо в качестве параметра напрямую без использования промежуточной переменной передавать КОНТЕКСТ - я бы поостерегся...
.
код (0) м.б. трансофрмирован без потери функциональности:
Процедура Заполнить()
   киб=КаталогИБ();
   ОткрытьФорму("Отчет",Контекст,киб+"ExtForms\buh.grp    Форма.Обновить();
КонецПроцедуры
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший