Понятно, что шаблон на C# выглядит визуально более компактнее и элегантней, однако;
Кубики, это обертка для кода, такая же, как и общий код, как и dll библиотека. Что ты будешь использовать, выбирай по степени удобства.
Вот список преимуществ, которые я лично считаю актуальными:
1. Живучесть и отказоустойчивость шаблона сквозь обновления ZP. Код универсален, и при очередной обнове шаблон будет работать, а кубики могут сломаться.
1.1. В кубике могут быть ошибки и придется откатываться назад или ждать фиксов версии, в коде вероятность крайне низкая, за ислючением новых методов и правки старых.
2. Возможность отладки всего и вся, в несколько строк кода. На кубиках делать отладку..., это вырастет в бесконечные блоки проверок и условий.
3. Код легко читаем, легко комментируется, скрывается и объединяется в блоки - это делает его компактным.
4. Код можно вынести в общий код или библиотеку, таким образом достаточно будет вызвать метод, а значения переменных будут работать в любом месте шаблона и не нужно будет ничего объявлять заранее.
5. В код легко вносить правки или дорабатывать расширяя проект, не нужно отодвигать сложившуюся конструкцию кубиков, чтобы впихнуть новый функционал.
6. Нет необходимости использовать переменные проекта, списки, таблицы проекта. Я не использую списки и таблицы Zenno, а переменные проекта использую только для входных настроек, всё.
7. Логика написания шаблона в коде полностью отличается от логики написания на кубиках. В коде ты делаешь каркас и прописываешь все переменные, пути xPath и т.д. Затем только вызываешь из общего кода в кубике C#, таким образом ты формируешь логику работы шаблона в несколько строк за пару минут.
ЗЫ, писать на кубиках не умею от слова совсем, т.к. их функционал обновляется, дорабатывается, расширяется. А мне лень за этим следить, искать нужный кубик, пытаться визуально понять, где какой кубик.
По этой причине, читайте тексты выше, как однобокое имхо, того, кто не умеет в кубики.