![]() |
![]() |
![]() |
|
Как загрузить исходную таблицу из внешнего отчета? | ☑ | ||
---|---|---|---|---|
0
es3000
15.02.10
✎
11:28
|
тупею наверно...
надо загрузить внешнюю печатную таблицу, пишу код: Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица(КаталогИБ() + ExtForms\УведомлениеОЗадолженностиСАктом.ert"); 1С-ка говорит: неверное имя d:\....\УведомлениеОЗадолженностиСАктом.ert. В чем ошибка? |
|||
1
ДенисЧ
15.02.10
✎
11:29
|
Нужно не из ert загружать, а из mxl...
|
|||
2
Happy Bear
15.02.10
✎
11:29
|
(0) у таблицы расширение mxl
|
|||
3
Happy Bear
15.02.10
✎
11:29
|
(0) посмотри в СП как открыть внешний отчет/обработку
|
|||
4
DrZombi
гуру
15.02.10
✎
11:36
|
(0)Формекс
ИсходнаяТаблица(Имя, [Путь]) SourceTable(Имя, [Путь]) Параметры: Имя - строка, которая задает имя таблицы формы или имя файла содержащего таблицу; Путь - строка с путем к форме, внутри которой необходимо произвести поиск таблицы. Внутренние формы задаются в виде ''MD.<ПолныйПутьВнутриMD>'' (например, ''MD.Документ.ПриходнаяНакладная.Форма''). Полный список внутренних форм можно получить вызвав метод СписокВсехФорм / AllFormsList. Строка вида ''<ИмяОбработки> MD'' преобразуется к виду ''MD.Обработка.<ИмяОбработки>.Форма''. Если строка пути начинается не с ''MD.'', то она воспринимается как путь к файлу внешнего отчета и исходная таблица ищется в этом файле. Необязательный параметр. По умолчанию - пустая строка. Возвращает: число с результатом выполнения: 0 - при поиске исходной таблицы произошла ошибка, 1 - исходная таблица нормально установлена, 2 - произошел вызов штатной установки исходной таблицы с неизвестным результатом. |
|||
5
es3000
15.02.10
✎
11:45
|
(1, 2) в СП написано:
"... переданное имя будет рассматриваться как имя файла, содержащего данную таблицу." Про MXL не сказано, но буду иметь ввиду. |
|||
6
es3000
15.02.10
✎
11:45
|
(4) а Формекс позволяет из ert загрузить?
|
|||
7
es3000
15.02.10
✎
11:47
|
Вообще-то я формекс пробовал, тоже что-то не получилось:
При использовании Формекс писал такой код: Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица", КаталогИБ() + "ExtForms\УведомлениеОЗадолженностиСАктом.ert"); выдает ошибку во время выполнения: Слишком много параметров передано при вызове функции/процедуры объекта Таб.ИсходнаяТаблица("Таблица", КаталогИБ() + "ExtForms\УведомлениеОЗадолженностиСАктом.ert"); |
|||
8
DrZombi
гуру
15.02.10
✎
11:49
|
(6)У альфа спроси ;)
Но думается там еще что-то надо указать ;) |
|||
9
DrZombi
гуру
15.02.10
✎
11:49
|
+(6)Из МД-ешника грузит
|
|||
10
es3000
15.02.10
✎
11:50
|
(8) где его найти?
|
|||
11
Ёпрст
гуру
15.02.10
✎
11:54
|
(0)
Удали вот эту ветку в реестре: [HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Options\ В ПриНачалеРаботыСистемы пропиши так: Процедура ПриНачалеРаботыСистемы() ЗагрузитьВнешнююКомпоненту("1cpp.dll"); Настройки=СоздатьОбъект("УправлениеНастройками"); Настройки.Сбросить("Проверка типов"); Настройки.Сбросить("Отладка"); Настройки.Включить("Оптимизация"); Настройки.Включить("TurboBL"); ЗагрузитьВнешнююКомпоненту("formex.dll"); КонецПроцедуры // ПриНачалеРаботыСистемы и будет всё работать |
|||
12
DrZombi
гуру
15.02.10
✎
11:56
|
(10)Все работает, формекс должен быть загружен и он должен быть последним ;)
//******************************************* Процедура Сформировать() Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("СтопЛист", "C:\TMP\_Обработки - Торговля АСР3.0\StopListDolg.ert"); Таб.ВывестиСекцию("Шапка"); Таб.Показать(); КонецПроцедуры |
|||
13
DrZombi
гуру
15.02.10
✎
11:57
|
+(12)Последним по версии :)
|
|||
14
smaharbA
15.02.10
✎
11:59
|
если есть
Перем Таб; то и формекс не нужен как бы |
|||
15
Ёпрст
гуру
15.02.10
✎
12:00
|
(14) там не то, там макет из таблицы можно указывать из ert-ка.. там метод формекса.
|
|||
16
es3000
15.02.10
✎
12:04
|
(13) формекс загружен, версия у меня 2.0.5.91,
в помощи это метод описан так: Синтаксис: ИсходнаяТаблица(Имя[, Путь]) Параметры: Имя - строка, которая задает имя таблицы формы или имя файла содержащего таблицу; Путь - строка с путем к форме, внутри которой необходимо произвести поиск таблицы. Внутренние формы задаются в виде "MD.<ПолныйПутьВнутриMD>" (например, "MD.Документ.ПриходнаяНакладная.Форма"). Полный список внутренних форм можно получить вызвав метод СписокВсехФорм / AllFormsList. Строка вида "<ИмяОбработки>@MD" преобразуется к виду "MD.Обработка.<ИмяОбработки>.Форма". Если строка пути начинается не с "MD.", то она воспринимается как путь к файлу внешнего отчета и исходная таблица ищется в этом файле. Необязательный параметр. По умолчанию - пустая строка. Возвращает: число с результатом выполнения: 0 - при поиске исходной таблицы произошла ошибка, 1 - исходная таблица нормально установлена, 2 - произошел вызов штатной установки исходной таблицы с неизвестным результатом. Описание: Переназначает в качестве исходной таблицы-шаблона одну из таблиц той формы, в программном модуле которой запущена данная процедура (или формы указаной в параметре Путь). Имя таблицы сначала ищется в форме модуля, потом в общих таблицах (если не форма не задана явно параметром Путь). Если такой таблицы нет и параметр Путь не задан, то переданное имя будет рассматриваться как имя файла, содержащего данную таблицу. Значит должно работать. Не понятно где косяк |
|||
17
Ёпрст
гуру
15.02.10
✎
12:04
|
(16) читай (11)... И правь ветку в реестре..
|
|||
18
Ёпрст
гуру
15.02.10
✎
12:06
|
+17
EnableTableSourceTable должно быть 2 для этой базы. |
|||
19
es3000
15.02.10
✎
12:07
|
(18) а это нельзя сделать в пользовательском режиме через "Сервис\Параметры..." ?
|
|||
20
es3000
15.02.10
✎
12:07
|
(19+) а потом закладка FormEx?
|
|||
21
Ёпрст
гуру
15.02.10
✎
12:08
|
(19) нет.
|
|||
22
DrZombi
гуру
15.02.10
✎
12:15
|
(21)А я вооще никогда не делал так в (11)... и работает
Только при старте системы загружена 1С++ и потом сам формекс... Подозреваю автор грузит формекс поздновато :) А возможно вооще не грузит :) Так же компонента формекса вооще - то автономна, она от 1С++ вообще не духом |
|||
23
es3000
15.02.10
✎
12:16
|
(21) а удаление ветки в реестре у каждого пользователя надо делать?
|
|||
24
DrZombi
гуру
15.02.10
✎
12:17
|
(23)Загрузи только формекс при старте системы и проверь.
Админские права, для формекса не нужны, он и так грузится... |
|||
25
Ёпрст
гуру
15.02.10
✎
12:19
|
(23) Нужно чтоб у каждого пользователя было EnableTableSourceTable = 2..
|
|||
26
Ёпрст
гуру
15.02.10
✎
12:20
|
+25 либо сделай как в (11) через УправлениеНастройками - всё само будет как надо.
|
|||
27
es3000
15.02.10
✎
12:26
|
(26) а можно вместо кода в (11)
написать код, который при загрузке будет делать EnableTableSourceTable = 2? |
|||
28
Ёпрст
гуру
15.02.10
✎
12:31
|
(27) А чем (11) не устраивает ?..
|
|||
29
es3000
15.02.10
✎
12:39
|
(28) Не понятно зачем чистить реестр. Получается надо сначала удалить ветку в реестре, а потом код установит настройки.
Не проще ли просто устанавливать кодом нужный параметр в реестре? |
|||
30
es3000
15.02.10
✎
12:40
|
(29+) я имею ввиду EnableTableSourceTable = 2
|
|||
31
Ёпрст
гуру
15.02.10
✎
12:43
|
(29) Желательно чистить, если перешел на 1cpp 3.0.1.26
А так, просто воткни УправлениеНастройками в код в ПриНачалеработыСистемы и всё. |
|||
32
Ёпрст
гуру
15.02.10
✎
12:44
|
(30) помимо этого, еще нужно установить (желательно) EnableTurboBL и остальные настройки правильно.
|
|||
33
es3000
15.02.10
✎
13:09
|
ОК, попробую
|
|||
34
1Сергей
15.02.10
✎
13:19
|
Что мешает вытащить таблицу из ert в mxl?
|
|||
35
es3000
15.02.10
✎
13:33
|
(31) попробовал без чистки реестра, просто вставил код приведенный в (11) - не помогло, все равно выдается ошибка:
Слишком много параметров передано при вызове функции/процедуры объекта Таб.ИсходнаяТаблица("Таблица", КаталогИБ() + "ExtForms\УведомлениеОЗадолженностиСАктом.ert"); |
|||
36
Ёпрст
гуру
15.02.10
✎
13:37
|
(35) какие щас параметры в реестре ?
|
|||
37
АЛьФ
15.02.10
✎
13:41
|
Доработка метода ИсходнаяТаблица() осталась в 1С++ после разделения.
|
|||
38
es3000
15.02.10
✎
13:47
|
(37) и как этим методом пользоваться?
|
|||
39
es3000
15.02.10
✎
13:48
|
(36)
EnabledCheckType = 1 EnableDebugging = 1 EnableHookEventsGroupContext = 0 EnableOptimizate = 2 EnableTableSourceTable = 0 EnableTurboBL = 1 |
|||
40
es3000
15.02.10
✎
13:49
|
получается что настройки не обновились после выполнения кода (11)
|
|||
41
es3000
15.02.10
✎
13:54
|
редактирование вручную
EnableTableSourceTable = 2 также не помогло |
|||
42
АЛьФ
15.02.10
✎
13:59
|
2(38) Вставить код из (11).
|
|||
43
es3000
15.02.10
✎
14:44
|
так говорю же, что вставил и не работает
|
|||
44
АЛьФ
15.02.10
✎
14:46
|
2(43) Релиз 1С++ какой?
|
|||
45
es3000
15.02.10
✎
14:47
|
(44) 2.5.0.7
|
|||
46
es3000
15.02.10
✎
14:48
|
получается что код (11) настройки не прописал
|
|||
47
Ёпрст
гуру
15.02.10
✎
15:12
|
(46) закрой 1с-ину. удали целиком ветку. Вставь код из (11) и наслаждайся..
|
|||
48
Ёпрст
гуру
15.02.10
✎
15:13
|
(45) Ё... 3.0.1.26 поставь
|
|||
49
es3000
15.02.10
✎
15:38
|
(48) А зачем мне новую ставить? в моей версии все отлично работает, судя по описанию и загрузка исходной таблицы должна работать.
Из-за такой ерунды лезть в реестр, причем на каждом компьютере, причем для каждого пользователя! |
|||
50
es3000
15.02.10
✎
15:39
|
Это удручает офигительно :(
|
|||
51
es3000
15.02.10
✎
15:39
|
да еще и версию менять!
|
|||
52
Ёпрст
гуру
15.02.10
✎
15:40
|
(49) мне то что.. оставайся на старой и меняй реестр руками для каждого пользователя.
|
|||
53
trdm
15.02.10
✎
15:41
|
(50) Удручает, что извращенцам жить тяжело?
Религия не позволяет выдернуть форму во внешний файл и заюзать? |
|||
54
Ёпрст
гуру
15.02.10
✎
15:41
|
(51) а чего, в этом есть какая-то супер сложность?...
|
|||
55
es3000
15.02.10
✎
15:54
|
(54) В этом не сложность,
Просто мой релиз - это рекомендованный стабильный релиз, который подтвердил свою стабильность временем. Тут предлагают его заменить на другой релиз, который статуса "стабильный" не получил по какой-то причине. (53) Все можно сделать, и по-разному. Но естественно хочется сделать как удобнее, быстрее, и т.д. Так вот читаю в помощи написано: МОЖНО ЗАГРУЖАТЬ ИЗ ФАЙЛА. Так чего же отказываться от такой возможности? Пробую, оказывается, что надо менять версии, удалять ветки реестра из-за этой фигни. Если б знал, что будут такие сложности, конечно сделал бы загрузку из MXL, да и все тут. |
|||
56
trdm
15.02.10
✎
15:55
|
(55) угу. есть подозрение, что трусы через голову снимать ты еще в школе научился :)
|
|||
57
es3000
15.02.10
✎
16:07
|
(56) не надо умных фраз...
есть чего по делу сказать - говори, нечего - у.е. |
|||
58
АЛьФ
15.02.10
✎
16:12
|
2(57) По делу: решение тебе подсказали, уговаривать никто не будет.
|
|||
59
es3000
15.02.10
✎
16:21
|
я понял
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |