Code Monkey home page Code Monkey logo

windowbuilder's People

Contributors

admake avatar blackmixer avatar nmivan avatar rnpoddor avatar senitskiy avatar unpete avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

windowbuilder's Issues

Параметр "наименование изделия"

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

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

К обсуждению 05.04.2016

  • Опорная линия во вставках
  • Вложенные вставки - оптимизация
  • В F50 отсутствовали некоторые соединения
  • Ротор в рамных контурах
  • Буфер обмена
  • Ответы на вопросы
  • Сброс и обновление локальных данных
  • Приоритеты

Ценообразование

Реализовать расчет себестоимости и цены изделия на стороне браузера

  • Документы установки цен на стороне браузера
  • Научиться читать срез последних из индекса. Наверное, со временем это будет новый класс DataIndex
  • Регистр Маржинальные коэффициенты, ключи параметров и формулы. Для пререлиза можно ограничится статикой. Один тип цен для плановой и один тип цен для прайса. Красоты индивидуальных прайсов и скидок подключим позже
  • Подклеить код ценообразования в расчет спецификации
  • Цена и себестоимость в строках заказа
  • Сумма документа при изменениях табчасти продукция

Сортировка и фильтрация

  • Фильтрация по статусам
  • Фильтрация по датам и подстроке
  • Текст полей типа перечисление
  • Сортировка
  • Подключить эскизы продукций

Печатные формы

Для демоверсии достаточно четырёх форм:

  • Договор
  • Заказ с эскизами
  • Спецификация с размерами и ценами для понимания, откуда что берётся
  • фрагменты спецификации с эскизами для производства

Фальцевый размер при установке импоста

Перенесено из письма @Oparin-Igor

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

rama-faltz
rama-faltz2

подсистема Абоненты

Рассмотреть целесообразность замены переноса привязки фурнитуры в системе профилей отдельным признаком "Активная" - по аналогии с самими системами

Форма заказа

  • Поле выбора характеристики
  • Открытие спецификации

Заполнения в створках с импостами

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

  • При редактировании внешнего контура, передавать сигнал об изменениях вовнутрь
  • При построении glass_segments во вложенных контурах учитывать, что импост привязан не к образующей, а к створочной палке
  • Изменить порядок обхода и ранжирования, чтобы уменьшить вероятность перескока створок
  • Кроме честного T, учесть соединения в разрыв в алюминии
  • При редактировании узла или профиля, добавить оповещения об изменении связанных элементов

Привязка и редактирование импостов

  • при инициализации по координатам старого формата - наверное, проще всего реализовать сохранение в 1С и перезаписать изделия с импостами
  • инструменты элемент и узлы не захватывают импост внутри створок

К обсуждению 12.04.2016

  • Похвастаться формулами
  • Похвастаться параметрами
  • Похвастаться визуализацией с акцентом на абстрактность
  • Параметры про цвет, но вместо цвета используют значения свойств - плохо
  • Цветовые характеристики для ламинированного профиля - очень плохо. Правильнее учитывать тот профиль, что покупаем + услугу ламинации или плёнку и собственные затраты на ламинацию
  • Замечания про замечания, оформленные не по Gherkin. @Oparin-Igor Прочитать:
  • Свойства Ручка на стороне и Ось поворота отличаются в разных фурнитурах. Предлагаю настроить единообразно, по умолчанию для левого открывания. Для правого - инвертировать сторону и координаты
  • Рассказать про управление кнопками в диалоге размерных линий

Цвета и цветовые характеристики

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

Сценарии автоматического тестирования

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

  • Проверка всегда начинается с чистого листа - проверяем авторизацию и вход в программу
  • Рисование и расчет спецификации проверяем как для ранее созданного, так и для нового заказа и изделий - как загруженных из типовых блоков, так и нарисованных и изменённых
  • Перед тестами, переписываем базу из эталонного образа

Разные вставки для одного материала

Пример: AYPC.F50.0102 Стойка 62мм может работать и как рамный, и как импостный элемент.
Спецификация вставки, наверное, одинаковая, но точка привязки (размер B) - разные.
Замечание: размер B переехал из номенклатуры во вставку. Теперь для одного материала можно задать разные точки привязки в зависимости от того, как этот материал используется

  • Если сделать две вставки, станет проще и понятнее
  • Чтобы не повторять общие части спецификации, можно задействовать вложенные вставки

Видеоролики

  • Обзорный - состояния в списке заказов, создание нового изделия
  • Инструмент Рисование
  • Инструменты Свойства узла и Свойства элемента
  • Инструмент Позиция и сдвиг и редактирование размеров

Расчет ламинация

Добавить в расширение номенклатуры 2 поля.
ширина пленки для ламинации наружной.
ширина пленки для ламинации внутренней

Оптимизировать состав вставок

  • Ревизия - реально ли нужны вставки и параметры в таком количество
  • Уменьшить количество элементов, реализовав вычисление номенклатуры по параметрам
  • Оптимизировать вычисления, задействовав формулы

Размерные линии

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

TODO:

  • Класс - DimensionLine, умеет рисовать размерные линии для элемента и стороны контура
  • Редактирование габаритов контура
  • Обработчики абсолютного и относительного редактирования
  • Совместить редактирование с инструментом Позиционирование и сдвиг
  • Автолинии для импостов
  • Отступы внешних размерных линий при наличии внутренних
  • Сброс при изменении ориентации импоста
  • Свернуть массивы импостов. Учесть при этом, габариты контура
  • Для стоек с выносом, брать размер не от верхнего-нижнего профиля, а от габарита изделия
  • Привязки к внешним и внутренним линиям профиля
  • Выбор привязки размера в диалоге установки размеров: По узалм, По границам профиля
  • Произвольные размерные линии
  • Возможность отключать автолинии
  • Привязка произвольных линий не только к элементам и узлам, но и к опорным линиям
  • Возможность указывать относительный размер (дробь и процент) в размерных линиях

Реализовать откат и повтор undo-redo

полная информация о геометрии и свойствах изделия содержится в трёх табличных частях:

  • конструкции
  • координаты
  • параметры

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

TODO:

  • таймер пересчета
  • снапшотер
  • обработчики кнопок undo-redo
  • добавить снапшот при изменении свойств изделия и фурнитуры

Составить список формул с параметрами

Список желательно разместить прямо в этой ветке - потом перенесём в wiki.

@Oparin-Igor Пример оформления текста в виде таблицы см. здесь. Еще инфо про язык разметки github

Псевдоним Описание Параметры
Заглушки Рассчитывает количество фрезеровок вызовом функции ВодоотливыНиз Отступы, Шаг
ВодоотливыНиз Добавляет N фрезеровок на нижнем профиле Отступы, Шаг

Документы установки цен

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

Свойства профиля и заполнений в рисовалке

  • учитывать цвета
  • подключать редактор элемента при выделении заполнений
  • показывать номер элемента
  • сбрасывать (скрывать) при снятии выделения с элемента
  • сбрасывать (скрывать) при включении инструмента, отличного от элемент и узел

растягивать канвас при сворачивании панели и масштабировать панель

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

При изменении размера рамы используя сдвиг, пропадают пакеты и створка

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

Изменения внёс - на моих данных работает красиво - надо будет протестировать после публикации на общей базе.
Важно: если двигать при нажатой клавише {Ctrl} - работает старая математика, которая позволяет оторвать от соседа профиль или узел.

Расширительные и соединительные профили

  • Добавить типы элементов в инструмент Рисование
  • Реализовать прилипание в классах ProfileConnective и ProfileAddl
  • Реализовать прилипание рамных контуров
  • Учесть ширину добора и соединения в рамных профилях
  • Реализовать матрёшку и крепление импостов к доборным профилям
  • Отладить поведение классов ProfileConnective и ProfileAddl

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

Не только в окне построителя, но и при изменении системы профилей.

  • Отладить фильтр в таблице свойств
  • Реализовать в справочнике параметров продукции метод перезаполнения параметров изделия

Протестировать формирование спецификации

Спецификацию фурнитуры пока не анализируем - акцент на размерах профилей, заполнений и штапиков. При необходимости, внести изменения в технологические справочники

  • Заказ Б0000000003 - проверить ПВХ
  • Заказ Б0000000009 - AL балконы - есть ошибки в построении

Соединения L, I

  • Заказ Б0000000009 - AL балконы - есть ошибки в построении
  • Заказ Б0000000002 - F50
  • Заказ Б0000000002 - Заполнения для стоек, разрывающих ригели
  • Редактирование изделий с разрывами ригелей
  • Привязку L выполнять, как для импостов
  • L может превращаться в T и наоборот
  • При смене вставки пересчитывать всё изделие
  • Показывать соединения в свойствах элемента

Создание нового заказа и изделия

Протестировать
Устранить выявленные ошибки

  • Заполнение заказа по умолчанию
  • Создание новой характеристики
  • Реквизиты характеристики после расчета
  • Заполнение строки построителя при открытии изделия
  • Редактирование и сохранение реквизитов контура
  • Заполнение строки заказа после редактирования в построителе

Типовые изделия

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

Расчет спецификации фурнитуры

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

Список значений в дополнительных реквизитах (option list)

Если бы не совместимость с 1С БСП, реализация не составила бы труда.
т.к. совместимость нужна, хранить будем JSON - строку с массивом guid-ов выбранных элементов

  • Признак список в плане видов характеристик
  • Формы списка опций на стороне 1С и metadata.js
  • Учесть списочные параметры в обработчиках

Инструмент "Рисование"

  • Запоминать свойства в привязке к системе
  • Интеллектуальный алгоритм подстановки начальных значений
  • Подписка на событие при изменении системы

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.