Общая информация

Настройки сборки происходит непосредственно на странице сборок.

Страница сборки

Не все сборки могут поддерживать наполнение с помощью файлов. Эту возможность легко определить по наличию возможность указать файл для загрузки файла с настройками.

Область страницы сборки с панелью элементов для загрузки файла с настройками сборки

На этой странице:

Если подобные кнопки есть на странице сборки, то сборка поддерживает настройку через файлы.


Сборка может быть настроена через файлы несколькими способами, даже комбинированными (и вручную и через файлы), но самый быстрый и более правильный способ, который сводит количество ошибок при заполнении к нулю, это предварительное заполнение сборки.

Файл сборки может быть наполнен вручную, используя файл полученный с помощью "Скачивания образца", а может быть уже предварительно наполнен - "Выгрузить данные". Второй способ более простой.

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

Образец сборки не содержит никаких правил, а только базовые поля для настройки конкретного типа правила ценообразования.

Пример файла с образцами правил

Листы с образцами имеют в своем названии слово "Example", код правила ценообразования и флаг игнорирования.

Код правила ценообразования является одним из основных элементов для разбора листа файла. В зависимости от указанного кода правила будут применены одни или другие алгоритмы по считыванию листов. Если поля не будут соответствовать указанному типу, то разбор документа пройдет с ошибкой или данные будут не соответствовать указанному типу.

Лист без кода правила не может быть обработан.

Флаг игнорирования указывает на то, что данный лист должен быть проигнорирован во время разбора всего документа. Он используется только в файлах, где задаются настройки к множеству подпунктов сборки, например, к печатным листам.

Если нужно при загрузке файла проигнорировать какой-то лист, просто укажите в ячейку J1 значение 1 и тогда страница будет проигнорирована. Это может быть полезно при заполнении нескольких похожих сборок.

Имя листа не на что не влияет, кроме описательного характера листа.

Печатные листы. Для документов, которые предназначены для настройки печатных листов, есть также ячейки для настройки печатного листа конкретного листа.

В полях G1 и G2 содержится информация о печатном листе для данного листа документа. В первой строке указано пользовательское название листа, во второй строке указан идентификатор листа, который взят из БД системы.

При ручном заполнении важно именно второе значение - ID печатного листа, потому что при разборе документа и заполнении сборки именно это значение используется для определения соответствующих печатных листов.

ID печатного листа можно получить в справочнике листов в текущей системе (Настройки - Калькуляторы - Справочник печатных листов). Например, открыть страницу с нужным печатным листом и посмотреть адрес страницы.

ID печатного листа на странице печатного листа

Последнее число в адресе - ID. Это значение должно соответствовать числу на листе в документе. Это особенно важно при заполнении документа вручную, путем копирования образцов и их изменения.

Подготовка сборки для массового наполнения

Не все типы правил ценообразования поддерживают настройку сборок через файлы. Например, тип "Использовать правила ценообразования другой сборки" или простыми словами "Копия" не поддерживает эту функцию, а тип "Собственные правила ценообразования для широкоформатных печатных листов" поддерживает.

1. Лучше всего, чтобы не производить манипуляции вручную, добавьте на страницу сборок печатные листы (для тех сборок, где они поддерживаются).

2. Для каждого печатного листа укажите тип правила ценообразования. Если для какого-то листа не будет указан тип на странице сборки, то при выгрузке данных эти печатные листы будут проигнорированы.

Типы ценообразования

Указывать настройки для печатных листов не обязательно, однако если вы это сделаете, то полученный лист уже будет предварительно наполнен указанной информацией.

Предварительно настроенная сборка

Предварительно наполенная сборка

На скриншоте выше мы для одного печатного листа указали правила ценообразования. Другие листы остались заполнены базовой информацией, но тип правила был указан везде.

Если мы выгрузим файл для всей сборки, то мы увидим все те же данные.

Предварительно заполненный документ

На скриншоте выше можно увидеть, что документ наполнен теми же данными, что и страница сборки в браузере.

Обратите внимание, что значения, которые ограничены по выбору в веб-версии, также ограничены и в документе. Например, для валюты можно указать только заданный список кодов, для ед. изм. цены, только значения из доступного списка, а для логических полей "да" или "нет".

Сам документ, в отличие от образца, содержит еще и добавленные листы, у были указаны типы.

Другие листы наполнены базовой информацией и базовыми значениями, которые были получены со страницы.

Документ с базовой информацией

Заполнение документа для массового наполнения сборки и его загрузка

Нажмите "Выгрузить данные" для всех печатных листов. Кнопка для выгрузки всех печатных листов находится внизу страницы.

Внимание! Выгрузка данных возможна и для индивидуальных листов. Если вы нажмете ее, то будет получен документ с возможностью настройки только одного (любого) листа.

Способы выгрузки листов

После нажатия на кнопку браузер предложит скачать файл или начнет его скачивание.

После открытия документа появятся те же листы с теми же данными, которые были на странице.

Вы как угодно можете изменять эти данные, но в рамках правильности этих данных. Некоторые проверки/ограничения уже встроены в документ.

Давайте посмотрим на пример заполнения данных листа, где был указан тип с интервалами.

Мы добавили новые интервалы, всего лишь скопировав или добавив новые строки с необходимыми значениями.

Обратите внимание, один интервал указан с нарушением диапазона - первое значение больше второго.

При загрузке сохраненного документа на страницу сборок, во время обработки документа будут использованы все те правила, что и при сохранении сборок. Это значит, что некорректные значения будут заменены не значения по умолчанию и/или исправлены на приемлемые значения, которые могут использоваться во время расчета.

В данном случае, второе максимальное количество материала будет удалено, что в этом случае означает, у данного интервала нет ограничений по лимитам, т.е. 500 и выше.

Страница примет следующий вид после обработки документа (конкретно этот лист):

Все данные были заменены данными из документа, а некорректный интервал использовал правила соответствующего типа.

Документ обрабатывается в соответствии с правилами указанного типа и при загрузке документа все предыдущие настройки на странице будут заменены.

Давайте посмотрим другие листы.

Отличительной особенностью документа является то, что в неиспользуемых ячейках можно писать любую информацию. Это практически все ячейки, которые не имеют подписей, за исключением ячейки для флага игнорирования.

Документ будет распознан корректно и все данные будут заполнены корректно.

Вы можете заметить, что некоторые значения табличный редактор изменил значение коэффициента изменения стоимости в свой формат, но на странице в системе оно выглядит корректно.

Для одной страницы был указан флаг игнорирования. Этот лист не будет обработан обработчиком документов.

Ручное заполнение документа для массового заполнения сборки

На основе предыдущего документа, давайте вручную заполним его.

В качестве будущего нашего типа ценообразования будет "произвольные интервалы".

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

Не зависимо от выбранного способа, вам нужно будет указать необходимы ID печатного листа. Это можно сделать с помощью справочника (было описано выше).

Для нашего примера будем использовать печатный лист "841 мм х 45,7 м" с ID 42.

Если вы планируете заполнять вручную более одного листа, то продублируйте лист с образцом и изменяйте именно его. Если же вам нужно добавить всего лишь один лист, то можно изменить и образец, однако в этом случае вы потеряете оригинальный образец.

В нашем примере мы используем образец, чтобы отобразить все нюансы заполнения.

В качестве листа документа взяли образец, но не копировали его, а изменили.

Первое, что нужно сделать, это изменить флаг игнорирования. Нужно указать значение 0 или вообще удалить эту ячейку - ячейка J1.

Затем, в ячейку G2 нужно указать необходимый ID печатного листа.

Далее заполняем поля, как это нам нужно. Если вы где-то не заполните данные, то может быть ошибка разбора документа. В этом случае на значке загрузки вы увидите восклицательный знак. Также обработчик может использовать значения по умолчанию (зависит от обработчика и от полей).

Если попытаться загрузить текущий документ без добавления соответствующего печатного листа на страницу, то он не будет автоматически добавлен.

Чтобы эти настройки были загружены, нужно на страницу добавить печатный лист с этим же ID.

Отличительной особенностью ручного заполнения является то, что вы самостоятельно выбираете тип в самом документе. Этот тип будет автоматически выбран на странице, как на скриншоте ниже.

Другие особенности массового наполнения из документа

Как упоминалось выше, если в документе присутствует лист, которого нет на странице, то он не будет автоматически добавлен на страницу.

Лист в документе, у которого установлен флаг игнорирования будет проигнорирован при обработке.

Если в документе нет каких-то листов, которые есть на странице, то они просто не будут изменены (они не будут обнулены).

Наполнение одного печатного листа

Кроме массового заполнения сборки, можно также заполнять каждый лист из документа.

Принцип наполнения документа практически такой же, за исключением некоторых моментов:

  • ID печатного листа не надо указывать;
  • нет функции игнорирования листа, потому что так обрабатывается только один лист;
  • документ должен содержать лист с кодовым именем основного типа (немного другое представление кодового имени);
  • для определения типа служит поле "тема" в свойствах документа. Это поле не бросается в глаза пользователю.

Документ для одного листа

Для заполнения печатного листа на странице системы нужно выбрать файл в поле, который принадлежит этот лист.

При успешной загрузке и обработке документа на кнопке "Загрузить" появляется галочка.

Получение образца документа для одного печатного листа

Чтобы получить образец или файл с предварительно указанными данными нужно выбрать соответствующий лист и на вкладке листа выбрав необходимый тип ценообразования нажать кнопку "Скачать образец" или "Выгрузить данные".

Особенности наполнения отдельных печатных листов

Как и в массовом наполнении сборки, так и тут, тип ценообразования будущего листа зависит от типа указанного в документе.

Один заполненный документ можно поочередно применить к каждому печатному листу не заполняя файл снова.

Для обратной загрузки воспользуйтесь загрузкой файла находящейся на том же листе, которая находится после названия печатного листа.

Другие особенности

Имя файла не на что не влияет, это своего рода подсказка для пользователя.

Влияют внутренние настройки документа, которые не рекомендуется изменять. Внутренние настройки хранятся в свойствах документа.

В свойствах указан основной тип правила ценообразования и его подтип (только у документов для отдельных печатных листов). Эти поля служат для определения обработчика. Если эти поля будут повреждены или не заполнены, то сборка не будет заполнена.

Например, при самостоятельном создании документа и при копировании листов без копирования этого описания документ не получится обработать.