Имя: Пароль:
1C
 
Как загрузить исходную таблицу из внешнего отчета?
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
я понял
Ошибка? Это не ошибка, это системная функция.