К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Как узнать Имя Таблицы Значений

0 - 27.10.2015 - 11:38
Всем физкульт-привет!
Задача следующего плана:

в функцию в качестве параметра передаётся Таблица Значений, и нужно однозначно идентифицировать эту ТЗ, чтобы выполнить нужный алгоритм её обработки (так как ТЗ несколько, и на форме и временно создаваемых).

Прямым способом узнать Имя ТЗ, насколько я понимаю, невозможно.
1) Можно сравнивать целиком ТЗ, переданную в качестве параметра с имеющимися ТЗ и по совпадению идентифицировать
2) Можно сравнивать количество строк или колонок (но тут в разных ТЗ эти параметры могут случайно и совпасть)
3) Можно ввести во все таблицы дополнительно Первую "Спец"-колонку, уникальную для каждой таблицы, и пытаясь через Попытку/Исключение в ней получать значение, определять с каким именем колонки попытка будет успешной, значит и таблица идентифицирована...
Может ещё как можно?
Хотелось-бы определиться с оптимальным вариантом на ваш взгляд. Что посоветутете?



Гость
1 - 27.10.2015 - 11:43
(0) добавить в функцию обработчик, первый параметр "ТипТЗ"
2 - 27.10.2015 - 11:53
ну да, самое простое
а заклинило меня из-за того, что параметр не хотел передавать :)
Гость
3 - 27.10.2015 - 12:21
(2) извращенец :)
Для первой (к примеру) колонки кроме имени/типа и т.п. можно определять "бесполезный" синоним, который и считывать в обработчике
Гость
4 - 27.10.2015 - 21:18
Надысь делал одну многотабличную обработку. Обработка одна, а выходных таблиц - несколько. И каждая имеет свою расшифровку. А расшифровка порождает свою таблицу. С "псевдокнопками" ;)
Чтоб не запутаться, все вызовы расшифровки в одну процедуру:
Раздел = Расшифровка.Получить("Раздел");
Если Раздел = "такойто" Тогда
......
ИначеЕсли Раздел = "Сякойто" Тогда
.....
Все в кучке ;)

А для ТЗ есть функция глПоказатьТЗ(ТЗ, НазваниеВШапке = "", Назначение="", ВывестиТаблицей = 0) Экспорт
Для отладки удобно: вызывает обормотку для показать эту самою ТЗ. Можно зафиксировать как Таблица, потом рассматривать цепочку...
Гость
5 - 27.10.2015 - 23:37
никак
имя переменной хранится в пределах процедуры/функции
либо соответствующего модуля
то есть в процедуру/функцию вообще никак не передаётся, но может быть доступно в ней, если объявлена в модуле, который распространяет свой контекст на данную процедуру/функцию, чего в общем случае естественно не случается.
Гость
6 - 27.10.2015 - 23:40
однозначно идентифицировать ТЗ можно сохранив е
Гость
7 - 27.10.2015 - 23:42
...ё в строку. по крайней мере с достаточной степенью однозначности.

только использовать это можно что для сравнения с однозначно заранее заготовленной ТЗ на предмет их однозначной идентичности или однозначной неидентичности.
Гость
8 - 27.10.2015 - 23:45
поэтому нужно передавать дополнительный параметр однозначно идентифицирующий вариант обработки предаваемой ТЗ, а не саму ТЗ.

ну или надо больше подробностей.


К списку вопросов






Copyright ©, Все права защищены