Задать вопрос
  • Как использовать интерфейс 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 комментариев
  • 1с 8.3. Как мне вывести список договоров из 1с и сравнить со списком из Excel??

    @Dementor
    программист, архитектор, аналитик
    В теме один вопрос, а в содержании другой. Будьте аккуратней, если хотите точный ответ.

    Как построить запрос чтобы вывел список договоров?
    Как видно из тела вопроса - запрос и его результат уже есть.

    Как мне вывести список договоров из 1с и сравнить со списком из Excel?
    Скопировать результат из 1С в Excel и сравнить таблицы средствами Excel (ВПР или другое).
    Ответ написан
  • Почему PDF не передается?

    @Dementor
    программист, архитектор, аналитик
    Через POSTMAN и браузер все четко работает, но через мобилку выдает ошибку

    Что это означает? Через браузер на компе работает, а через браузер на мобилке нет? Или скорее через браузер на мобилке работает, а через некоторую программу, которую вы пишите для мобилки не работает и это именно она выдает "java.io.IOException: Broken pipe"?

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

    Плюс хоть немного погуглите свои ошибки - может там уже сразу решение есть. Например тут: https://www.baeldung.com/spring-no-converter-found
    Ответ написан
  • Внешняя обработка,которая копирует значение реквизита в другой реквизит справочника?

    @Dementor
    программист, архитектор, аналитик
    {ВнешняяОбработка.Копирование.Форма.Форма.Форма(11 )}:ОбщегоНазначенияУТ.ПодготовитьДанныеДляСинхронизацииКлючей(Объект, Параметры);

    Выделил строчку, где вы допустили ошибку в вашем коде. В форме внешней обработки в строке 11 вы передаете в функцию ОбщегоНазначенияУТ.ПодготовитьДанныеДляСинхронизацииКлючей не значение типа СправочникОбъект, а данные формы, у которые соответственно нет предопределенного свойства "ОбменДанными". Сначала нужно выполнить преобразование с помощью ДанныеФормыВзначение() или РеквизитФормыВЗначение()

    P.S. Еще обратила на себя внимание строчка:
    ОбщегоНазначенияУТ.СинхронизироватьКлючи(ЭтотОбъект);
    Вы же в курсе, что в контексте формы ЭтотОбъект = ЭтаФорма ?
    Ответ написан
  • Где указывается ИНН банка в 1С УНФ 1.6 (1.6.26.124)?

    @Dementor
    программист, архитектор, аналитик
    Сергей Водаков все верно написал - в УНФ есть только БИК и Свифт.

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