Timur писал(а):Формулы расчета лимитированных итогов(если вы имеете ввиду их) и так формируются всегда. Или какие то другие итоги имеете ввиду?
Давайте не будем путать термины и понятия.
Для взаимопонимания уточним, что под итогами понимаются суммы под столбцами, которые при экспорте Локальной сметы на листе Source имеют тип строки = 51.
О лимитированных речь пока не идет, но для взаимопонимания уточним, что они при экспорте Локальной сметы на листе Source имеют тип строки = 50 и в них действительно есть формулы, которые ссылаются на соответствующую им строку итогов с типом строки = 51. Поскольку ошибка состоит в том, что при определенных условиях программа Smeta.ru при экспорте в Excel на листе Source не формирует формулы итогов (суммы под столбцами) в строке итогов с типом строки = 51. Вместо формул выводятся числовые значения итогов, которые в последствии и отображаются в лимитированных, так как лимитированные по формулам на них ссылаются. Проблема приводит к тому, что если программа Smeta.ru выгружает числовые значения в итоги вместо формул, то итоги (суммы под столбцами) в Excel на пересчитываются.
Timur писал(а):Это смотря что вы понимаете под выражением "отключенные элементы структуры". Например, если на нужном вам элементе структуры снять признак "Рассчитывать", то ваше утверждение не верное.
Для взаимопонимания договоримся, что мы Всегда устанавливаем обе галочки "развернуть" и "рассчитывать" ОДНОВРЕМЕНОО и отключаем их ОДНОВРЕМЕННО.
Экзотические варианты типа "скрыть раздел, но суммировать его строки в общий итог сметы" или "развернуть раздел, но не суммировать его строки в общий итог сметы" доверяю использовать только Вам - объясняйте потом сами почему у Вас 2 + 2 = 5.
При формировании документа, договоримся, что мы будем рассчитывать (суммировать) итоги только из тех строк которые выводятся на печать, то есть если кому то вздумается проверить правильно ли программа суммирует числа в итоги, мы будем уверены, что суммирует она только то, что выводится на печать в сформированном документе.
Timur писал(а):Для этого есть функция "Исключить строки из расчета".
Этой функции сейчас мы не касаемся в принципе, так как она предназначена для исключения из расчета отдельных строк, а мы сейчас рассматриваем функционал, который позволяет скрыть и исключить из расчета целые разделы или сметы используя СТРУКТУРУ ОБЪЕКТА. Давайте сейчас не будем путать этот функционал и уводить в сторону от проблемы.
На самом деле причина проблемы в том, что пользователю дозволено снять галочки в структуре объекта в любом сочетании, а правильно выводиться на печать документ будет,
только если:
1. Устанавливаем обе галочки "развернуть" и "рассчитывать" ОДНОВРЕМЕНОО и отключаем их ОДНОВРЕМЕННО.
2. Если "развернуть" и "рассчитывать" разделы, то обязательно должны "развернуть" и "рассчитывать" локальную смету (в которую входят эти разделы).
3. Если "развернуть" и "рассчитывать" подразделы, то обязательно должны "развернуть" и "рассчитывать" разделы и локальную смету (в которые входят эти подразделы).
Повторить описываемую ошибку Вы можете если отступите от Выше описанных правил. Например если Вы отключите "развернуть" и "рассчитывать" для локальной сметы, но при этом включите "развернуть" и "рассчитывать" хотя бы на один раздел входящий в эту отключенную локальную смету. Аналогично можно поступить с разделами и входящими в них подразделами.
При экспорте вместо формул итогов будут числовые значения, а следовательно смета в Excel пересчитываться не будет.
Варианты решения:
1. Ограничить вседозволенность при работе со структурой объекта, то есть в случае если пользователь отключает "развернуть" и "рассчитывать" на локальную смету, то должны автоматически отключаться "развернуть" и "рассчитывать" на все входящие в состав этой локальной сметы элементы структуры (разделы и подразделы). Тоже самое в случае если отключает "развернуть" и "рассчитывать" на раздел, то должны автоматически отключаться входящие в него подразделы. Причем не просто должны сниматься галочки, но и сами элементы должны переводиться в отключенное состояние, так чтобы установить галочку на раздел или подраздел было не возможно если отключена локальная смета. Это называется защита от дурака или повышение дуракоустойчивости. В противном случае не прошло и одного дня, чтобы кто ни будь из пользователей не накосячил имея такую возможность.
2. Простейший способ заставить программу правильно формировать документ в Excel сводится к тому, что при экспорте в Excel программа должна обнулять объем всех строк входящих в отключенный элемент структуры (снята галочка "развернуть" и "рассчитывать"). Тогда можно не заморачиваться с формулами расчета итогов, просто всегда формировать одни и те же формулы, которые всегда будут правильно работать, так как при обнулении объемов строки пересчитываются и их итоги = 0, а следовательно на общий итог раздела или локальной сметы они ни как не будут влиять.
Экзотические варианты типа "скрыть раздел, но суммировать его строки в общий итог сметы" или "развернуть раздел, но не суммировать его строки в общий итог сметы" при выводе на печать даже не должны рассматриваться - их реализовывать не требуется.
И не надо увиливать - проблема есть и ее нужно решить.