Ответы пользователя по тегу
  • Формула расчета сверхурочных в 1С ЗУП КОРП ред. 3.1 - с какими документами/регистрами и пр. взаимосвязана?

    @Dementor
    программист, архитектор, аналитик
    ЗУП стараюсь трогать поменьше, так как из-за особенностей данной конфигурации очень сложно вносить правки в типовые функции. Но те кто работают с данной системой регулярно делают следующим образом:

    0) Читают документацию и учебные материалы с курсов по внедрению ЗУП.
    1) Экспериментирую в копии базы, проверяя все возможные комбинации (вот и ответ на вопрос "какая цепочка взаимосвязей - образуется?")
    2) Если не получилось, то общаются на форумах с другими ЗУП-специалистами и пытаются вместе разобраться.
    3) Если не получилось, то обращаются за консультацией в 1С.

    Судя по вашему вопросу, то вы даже не на нулевом шаге. Если после изучения всей доступной справки и после экспериментов в копии останутся вопросы, то задавайте их уже по существу. Например "вписал формулу по 8 сверхурочных часов, с начислением 200% (2.0) за каждый сверхурочный час (скрин настроек), в расчете зарплаты подтянулось правильно, но в расчетный листик не попало - что не так?".
    Ответ написан
  • Как исправить мой код 1С: Предприятие нахождение максимального элемента в табличной части чтоб он не выдавал ошибку?

    @Dementor
    программист, архитектор, аналитик
    Давайте смотреть, что не так с вашим кодом без детального анализа, а просто что сразу бросается в глаза:
    1. Поломанное форматирование. Пока 8 строчек как тут - это просто эстетическая боль, но когда строчек 80, 800 или 8000, то это маскирует ошибки, на которые уйдет больше чем три дня
    2. Снова таки, с точки зрения облегчения восприятия, нужно все делать в едином стиле - делаете переменные с маленькой буквы - они все должны быть с маленькой, а делаете с большой, то все уже с большой. В коде половина маленькие, половина большие без какой-либо систему. То же замечание касается ключевых слов - если не используете системное автодополнение, которое само за вас все ключевые слова пишет с большой буквы, и по личным предпочтениям начинаете писать с маленькой - то пишите с маленькой уже все подряд, а не "тогда" с маленькой, а "Цикл" с большой
    3. Использование переменных в духе "а и б сидели на трубе" крайне не рекомендовано - все переменные должны в своем имени отражать свое содержимое. Если лень писать СтрокаТабличнойЧастиГоловныхУборов, то хотя бы СтрокаТЧ, но никогда не "а"!!!
    4. Выборка из менеджера объекта полезная штука для некоторых сценариев, но конкретно тут просто увеличивается "углеродный след". Достаточно выполнить запрос сразу к табличной части, в котором тут же получить максимальное количество, а не вытаскивать в оперативку все объекты
    5. Вы уверены, что в табличной части запрещены отрицательные числа? На каком основании в переменную для сравнения вы размещаете ноль?
    6. Для вас же было бы понятнее, если бы вы не использовали явное сравнение, в котором допустили ошибку, а воспользовались стандартной функцией Макс()
    7. Ну и на финал, этот некрасивый и абсолютно не оптимальный код может даже заработать (но выдавать неправильное значение), если из переменной Макс2 (смотрим пункт №3 про нормальные наименования) типа Число не пытаться прочитать свойство "Количество_материалов". Такое ощущение, что было несколько черновиков кода и в одном из них сохранялось не максимальное значение, а сама строка табличной части, а потом все варианты свалили в единую кучу


    Upd. Я смотрел поверхностно, но другие более детально и подсказали в комментариях про необходимость обхода выборки данных с помощью метода Следующий().

    Итого, если не переписывать на запрос, то правильный код будет следующим:

    Выборка=Справочники.Варианты_головных_уборов.Выбрать(); 
    МаксКоличество = Неопределено;
    Пока Выборка.Следующий() Цикл
    	Для каждого СтрокаКоличества  из Выборка.ТабличнаяЧасть1 Цикл
    		Если МаксКоличество = Неопределено тогда
    			МаксКоличество = СтрокаКоличества.Количество_материалов;
    		Иначе
    			МаксКоличество = Макс(МаксКоличество, СтрокаКоличества.Количество_материалов);
    		КонецЕсли;        		
    	КонецЦикла; 
    КонецЦикла; 
    МаксКоличество = ?(МаксКоличество=Неопределено, 0, МаксКоличество);
    Сообщить(МаксКоличество);
    Ответ написан
    2 комментария
  • Как сделать только просмотр сотрудников в 1С ЗУП?

    @Dementor
    программист, архитектор, аналитик
    Варианты:
    1) Обратится за консультацией в 1С или к ее партнерам (у вас сразу после покупки ЗУП есть полгода бесплатного обслуживания).
    2) Самостоятельно сделать новый профиль доступа, включив туда роли с Чтение/Просмотр и не включая Добавление/Изменение.

    P.S. Скрин не связан с текстом вопроса.
    Ответ написан
    Комментировать
  • Как передать команду на печать кассового чека?

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

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

    @Dementor
    программист, архитектор, аналитик
    Подскажите пожалуйста как можно явно обратится к ключу структуру параметром?

    Cначала имя структуры, потом точка, потом имя ключа.
    Если, как тут, имя ключа в переменной, то нужно использовать квадратные скобки (ниже пример).
    Все.

    не идти циклом по структуре а именно явно обращаться к ключам

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

    такие варианты не срабатывают

    Потому что там ошибки.

    Тест_Ключа = "UF_1C_ITEM_KOD_"+1;
    Сообщить("пример 1 " + ОбработкаОтвета.UF_1C_ITEM_KOD_+1);
    Сообщить("пример 3 " + ОбработкаОтвета.Тест_Ключа);

    Нужно исправить на:
    Тест_Ключа = "UF_1C_ITEM_KOD_"+1;
    Сообщить("пример 1 " + ОбработкаОтвета["UF_1C_ITEM_KOD_"+1]); 
    Сообщить("пример 3 " + ОбработкаОтвета[Тест_Ключа]);
    Ответ написан
    Комментировать
  • ЗУП - Документ "ОтпускБезСохраненияОплаты" как предоставить доступ к элементам формы, для определенной группы доступа?

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

    Базовые понятия:
    1) У элемента формы есть свойство видимость, которым можно управлять программно
    2) У элемента формы есть доступность по ролям, где можно для указанных ролей разрешить или запретить видимость
    3) У элементов формы можно управлять видимостью по функциональным опциям
    Ответ написан
    5 комментариев
  • Интегрировал chatgpt в 1с столкнулся с ошибкой 405, что делать?

    @Dementor
    программист, архитектор, аналитик
    Во первых, не "Интегрировал chatgpt в 1с", а попытался выполнить подключение.
    Во вторых ошибка 405 является стандартной HTTP ошибкой для ответа, если сервер не хочет выполнять запрос. В контексте ЧатаГПТ это может быть по причине отсутствия денег на балансе аккаунта. Или вы на сервере в географическом бане.

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

    @Dementor
    программист, архитектор, аналитик
    1. Путь программиста
    1.1. Изучить технологические возможности двух систем
    1.2. Разработать архитектуру решения: определится кто будет основной системой, нужен односторонний или двухсторонний обмен, кто должен его инициировать, выбрать протокол обмена и подобное.
    1.3 Запрограммировать на стороне сайта и на стороне 1С

    2. Путь бизнесмена
    2.1. Проверить существующие решения на предмет совместимости с сайтом и 1С
    2.2 Если готового для покупки нет, то нанять специалистов для разработки.

    P.S. 1С и Laravel - это фреймворки, каждый из которых имеет широкий диапазон имплементаций.
    Ответ написан
    Комментировать
  • Как автоматически проставлять автора в 1с?

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

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

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

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

    У тебя же справочник Пользователей самостоятельно заполняется по данным пользователей ИБ? Если нет, то задача не имеет решения, так как сначала нужно связать пользователей ИБ и элементы справочника для указания авторства документов. Для сдачи задачи можешь временно сделать поиск по наименованию и вручную проконтролируй, чтобы имена справочника Пользователи соответствовали логинам системы.
    Ответ написан
    9 комментариев
  • Как правильно сформировать фильтр запроса по 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 объектов, в то время как нужно было просто обратится в другую функцию, задать нужные параметры и получить все данные в одном единственном вызове.
    Ответ написан
  • Отчет СКД. Как при наличии одного документа объединить тч?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @Dementor
    программист, архитектор, аналитик
    1. Для новых элементов код появляется в свойстве Код после записи, но можно заранее вызвать УстановитьНовыйКод() - если нет контроля уникальности и параллельно точно так же не создаются другие элементы в этом справочнике, то конфликта номеров не будет.
    2. Можно не использовать автонумерацию и устанавливать код согласно вашей логики.
    3. Зачем что-то искать после записи, если у вас уже объект в памяти? Используйте СсылкаИскатьГруппы = НоваяГруппа.Ссылка
    Ответ написан
    1 комментарий
  • Какие есть варианты делать backup 1c?

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

    Тут можно сказать, что бекапы делать нужно!
    Конкретное решение зависит от бюджета и навыков.

    Конкретных скриптов для автоматизации в интернете полно. Вот первая ссылка из гугла:
    https://kuharbogdan.com/stati-po-1s/skriptyi-dlya-...
    Ответ написан
    Комментировать
  • Выдает ошибку при запуске файловой базы данных, что делать?

    @Dementor
    программист, архитектор, аналитик
    Тут по сути всего два варианта ответа:

    1) проанализировать и модифицировать текущую конфигурацию - это позволит сегодня перейти на файловую и поработать некоторое время, пока не упретесь в ограничения на размер таблиц и база снова станет неработоспособной.

    2) не переходите на файловую! если MsSQL лицензия закончилась, а с девелоперской не хотите рисковать, то у вас переход на бесплатную PostgreSQL
    Ответ написан
    Комментировать
  • Берут ли программистом 1с имея только сертификаты профессионала и специалиста?

    @Dementor
    программист, архитектор, аналитик
    1) На стажировку можно попасть вообще не имея ни единого диплома/сертификата - я знаю такой пример в крупном медиахолдинге, где я прежде работал. Тут главное иметь харизму и умение убеждать!

    2) В сфере 1С диплом в экономической сфере котируется выше чем технический.

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