diff --git a/Utilities/platform/2/generation/pipeSource.py b/Utilities/platform/2/generation/pipeSource.py index a8efed3..a91a2fc 100644 --- a/Utilities/platform/2/generation/pipeSource.py +++ b/Utilities/platform/2/generation/pipeSource.py @@ -1,6 +1,6 @@ from generation.isNotKeyword import * -def pipeSource(name, entity): +def pipeSource(name, entity, structure): props = entity.pipes[name] if "vm" in props: return "core.vm." + name @@ -16,8 +16,9 @@ def pipeSource(name, entity): src = "core." + src # Обращение к константе шины. elif src.startswith("K."): - key = src - src = "Bus.events.compactMap { Bus.convertKeyValue(" + key + ".rawValue, $0) }.map { (k: String, v: String) in v }.eraseToAnyPublisher()" + busKey = src + busValueType = structure.model.fields[name][0] + src = f"Bus.events.compactMap { Bus.convertKeyValue({busKey}.rawValue, \$0) }.map { (k: String, v: {busValueType}) in v }.eraseToAnyPublisher()" # Значение по умолчанию. elif src == default: return default + "." + name diff --git a/Utilities/platform/2/generation/sectionGeneratedPipes.py b/Utilities/platform/2/generation/sectionGeneratedPipes.py index 095e2a0..2cec0ba 100644 --- a/Utilities/platform/2/generation/sectionGeneratedPipes.py +++ b/Utilities/platform/2/generation/sectionGeneratedPipes.py @@ -26,7 +26,7 @@ def sectionGeneratedPipes(entity, sub, c): shortSrc = shortenName(key) # SRC. - src = pipeSource(key, entity) + src = pipeSource(key, entity, c.structure) fmtPipe = pipeFormat(fmtExRecent, fmtRecent, fmtSet, fmtToggle, fmtToggleNil, key, entity) for fmt in fmtPipe: