Задать вопрос
  • Как автоматически проставлять автора в 1с?

    @Dementor
    программист, архитектор, аналитик
    Пользователь должен заполняться при создании документа. Пользователь должен заполняться, при открытии ранее созданного документа, если в документе не был заполнен автор.

    Ты решил использовать событие записи документа - это противоречит постановке задачи. Там требуют устанавливать автора (если он отсутствует) при открытии документа (при создании формы).

    Создал Параметры сеанса "ТекущийПользователь"

    Т.е. у тебя какая-то своя конфа, которую пишешь с нуля? Ну тогда не сильно заморачивайся - в модуле установки параметров сеанса оставь код по запросу параметра пользователя (сюда 1С стучится, когда кто-то явно запрашивает параметр сеанса - если кода установки нет, то будет ошибка обращения к неинициированному параметру), где оставь как в твоем примере получение текущего пользователя ИБ и поиск по идентификатору в справочнике пользователей.

    У тебя же справочник Пользователей самостоятельно заполняется по данным пользователей ИБ? Если нет, то задача не имеет решения, так как сначала нужно связать пользователей ИБ и элементы справочника для указания авторства документов. Для сдачи задачи можешь временно сделать поиск по наименованию и вручную проконтролируй, чтобы имена справочника Пользователи соответствовали логинам системы.
    Ответ написан
    9 комментариев
  • Как начать свой первый проект?

    @Dementor
    программист, архитектор, аналитик
    Особенность любого проекта - это начало и его конец. Допустим вы уже начали свой проект этим вопросом. Теперь главное выделить критерий, по которому вы скажете "стоп, снято". Другими словами, нужно максимально конкретизировать цель вашего пет-проекта, чтобы проект не был вечным.

    Имея критерий завершённости, нужно написать ТЗ. Так как "без внятного ТЗ, результат всегда ХЗ". Если вы не любитель академизмов, то оформлять по ГОСТам не нужно. Достаточно просто описать в преамбуле цели, описать границы проекта, уровень приемлемого качества и контрольные примеры для этапа приемки работ. На этом этапе технологический дизайн можно не делать, но чем детальнее сделать функциональный дизайн, тем лучше!

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

    Имея на руках проработанную задачу и выбранный стек технологий, остается обложится поисковиками с различными чатами ГПТ и "Just Do It"!!!

    P.S. "изначально просто потреблял контент" - что за тиктоковщина??? Ты просто выбрасывал время своей жизни. Если материал интересен, то тут же повторяй на своем гитхабе. Если не интересен, то свайпай на следующий. Повторять до обретения просветления!

    P.S.S. "Возможно проблема в том, что хочу реализовать одновременно все, и сделать причем это качественно" - выбрось из головы эту ерунду! Представители ведущих айти-компаний мира открыто говорят, что они всегда создают первую версию зная о том, что они ее точно выбросят и используют наработки в качестве черновика для следующей итерации попыток создания продукта. Ошибки делают все. Важно уметь их анализировать и исправлять!
    Ответ написан
    Комментировать
  • Как исправить ошибку подключения?

    @Dementor
    программист, архитектор, аналитик
    Когда обращаюсь к опубликованной через web БД... де поменять имя на ip чтоб не пришлось всем прописывать?

    В файле default.vrd публикации проблемной БД.
    Ответ написан
  • Как правильно сформировать фильтр запроса по odata?

    @Dementor
    программист, архитектор, аналитик
    Оператора in в принципе нет в 1С.
    Для OData так же как и для обычного 1С-кодирования нужно выкручиваться через поиск подстроки:

    bool substringof(string searchString, string searchInString)

    Сначала вы со всех своих кодов формируете единую строку через уникальный разделитель (которого точно нет в кодах), а потом накладываете одно единое условие на вхождение кода в эту строку условия.
    Ответ написан
    1 комментарий
  • Как в скд если в колонке заполнено значение, то другие колонки оставить пустые?

    @Dementor
    программист, архитектор, аналитик
    Два очевидных варианта:
    1) Исправить запрос (или источник данных),
    2) Исправить условное оформление.
    Ответ написан
    Комментировать
  • Как интегрировать Java в 1C?

    @Dementor
    программист, архитектор, аналитик
    Оу, мой любимый Документооборот )))

    Вам Dmitry Roo уже все правильно сказал - интеграция с 1С:Документооборотом выполняется по протоколу "SOAP 1.2" и вам нужен "soap client", на вход которого подаете wsdl-ссылку (версия WSDL 1.1), в которой описаны все доступные вам классы и методы на стороне ДО.

    Но подключить к вашему проекту библиотеку с имплементацией SOAP - это только полдела. Чтобы получить рабочий результат, нужно изучить методологию конфигурации 1С:Документооборотом и настройки конкретной базы (виды документов, настройки прав доступа, обработчики бизнес-событий, настроенные шаблоны процессов и т.д.).

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

    @Dementor
    программист, архитектор, аналитик
    @400kgg
    @Sgr_A, Как в стандартном обмене отладку посмотреть? orders.xml?

    Файл нужно было посмотреть ДО того как вы сюда пришли и написали вопрос. Нужно убедится, что в заказах есть наименование контрагентов (а не пустота, или рег.номер, или идентификатор). Вам нужно посмотреть название orders.xml и убедится, что именно эта строка в вашем элементе справочника Контрагенты.

    Вы себе настроили соответствие контрагентов по наименованию, возможно проблема в том, что сравнение не с тем наименованием. Там же несколько наименовании - простое для работы оператора, наименование для печати в документах и полное юридическое наименование (типа "Василек", "ООО Василек" и "Общество ограниченной ответственности Василек"). Хотя тут могли создаваться дубли с указанным именем, но в документе пусто.

    Если все данные перепроверили, но обмен работает неправильно, то запускайте в режиме отладки и проверяйте по шагам как грузятся заказы и почему не подтягиваются контрагенты.
    Ответ написан
    Комментировать
  • Как получить более глубокие знания?

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

    Не повод для беспокойства, а лишь повод для любопытства. Очевидно, что "спринговоды" делают круглые глаза при упоминании аднроидных реализаций виртуальных машин, а "андронавты" ничего не слышали про Tomcat и GlassFish.

    Работаю android разработчиком в аутсорс-компании почти 4 года... Слышал еще пару раз как на собесах говорили о Dalvik и ART, а я слов то таких даже не знал...

    Значит что ваш уровень не выше мидла. Есть куда расти.

    "Поступи в ВУЗ" - не буду вдаваться в подробности, но этот вариант отпадает.

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

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

    Вы уже нашли Хабр! Для начала подпишитесь на хабы по Java и мобильной разработке (можно еще парочку по интересам) и читайте все что выходи нового. Как видите неизвестные термины/технологии - гуглите. Далее выбирайте некий раздел - например работа с потоками раз вас так зацепили "Volatile и Synchronized" - и читайте хабровский архив на заданную тему. И не пропускайте комментарии - там часто замечания намного ценнее чем материал самой статьи.
    Ответ написан
    4 комментария
  • Отчет СКД. Как при наличии одного документа объединить тч?

    @Dementor
    программист, архитектор, аналитик
    Понятно, что имея навыки программирования и имея легко модифицируемую систему, хочется получать быстрые результаты. Но:
    1. Сперва нужно научится формулировать свои мысли. Это поможет вам самим сконцентрироваться на важном и яснее увидеть проблематику. Да и чужим людям будет понятнее чем: " если задание(Документ) 1 то ... Если задание(Документ) другой, то в следующую ТЧ и так далее." - Даже при наличии желания помочь тут просто можно не понять что за Документ №1 и Другой Документ, и просто закрыть страницу
    2. Указанное поведение реализуется на закладке "Настройки" в структуре отчета. Если нет времени читать книгу Лены Хрусталевой по СКД или посмотреть статьи на Инфостарте, то хотя бы воспользуйтесь встроенным конструктором, который сделает большую часть работы за вас

    Подсказка: Группировки - это элементы структуры, где явно указаны группировочные поля (не путать с полями состава). Если в группировочных полях есть одна пустая запись - это детальная запись.

    У вас на скриншоте в комментариях три детальных записи. вторую нужно переделать в группу и подчинить ей третью запись.
    Ответ написан
    Комментировать
  • Как вывести на Печать документ с выбранной сортировкой?

    @Dementor
    программист, архитектор, аналитик
    Вам нужно в запросе использовать секцию "УПОРЯДОЧИТЬ ПО".
    Почитайте: https://its.1c.ru/db/v8std/content/412/hdoc
    Ответ написан
  • Не пойму как работает true false в данном куске кода?

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

    Что именно вызывает вопросы?
    1) Суть булевского типа и почему там всего два значения?
    2) Что такое переменные и почему их значение изменяется в отличии от констант?
    3) Что такое управляющие конструкции, и каково отличие условий от циклов?
    4) Что такое булевы операции сравнений (больше/меньше/равно)?
    5) Что такое неявное преобразование типов (булево в строку)?
    Ответ написан
  • Какой курс Java выбрать новичку с нуля?

    @Dementor
    программист, архитектор, аналитик
    Я выбрал язык, который хочу изучать,

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

    Короче, вперед покупать или качать на пиратских сайтах "Философия Java" Брюса Эккеля и "Java. Полное руководство" от Герберта Шилдта - для начала достаточно.
    Ответ написан
    4 комментария
  • Как исправить проблемы с интеграцией 1С с WooCommerce?

    @Dementor
    программист, архитектор, аналитик
    В ошибке же ясно написано:
    No such file or directory in /var/www/u2392659/data/www/raisadovoda.ru/wp-content/plugins/e-commerce-data-interchange/src/DirectFileSystem.php on line 194

    При работе Битрикса с 1С, которую копируют остальные интернет магазины, реализована следующая схема:
    1) некий скрипт должен получить из 1С архив и положить в папку.
    2) далее из 1С приходят команды на распаковку архива и загрузку данных
    *) каждая новая выгрузка из 1С затирает файлы предыдущей выгрузки

    Похоже вы или не создали папку для обмена с 1С, или не дали на нее полные права своему сайту.
    Ответ написан
    Комментировать
  • Как найти самый продуктивный путь обучения и развития в 1с разработке?

    @Dementor
    программист, архитектор, аналитик
    Когда ты сам обучаешься, то кажется, что идёшь не в ту сторону

    Читали Люиса Кэррола?
    — Куда мне отсюда идти?
    — А куда ты хочешь попасть?
    — А мне все равно, только бы попасть куда-нибудь.
    — Тогда все равно куда идти. Куда-нибудь ты обязательно попадешь.

    Обучаясь дома, вы 100% идете к состоянию домашней обученности. Что значит "не в ту сторону"?
    Если хотите зарабатывать деньги и решать реальные задачи, то не сидите дома, а идите во франч!
    Ваш пост в качестве "сопроводительного письма" меня впечатлил, если бы я сейчас работал во франче, то пригласил бы на собеседование.

    курсы от самой компании 1с, которые длятся две недели и подготовливают тебя только лишь к одной конфигурации кажутся сухими и лишь с одной теорией

    Это годный курс. Я лично преподавал "Основные объекты", когда работал преподавателем в ЦСО. Многие мои студенты рынулись в работу сразу без продолжения в виде курсов по запросам и решений оперативных/бухгалтерских/расчетных задач. Помню одну главбухшу, женщину в возрасте - она в процессе прохождения курса попрощалась с "мальчиком" и стала сама для себя делать нужные отчеты и новые печатные формы, при выпуске очень меня благодарила. Да я и сам под конец именно этого базового курса отправился на внедрение УПП в позиции мидла сначала в агрохолдинг, а потом в крупный телеком.
    Ответ написан
    Комментировать
  • По какому принципу работает очистка памяти в String Pool?

    @Dementor
    программист, архитектор, аналитик
    str создает еще одну запись и ссылается на последнее значение

    Зануда мод: не переменная что-то создает, а JVM помещает новую строку в пул, если использовать создание строки литералом, а не конструктором. А потом ссылку на выделенную область памяти помещает в str

    В какой момент сборщик мусора решает очистить наш String Pool от лишних значений и почему он это делает не так быстро, что конкатенации строки считается дурным тоном?

    До Java 6 String Pool жили в отдельной области памяти, которую GC не чистят (т.е. единожды объявленная строка жила до завершения программы, даже без ссылок). Начиная с 7-ки пулл перенесли в основную кучу, где его может почистить GC. Не не забываем, что и сам гарбадж коллектор не сферический конь, а имеет с десяток реализаций, в каждой из которых есть свои настройки - не копал эту тему, но подозреваю, что можно настроить "неприкосновенность" String Pool даже в общей куче (но зачем?)

    Вторая часть вопроса бессмысленна. Забудь про строки. Пусть у тебя есть некий класс А. Твой вопрос эквивалентен следующему: Почему считается дурным тоном создавать множественные объекты класса А и каждый из них присваивать в одну и ту же переменную? Это медленно и расточительно к ресурсам!

    Upd. Тут подробнее: https://topjava.ru/blog/rukovodstvo-po-string-pool...
    Ответ написан
    3 комментария
  • 1c EDT не совместим с учебной версией?

    @Dementor
    программист, архитектор, аналитик
    а когда гуглишь вопрос, кидает на форумы времен мамонтов.

    Какие есть. Это еще новые, вы не застали первые площадки, где тусовались в конце 90х начале 00х. Базовая инфа, которую я записал в описание раздела, все еще актуальна.

    Могу только дополнить официальным сайтом 1С разработчиков, где можно бесплатно получить комьюнити лицензию, которая позволит вам запускать все нужные версии платформы и не мучится с ограничениями учебной версии, которая признана неудачным экспериментом. Так же регистрация разработчиком позволяет смотреть закрытые разделы ИТС. https://developer.1c.ru/
    Ответ написан
    1 комментарий
  • Как наработать навык декомпозиции задач?

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

    Хочу отметить, что абстрактная декомпозиция никому не нужна (даже вредна, поскольку тратит бесценное время). Нужно уметь видеть в постановке задач доступные для тебя "кирпичики" и работать только с ними, пока они функционируют с удовлетворительным качеством.

    Для примера пусть тебе нужно дёрнуть REST-функция с некоторого интернет сервера. Если у тебя есть библиотека, которая позволяет тебе сделать все на уровне "указал сервер", "указал метод", "указал параметры" и "получил результат", то зачем декомпозировать дальше на уровень реализации протокола HTTP, на работу с сокетами, ломать голову над маршрутизацией пакетов данных или вообще уходить на уровень управления сетевой картой с помощью прерываний?

    Вторая мысль, на которой хочу остановится - не нужно делать чужую работу. Часто задачи на разработку дают уже максимально декомпозированные (есть целый класс мемов противопоставления навороченного собеседования и реальной примитивной работы в ИТ). Обычно программисты не общаются с заказчиком - там целая прослойка менеджеров для ограничения "аппетитов" и аналитиков для составления максимально подробной задачи. Но и "подробная задача" не сразу попадает на выполнение - часто сначала она оказывается на столе у системного архитектора, который уточняет доступный стек и разрешенные фреймворки. Потом задача попадает к техлиду, который дополняет ее своими практическими советами и ссылками на релевантные проекты.

    Не обязательно, что программиста "кормят с ложечки", но если вы не программист 1С, то один-на-один с задачей вас никогда не оставят!!!

    И последняя мысль - нужно меньше думать, а больше делать! Если сесть читать Кнута и Вирта, то голова будет забита бесполезной чепухой, которой можно хвастаться перед друзьями, но которую невозможно использовать ни при создании репозиториев в Spring Data, ни при описании активити в твоем мобильном приложении - внезапно окажется, что нужно было читать не беллетристику, а курить мануалы по Spring и Android.

    Только практика, практика и еще раз практика!!! Далее количество перейдет в качество и ты уже сам будешь проводить вебинары на тему развития навыков декомпозиции.
    Ответ написан
    Комментировать
  • Python как получить данные из 1С находящейся на удаленном рабочем столе?

    @Dementor
    программист, архитектор, аналитик
    Подскажите возможно ли это реализовать и в какую сторону смотреть ?

    Возможно, а вот "куда смотреть" зависит от ваших возможностей.

    Самый простой путь:
    1) из 1С выгрузить нужную инфу в файл,
    2) скопировать на комп с питоном,
    3) анализировать.
    Ответ написан
    2 комментария
  • Как разрабатывать приложение Spring, чтобы каждый раз не деплоить его на сервер для отладки?

    @Dementor
    программист, архитектор, аналитик
    Я так понимаю, что IntelliJ IDEA со встроенным Tomcat и отладкой по нажатию одной кнопки предлагать не нужно?

    Если не устраивает скорость работы Cargo, то напишите свой собственный плагин под Eclipse. Если ваш вариант окажется лучше, то сообщество спасибо скажет и на ваш гитхаб звездочек накидает - будет чем хвастаться на собеседованиях.
    Ответ написан
    1 комментарий
  • В кого переквалифицироваться интеграционному разработчику?

    @Dementor
    программист, архитектор, аналитик
    Пф... Первое, на что хочется обратить внимание - не нужно так много описывать то, чего не знаешь, не умеешь, забыл. И вообще, краткость - сестра таланта.

    Мне 42 года - это, конечно, проблема.

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

    Я был оч. хорошим 1С-ником, входил в ТОП-10 разработчиков на "Инфостарте"... Не открывал Конфигуратор лет 15.

    Гм, никогда не слышал про "Андрея Склярова", хотя многих ТОПовых авторов с Инфостарта знаю (и сам временами что-то пишу ради СМ). Глянул на темы публикаций и на факт отсутствия опыта последние 15 лет - можете и не пытаться. Разве что найдете себе на поддержку клиентов с УТ10 и УПП.

    Хотя сами факты наличия в ТОПе авторов и участия в конференциях может быть отличным конкурентным преимуществом, если подаваться в Серебренную Пулю или похожие компании, которые внедряют комплексные решения на шинах и брокерах сообщений!
    Ответ написан