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
|
поэтому нужно передавать дополнительный параметр однозначно идентифицирующий вариант обработки предаваемой ТЗ, а не саму ТЗ. ну или надо больше подробностей. | |
| Интернет-форум Краснодарского края и Краснодара |