Удивительно, но факт, на портале совсем не уделено внимания связке 1С и основного инструмента проектировщиков Гранд-Смета. Недано пришлось солкнуться с загрузчиком, который считывал файл построчно, само собой это очень медленно и очень плохо отлаживается. Копяться в дебрях переменных — это не наш метод, поэтому было решено переписать на более грамотный код.
На сайте Гранд-сметы была найдена xsd схема, правда несколько устаревшая, которая, ко всему прочему никак не захотела загружаться в 1С. Ну мы то люди прошаренные, чуток подправили структуру и вот он наш чудесный пакет.
Я уж подумал, что полдела сделано, но оказывается это только я так думал. В реальных файлах со структурой творится полный беспредел, например часть полей может отсутствовать или ключи могут иметь разнообразный тип данных. Прицепом идут формульные поля (совсем как в Excel) и размазанные по структуре файла ссылки. Я уже молчу про т.н. лимитированные затраты, которые выстпают в роли коэффициентов к определенным типам ресурсов.
Одним словом, под конкретные задачи подгонять и загонять. К чему этот опус, да к тому, что 100% универсальный загрузчик вряд ли сделаешь, все индивидуально. Самом собой встает вопрос о том, что зрузить и куда грузить.
В предлагаемом файле моя отладочная конструкция со стартером на обычных и управляемых формах, сами рабочие процедуры и функции в модуле обработки. Второй файл — использованные описания формата ГС, пример сметы для отладки и исходный xsd-файл (все это можно скачать на сайте Гранд-сметы по отдельности).
(0) у нас реализован полный загрузчик + пересчет коэффициентов, индексов и прочей «лабуды». В общем на самом деле это можно сделать, но придется изрядно попотеть. И он вполне будет «универсальный». На сегодняшний день у нас кушает файлы 5, 6, 7 версии. Здесь (на ИС) алгоритм не представлен, поскольку является частью конфигурации, которая на сегодняшний день не планируется к продаже.
(1) Меня интересует только логика применения всех этих коэффициентов. В первую очередь, на что применяется, в зависимости от того, где стоит. Если есть возможность, кинь куски кода, можно в личку.
(2) коэффициенты то ерунда, с ними разобраться не так долго. Все подписано, знай себе умножай, округляй согласно настройкам и умножай далее. Проблема в округлении и некоторых нюансах осмечивания позиций.
Что касается кусков кода, увы не могу поделиться пока. Продукт коммерческий.
(3) В том то и прикол, что Гран-Смета это большой Excel и коэффициенты наворачивают как хотят. Возможно, если бы были определенные стандарты в целом, все было бы проще. А сейчас я пытался по разному применять формулы и коэффициенты, в итоге общие суммы плывут. Приходится считывать итоговые значения и на их основе подставлять в строки расценки.
ради этого и разместил обработчик, может есть у кого-то токовый талмуд, где, что и как применяется.
(4) не соглашусь с тем что коэффициенты применяются не как хочется, а в определенном порядке и по определенным правилам. Некоторые правила кстати существуют и прописаны в нормативной документации. Самый гемор в округлении, а именно в настройке «Интеллетуальное округление». Но и у нее есть правила, их только исследовать надо. Официальной документации верить нельзя.
У нас на сегодняшний день 1С рассчитывает как гранд. И итоги в файле в принципе используем только для сверки что расчет = файлу. Т.е. самоконтроль программы.
(4) но я соглашусь что Гранд = Excel + справочники + немного макросов.
(4) напиши мне в скайп может я смогу тебе в чем нибудь помочь.
Добрый день! Подскажите получилось реализовать обмен Гранд-Сметы с 1С?
(8) Само собой. Единственное, xsd ГС не поддерживал дерево разделов. Обмен работал на построчном разборе. Модуль был просто огромный.
Для простых смет вполне хватит и текущего примера.