• Как с помощью "Плана обмена" отправить данные по HTTP?

    fosihas
    @fosihas
    Автоматизации учета на 1С.
    Тут посмотри, там один из разделов как раз про обмены)
    https://its.1c.ru/db/pubintromobile
    Ответ написан
    Комментировать
  • Как с помощью "Плана обмена" отправить данные по HTTP?

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

    Сколько людей - столько и мнений.

    Поэтому у меня следующие вопросы:

    1) В вашем представлении о работе платформы есть неточности. Если на пальцах, то на самом деле все выглядит следующим образом. При авторегистрации или при регистрации программно согласно алгоритмов в таблице узла ничего не происходит. На самом деле происходит заполнение таблиц "Изменения", которые подчинены регистрируемым объектам. К этим таблицам можно даже обращаться запросами. Для примера у складов таблица для запроса будет иметь вид Справочник.Склады.Изменения. Эти таблицы состоят из трех колонок - ссылка на оригинальный регистрируемый объект, ссылка на узел куда регистрируем и номер пакета. Сразу после регистрации номер пакета не заполнен и заполняется конкретным номером только в момент формирования пакета данных на отправку. Детальнее про работу с планом вам все же придется почитать в документации.

    2) С помощью периодического вызова метода ПланыОбмена.ВыбратьИзменения(). Он возвращает выборку из уже зарегистрированных для отправки объектов. Детальнее в справке.

    3) Если вам нужно формировать XML-файл, к структуре которого есть строгие требования, которые желательно сразу проверить на соответствие схеме, то да. Если вам нужно просто создать XML-файл (а еще лучше JSON), то просто создайте в памяти из массивов, структур и соответствий требуемый вам объект и далее сериализируйте его в нужный вам формат с помощью функций ЗаписатьXML() или ЗаписатьJSON().
    Ответ написан
    7 комментариев
  • Как синхронизировать 1С: Предприятие с внешней системой?

    fosihas
    @fosihas
    Автоматизации учета на 1С.
    3. Каким образом подобные доработки распространяются в пользовательские конфигурации 1С? Есть какие-то средства экспорта/импорта, инсталляция может быть? Или мне придется каждый раз вручную редактировать пользовательскую конфигурацию?

    Можно написать промежуточную конфигурацию. Которая будет получать данные из типовой, преобразовывать ее и передавать дальше.
    Этим вы достигнете что изначальная конфигурация останется типовой, без изменений для обновлений. В промежуточной с данными можно произвести дополнительные изменения.
    Ответ написан
    Комментировать
  • Как синхронизировать 1С: Предприятие с внешней системой?

    @Dementor
    программист, архитектор, аналитик
    1) Веб-сервисы, про которые вы упомянули предназначены для внешних потребителей. Если инициатором выступает 1С, то вам доступны практически все инструменты (кроме особо экзотических) - обмены через файловые шары, FTP, веб-службы, COM-подключения, прямые выгрузки в СУБД при наличии ODBC-драйверов и так далее.

    2) В платформе есть специальный объект "подписка на события", который позволяет не редактируя те же самые справочники вставить свой исполняемый код на события, которые связаны с конкретным справочником, их списком или каждым из справочников системы. Тоже самое касается документов (только список обрабатываемых событий более расширен) и некоторых других объектов.

    3) Совсем "вручную" не нужно. Вы можете сделать свою "каркасную" конфигурацию, которую через механизм "сравнения/объединения конфигураций" будете внедрять в пользовательскую, таким образом перенося в нее свои подписки на события и общие модули с их обработкой. Таким образом свои настройки интеграции распространяют такие компании как Битрикс, Агент-Плюс и пр. Для управляемых конфигураций (это самые последние разработки 1С - ERP, Бухгалтерия 3, Управление торговлей 11, Управление небольшой фирмой и так далее) совсем недавно появилась возможность создавать расширения. Обзорно можете почитать тут - https://habrahabr.ru/company/1c/blog/320018/
    Ответ написан
    6 комментариев
  • Как синхронизировать 1С: Предприятие с внешней системой?

    Из опыта(лично испытал на себе) есть варианты:
    1. В платформе есть подписки на события(ответ на пункт 2): при изменении/ добавлении/записи etc. объекта справочника/документа etc могут быть описаны дополнительные действия подробнее. Можно организовать все что угодно: выгрузку данных в любого формата файл, подключение, например, по ADO к MS SQL. С файлами минус в том, что должна быть shared-область для двух систем(1C - доступ на запись, вторая система на чтение).
    2. Регламентное задание 1C(гугл) - аналог сервисов. Пишем функцию(опять же на выгрузку данных в файл или коннект к СУБД), задаем расписание.
    3. Подключение к 1C Предприятию через COM-объект. В целевой системе при наличии соответствующих инструментов создаем COM-подключение к 1C и делаем все что нужно c использованием методов платформы 1C. Метод достаточно противоречивый, но также работает.
    Ответ написан
    4 комментария
  • "Сильные" книги по Symfony и архитектуре приложений?

    by25
    @by25
    Веб-разработчик
    1. Мэтт Зандстра "PHP: объекты, шаблоны и методики программирования" - Врубиться в ООП
    2. Эрик Фримэн и ко "Паттерны проектирования" (Head First) - Влюбиться в ООП
    3. Эрик Эванс "Предметно-ориентированное проектирование" - научиться проектировать сложные системы
    4. Крэг Ларман "Применение UML 2.0 и шаблонов проектирования" - про проектирование, глубокое понимание ООП
    Ответ написан
    Комментировать
  • Как отимизировать данный mysql запрос (php)?

    sanchezzzhak
    @sanchezzzhak
    Ля ля ля...
    Никак, блочное кеширование раздела, а лучше отказаться от идеи хранить файлы в БД.
    Это напрягает выдачу результата запроса.

    Браузер умеет кешированить статику картинки js сss
    Браузер грузит с одного домена по 3 картинки за раз.

    Вот почему в вк картинки разнесены на многие сервера с субдоменами
    причем разные размеры картинок копии находятся на разных серверах-субдоменах
    Ответ написан
    Комментировать
  • Как привести методы с разными параметрами к единому интерфейсу?

    GavriKos
    @GavriKos
    Правильно ли я понял:
    у вас есть класс А, который содержит N параметров.
    есть класс Construct_1, который делает что то на основе M параметров, где M - подмножество N
    есть класс Construct_2, который делает что то, похожее на действия Construct_1 на основе M` параметров, где M` - подмножество N.
    Вы хотите чтобы C_1 и C_2 были объединены одним интерфейсом. Т.е. кто то извне создает С_1 или С_2 в зависимости от условий, передает его например в A, и A вызывает общий метод, давая туда нужные данные, но не зная что перед ним - Construct_1 или Construct_2?
    Ответ написан
    5 комментариев
  • Как лучше определять константы: через define или const?

    @bkosun
    Эти функции не идентичны, поэтому нужно использовать в зависимости от ситуации:
    stackoverflow.com/questions/2447791/define-vs-const
    https://web2033.com/php-const-vs-define/
    Ответ написан
    Комментировать
  • Как установить Windows 10 без обновления с Windows 8?

    @spotifi
    Последовательное обновление нужно (Microsoft утверждает, что обязательно) для того, чтобы Windows 10 подхватила ключ от Windows 8.

    После того, как ключ активирован в Windows 10, вы можете ее снести и поставить заново начисто с нуля сразу версию 10 - ключ будет работать. Проверено.
    Ответ написан
  • Почему браузер не отправляет Cookie с запросом на получение шрифта?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    lmgtfy.com/?q=cookies+not+sent+%20font+request
    В одном месте говорят что так и надо, в другом говорят, что это баг
    Ответ написан
    1 комментарий
  • Какие современные веб-технологии нужно знать middle разработчику?

    miraage
    @miraage
    Старый прогер
    Ну-с, как минимум, Вы должны, как рыба в воде, понимать и применять то, что описано на этом сайте.

    www.phptherightway.com
    Ответ написан
    Комментировать
  • С/C++. Почему не сразу выводит в stdout?

    В начале вызываем system("stty raw"); (работоспособность в windows не проверялась).

    Или используйте curses:
    #include <curses.h>
    
    int main(void)
    {
        initscr();
        cbreak();
        timeout(-1);
    
        char ch;
        while ((ch = getch()) != '\n') {
            printf("%c", ch);
            fflush(stdout);
        }
    
        endwin();
        return 0;
    }
    Ответ написан
    2 комментария
  • С/C++. Почему не сразу выводит в stdout?

    EndUser
    @EndUser
    Вроде где-то видел опцию синхронизации потоков консоли.
    Типа en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio ?
    Вы точно C-компилируете?
    Ответ написан
    1 комментарий
  • Хранение значения внутри метода. Хорошо или плохо?

    Melkij
    @Melkij
    PostgreSQL DBA
    Аккурат пример к "Replace Conditional with Polymorphism" из Рефакторинга М. Фаулера.
    Да, уместно.
    Ответ написан
    Комментировать
  • Как оптимально развернуть виртуалку с .ova конфигурацией на сервере с hyper-v?

    athacker
    @athacker
    OVA -- это формат VMware скорее. Там внутри обычно .vmdk (диск) и .ovf (описание конфигурации виртуального железа).

    Вам нужно содержимое диска, а виртуалку можно и руками создать. ВиртуалБокс позволяет сконвертировать vmdk диск в формат vhd, который вы можете затем подсунуть в Hyper-V. OVA -- это tar-архив. Распакуйте его tar-ом, вытащите vmdk и сконвертируйте его с помощью VBoxManage в .vhd:

    VBoxManage clonehd --format vhd disk1.vmdk disk1.vhd

    Затем руками создаёте на Hyper-V виртуалку и ей подсовываете этот vhd.
    Ответ написан
    Комментировать