• Какие есть примеры построения большой организационной структуры?

    @Dementor
    программист, архитектор, аналитик
    сотни разных типов объектов = сотни разных таблиц

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

    По сути то, что ты хочешь - это базы SAP и 1С.
    Ответ написан
    4 комментария
  • Зачем использовать FileWriter?

    @Dementor
    программист, архитектор, аналитик
    А документацию прочитать? FileWriter является более удобным подклассом OutputStreamWriter для случаев, когда нет необходимости управлять кодировкой и размером буфера для чтения, и когда предполагается запись именно символов (characters), а не сырых файловых байтов.
    Ответ написан
    Комментировать
  • "прикладной код Java" - это что?

    @Dementor
    программист, архитектор, аналитик
    заменить на “прикладной код движка Java” будет корректно?

    Нет. "Движок Java" - это JVM, а "прикладной код" тут это просто код (логика), который решает прикладную задачу.
    Ответ написан
    Комментировать
  • Как добавить в 1С Документооборот новую кнопку в бизнес-процессе "Исполнение"?

    @Dementor
    программист, архитектор, аналитик
    Сама идея неправильная. Если задача попала по ошибке, то нужно перенаправить правильному исполнителю (если известен), или автору. Если закрывать с комментарием, то высокий риск пропускать такие случаи и вообще не выполнить нужную работу!
    Ответ написан
  • Как использовать интерфейс DAO?

    @Dementor
    программист, архитектор, аналитик
    Сделай общий интерфейс Dao с общими методами, а потом сделай наследованием DaoUser и DaoTodo, в которые добавь недостающие специфические для сущностей методы.

    Делать единый контракт для доступа к данным двух типов - это плохая идея. Если добавить заглушку для "ненужных методов" и возвращать Null, то можно забыть и в будущем напороться. А если имплементировать "не нужное", то потом "тащить" и поддерживать - однозначно пустая трата времени.
    Ответ написан
    2 комментария
  • Как сбросить заказы в 1с?

    @Dementor
    программист, архитектор, аналитик
    Стандартный обмен ИМ и 1С - это в 1С готовится файл формата CommerceML и передается скрипту сайта (или выгружается на FTP сайта, после чего сайт сам загружает). В этом стандартном обмене стандартными средствами нельзя изменить поток обмена и сделать сайт инициатором обмена. Нужна доработка!

    Самое простое - создать мини-сервис на стороне 1С, который по GET-запросу всегда будет отвечать 200, а сам стартует обмен вне расписания. В результате - сайт становится инициатором обмена, хотя архитектурно ничего не изменится.

    Относительно второй части вопроса:
    как скрипту указать куда обращаться к 1с ?
    , то тут ответ зависит от того как реализуете связку ИМ и 1С. Если через сервис по моему совету и хост с 1С будет неизменным, то можно хоть хардкодом забить. Иначе лучше ini-файл, в котором прописать адрес 1С и имя сервиса для старта обмена.
    Ответ написан
  • Зачем нужен второй интерфейс в определении класса, если первый интерфейс - наследник второго?

    @Dementor
    программист, архитектор, аналитик
    Очень многие вещи в ИТ и не только можно описать фразой "так исторически сложилось".
    Возможно сначала накинули интерфейсы, а потом сделали наследование интерфейсов. Или завтыкали...
    Ответ написан
    Комментировать
  • No send message from telegram bot to one signal?

    @Dementor
    программист, архитектор, аналитик
    {"errors":["Invalid app_id format"]}
    Значение app_id указано без ошибки.
    Одно из двух:
    1) или app_id указано с ошибкой
    2) или весь интернет пишет, что OneSignal сломался и больше не работает.
    Ответ написан
    1 комментарий
  • Котнрагент и Номенклатура, как заполнить полня из python по com в 1с 8.3 предприятие?

    @Dementor
    программист, архитектор, аналитик
    Согласен с коллегой, но предложил бы oData, который в программах 1С есть "из коробки" и не нужно разрабатывать дополнительный веб-доступ, если нет специалистов и/или возможности дорабатывать конкретную базу 1С.

    Базовые типы в 1С - числа, строки, даты, булево и ссылки! Ссылки - это указатели на записи в другие таблицы. Контрагентов с именем "Иванов Е" в базе может быть десять, или может быть сто, но ссылка всегда уникальна. Та же история с товарами и организациями.

    Если брать пример с вопроса, то должно быть что-то типа такого:
    db.Контрагент = клиент.Справочники.Контрагенты.НайтиПоНаименованию("Иванов Е");
    Ответ написан
    Комментировать
  • Как поменять content-type, который приходит от клиента в SOAP сервисе?

    @Dementor
    программист, архитектор, аналитик
    По сложности:
    1. Попросите клиента присылать хидеры в правильном формате.
    2. Между вашей системой и клиентом поставьте прокси, который будет преобразовывать зоголовки (nginx - отличный выбор)
    3. Напишите автоконфигурацию, которой приравняйте заголовок application/health.message+xml к text/xml
    Ответ написан
    3 комментария
  • Как определелить ребёнка от второго брака?

    @Dementor
    программист, архитектор, аналитик
    Посмотрите как сделано у ведущих экспертов в этой области - у www.myheritage.com и скопипасте себе их идеи. Если кратко, то у одного человека может быть несколько семейных древ - по каждому на пару родителей.

    А вот с парами родителей там затык - слишком привязываются к биологии: нельзя сделать М+М, Ж+Ж, Ж+М+Ж, МММ и прочие популярные комбинации. Вам если эту недоработку в своем сайте исправить, то пользователи с Европы попрут - там сейчас это тренд.
    Ответ написан
  • Как настроить AstraLinux?

    @Dementor
    программист, архитектор, аналитик
    Если все как вы рассказали, то опыт подсказывает, что проблема в настройке кластера 1С - вы указали имя главного компьютера кластера, которое не резолвится в вашей сети.

    Например: при создании кластера вы указали главным компьютером 127.0.0.1 (или MyLoveServer без доменного префикса). Вы успешно стучитесь по 1541 к менеджеру кластера и он вам сообщает, что теперь вам нужно перейти к хосту "127.0.0.1" и тут при форварде получаете "болт". При работе внутри сервера все норм, потому что он точно знает, что "127.0.0.1" это он же и есть.
    Ответ написан
  • Как вывести Реквизит Комментарий на макет 1с?

    @Dementor
    программист, архитектор, аналитик
    Просто глаза разбегаются:
    1) Только специалисты с многолетним опытом используют в СКД настраиваемые макеты, так как в этой технологии очень много нюансов и плохая документация. Откажитесь или от макета или от СКД - быстрее закончите.
    2) "в последнем запросе выбираю поле ВТ_ДляРасчета.ПриемнаяКампания.Комментарий" - тут здравый смысл просто кричит: или откажись от временных таблиц или выбери комментарий при формировании временной таблицы.
    3) насколько я вижу есть слабое понимание работы СКД - в запросе для источника данных вовсе не нужно выбирать реквизиты - это можно сделать в структуре вывода и СКД сама все выберет самым лучшим образом. А вы просто перегрузили запрос и сделали его плохо читаемым.
    4) "Ошибка исполнения отчета: Поле "Приемная кампания.Комментарий" не может быть использовано в группировке" - это очень распространённая ошибка использования строки неограниченной длинны. Если так сильно хочется использовать комментарий в запросе с группировками и "только различные" (вы хотите возразить, что их нет в запросе, а я хочу возразить, что вы не знаете нюансы работы СКД и что запрос в процессе выполнения еще дорабатывается и группировки будут добавлены, после чего срабатывают стандартные ограничения платформы на группировки в запросе), то нужно делать как-то так:
    Выразить(ВТ_ДляРасчета.ПриемнаяКампания.Комментарий как Строка(1000)) КАК ПриемнаяКампанияКомментарий
    Ответ написан
    6 комментариев
  • XSTREAM java алиас по значению поля?

    @Dementor
    программист, архитектор, аналитик
    Блок "Вот что сейчас генерит XSTREAM" и первая половина блока "сделать чтобы в зависимости от errorType он бы тупо генерил" - идентичны! Поздравляю, вы уже выполнили свою задачу.
    Ответ написан
  • Cannot resolve symbol 'sk89q', как решить проблему?

    @Dementor
    программист, архитектор, аналитик
    Пока вы в своем Мавене/Градле (или что там у вас?) не пропишете требуемую зависимость, IDEA не будет понимать, что это за импорт и продолжит выдавать "Cannot resolve symbol...."
    Ответ написан
  • Как исправить ошибку Could not load 'plugins\Название плагина' in folder 'plugins'?

    @Dementor
    программист, архитектор, аналитик
    1) Это вопрос не по Java, а по написанию плагинов под Майнкрафт. Следовательно вопрос нужно задавать не Java-программистам, а в майнкрафт-сообществе.

    2) Гугл говорит, что ваш проект "org.bukkit" был закрыт еще в 2014 году и все его разработчики перешли на проект Sponge. Зачем вы занимаетесь археологией?

    3) Текст ошибки говорит о проблеме с путями - проверьте свои конфиги и права доступа к файлам плагинов.
    Ответ написан
    Комментировать
  • Почему код работает по разному?

    @Dementor
    программист, архитектор, аналитик
    Если "если закоментить строку System.out... в цикле while", то для в остальном идентичного кода и идентичных входных данных результат будет идентичным.

    Следовательно или входящие данные различны, или код выполняется в различных условиях. Даже бегло взглянув на код видно, что данные добавляются в неизвестный список, о котором ничего не известно - кто и где его создал, была ли очистка перед чтением входящего потока?
    Ответ написан
  • Можно ли изменять String в объект прямо в методе, который делает вызов к API?

    @Dementor
    программист, архитектор, аналитик
    1) SOLID - это 5! принципов, а не только лишь single responsibility

    2) Глядя на всего две строки кода, говорить о нарушении принципов ООП-проектирования могут только полные теоретики и далекие от практики люди.

    3) Обмен с внешним ресурсом у вас идет с помощью классов библиотеки java.net.http, а преобразование ответа в объект с помощью библиотеки com.fasterxml.jackson . Вы в приведенных двух строках кода только стыкуете результаты работы двух библиотек. Что именно вас в этом смущает? Хотите сделать над каждой библиотекой обвертку? Но уровнем выше вам все равно придётся делать эту стыковку результатов, просто добавите лишний уровень абстракции.
    Ответ написан
    Комментировать
  • Добавить колонку динамического списка номенклатура?

    @Dementor
    программист, архитектор, аналитик
    В таких случаях чаще всего проблема в отсутствии прав доступа к источнику дополнительных полей (в вашем случае к РегистрСведений.ДействиеСкидокНаценокПоНоменклатуре).
    Ответ написан
  • Правильно ли я понимаю отношение классов "Композиция" в ООП?

    @Dementor
    программист, архитектор, аналитик
    Главного объекта, должны удалится все его составные части, потому что составная часть не может существовать без основного объекта. Верно?

    Нет такого утверждения в ООП и в реальном мире тоже нет. Взять ваш пример с человеком и органами - после смерти человека, его органы могут быть использованы для пересадки другим людям (если они здоровы и пересадка законна).
    Ответ написан
    7 комментариев