Задать вопрос
Ответы пользователя по тегу
  • Как исправить ошибку 1с "network error" при входе через OIDC?

    @Dementor
    программист, архитектор, аналитик
    Ошибки на стороне 1С появляются уже после авторизации, а вы даже до нее не доходите.

    У вас точно есть прямой доступ с пользовательского компьютера на авторизационный эндпойнт?
    "authorization_endpoint": "https://<keycloak-server-name>/realms/<realm-name>/protocol/openid-connect/auth"


    Вы проверяли доступность через курл или хотя бы браузер?
    Ответ написан
  • Реально ли использовать хранилище конфигурации для больших команд?

    @Dementor
    программист, архитектор, аналитик
    Ответ на вопрос "Реально ли вести групповую разработку через хранилище в больших командах" зависит от вас самих и от вашей конфигурации.

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

    Критерий №1 Если ваша текущая работа в хранилище на базе Конфигуратора устраивает, то продолжайте. Если же хранилище забито "мусором" (сотни бессмысленных коммитов без тегов и описаний) и по нему невозможно отслеживать историю, а так же вы постоянно ждете пока кто-то сделает "технический коммит", чтобы освободить вам объект - нужно переходить на Git (но не обязательно в связке с EDT)

    Ранее я лично был против EDT из-за его прожорливости и глюков. Потом я начал работать в международном проекте, где наша маленькая команда (всего 5 человек) прекрасно справляется с разработкой/поддержкой благодаря именно EDT и его строгой типизации - многие ошибки видны стразу, еще до запуска на тестирование. Но нужно перестраиваться на новую среду - новые менюшки, новые команды, новые хоткеи.

    Критерий №2 Если у вас уже настроены процедуры контроля качества и есть хоть какие-то тесты, то особых плюсов не получите - оставайтесь в Конфигураторе. Но если есть проблемы с процессами и вы хотите попробовать их решить умными автокомплитами и контролем типов, а так же есть лишние 4 Гб ОЗУ на каждого разработчика - пробуйте, может втянетесь и не захотите возвращаться в Конфигуратор.
    Ответ написан
    Комментировать
  • Создание задачи в 1с SD извне.... возможно ли?

    @Dementor
    программист, архитектор, аналитик
    Есть ли возможность как то выгружать в нее ?
    Да, есть.

    Может есть какие то статьи на эту тему ?
    Сотни статей и несколько учебных курсов.

    Понятное дело можно все передать программистам , но хотелось бы (хотя бы попробовать) сделать это самому
    Чтобы сделать самому и не передавать программирование новой интеграции программисту, нужно самому стать программистом и пройти курсы по созданию интеграций.

    P.S. ChatGPT и вайбкодинг тут не помогут.
    Ответ написан
  • Как получить названия прав с Журнала Регистрации в 1с?

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

    Все с точностью до наоборот. Журнал регистрации абсолютно ничего не знает про роли, которых могут быть сотни в конфигурациях на базе БСП и в которых права часто дублируются. В журнале фиксируются отсутствие именно прав на чтение, добавление, изменения и так далее.

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

    @Dementor
    программист, архитектор, аналитик
    Вопрос не понятен - его 50% текста просьба объяснить как сделать обмен данными между формами, а оставшаяся часть - это скриншоты, что у вас уже все работает.

    Если ориентироваться по заголовку, то варианты передачи следующие:
    1) передавать нужную информацию в виде параметра при открытии второй формы, а ответ как параметр при закрытии.
    2) передавать информацию через ХранилищеОбщихНастроек по определенным ключам (или другие схожие механизмы хранения информации)
    3) передавать информацию через оповещения и их обработку - рекомендую! Тут вы с помощью метода Оповестить() можете бесконечно играть информацией в пинг-понг.
    Ответ написан
    3 комментария
  • Вылеты 1с без ошибок на дебиане, как исправить?

    @Dementor
    программист, архитектор, аналитик
    Настройте технологический журнал и проанализируйте события/ошибки в момент падения.
    Ответ написан
    Комментировать
  • Как сделать интеграцию 1c таблицы и телеграмм бота на aiogram?

    @Dementor
    программист, архитектор, аналитик
    Это листинг модуля HTTP-сервиса.
    Ответ написан
    Комментировать
  • Конвертация данных, заполнение формы программно?

    @Dementor
    программист, архитектор, аналитик
    вот как выглядит сейчас, все поля заполнены программно в КД 2.1.:

    1. Очевидно, что ваши правила конвертации не заполняют документ полностью.

    2. У вас есть неполное состояние документа сразу после КД и вы его можете вручную дозаполнить - сравните эти два состояния: какие-то из полей будут пустые, а где-то вообще неправильные значения. На базе этого сравнения вы сможете исправить свой код и выгружать документы именно в том виде как вам нужно.
    Ответ написан
    Комментировать
  • Как вывести в таблицу данные полученные через http-сервис 1С?

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

    Нужно просто сделать из "нечитаемого вида" нужный "читаемый".

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

    @Dementor
    программист, архитектор, аналитик
    Как искать по ссылке в запросе 1с?

    В листинге все верно - именно так и нужно искать по единичной ссылке:
    ГДЕ ОтчетОРозничныхПродажах.Ссылка = &Ссылка

    Если бы нужно было найти по нескольким ссылкам, то это выглядит так:
    ГДЕ ОтчетОРозничныхПродажах.Ссылка В (&СписокСсылок)

    я понимаю, что неправильно задал инициализацию переменной Ссылка,

    Еще как! Вы в переменную вместо данных типа ДокументСсылка.ОтчетОРозничныхПродажах поместили данные с типом ДокументМенеджер.ОтчетОРозничныхПродажах

    Ссылку можно получить как входной параметр вашей функции, из элемента на форме или поиском в базе по уникальным атрибутам, которыми могут быть Номер+Дата или УникальныйИдентификатор. поиск выполнять через соответствующие методы Менеджера, который вы уже научились получать.
    Ответ написан
    1 комментарий
  • Как обойти ошибку создания уникального индекса?

    @Dementor
    программист, архитектор, аналитик
    Можно ли со стороны SQL это решить ? Например, с помощью скрипта SQL который бы отслеживал запись и при возникновении ошибки переименовал объект допустим ?

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

    Ошибка осталась, хотя по всем объектам дубли больше не найдены.

    Я бы на ваш месте не угадывал, а проверил бы поля из индекса IDD для таблицы dbo.SC31 - если скуль ругается, то вы точно что-то пропустили. Сделайте SELECT с GROUP BY этим полям и HAVING COUNT(*) > 1
    Ответ написан
    Комментировать
  • Конвертация данных 2.1. Получение элемента по индексу для значения не определено, как выгрузить из источника?

    @Dementor
    программист, архитектор, аналитик
    Если не сделаю, меня уволят, помогите!!!!!!!!!!!

    Всем в интернете фиолетово на счет этого факта. И вам тоже должно, если ваша компания считает, что человек без опыта за пару дней может разобраться в таком сложном механизме как Конвертация Данных 2.1

    А вот сам код:

    Я так полагаю (нет явного подтверждения), что это произвольный ПВД. Тогда причина проблемы очевидна! Вы пытаетесь выгрузить по ПКО ОтчетОРозничныхПродажах структуру с ключами ВидОплаты, НомерЧека, ПроцентТорговойУступки, Сумма, СуммаТорговойУступки и КлючПродажи - что и близко не ОРП!!!

    Смотрите сами свое ПКО ОтчетОРозничныхПродажах - первое же ПКС является полем Дата по которому вдобавок идет поиск! А у вас нет даты и об этом все первые три скрина - на каждом прямо кричит "тут нет даты".

    В параллельном вопросе вам отвечал, что очень плохой прием условия вида:

    ОтчетОРозничныхПродажах.Товары.СерияНоменклатуры.УИН = &УИН


    Не делайте так больше. Если вам нужно работать с таблицей документа, то стройте к ней прямой запрос, а свойство КассаККМ как и Дата можно вытащить через точку от Ссылка.

    Запрос.Текст = 
    "ВЫБРАТЬ
    |	ТаблицаОРП.Ссылка КАК Ссылка,
    |	ТаблицаОРП.Ссылка.Дата КАК Дата,
    |	ТаблицаОРП.Ссылка.КассаККМ КАК КассаККМ,
    |	ТаблицаОРП.НомерСтроки КАК НомерСтроки,
    |	ТаблицаОРП.ВидОплаты КАК ВидОплаты,
    |	ТаблицаОРП.НомерЧека КАК НомерЧека,
    |	ТаблицаОРП.ПроцентТорговойУступки КАК ПроцентТорговойУступки,
    |	ТаблицаОРП.Сумма КАК Сумма,
    |	ТаблицаОРП.СуммаТорговойУступки КАК СуммаТорговойУступки,
    |	ТаблицаОРП.КлючПродажи КАК КлючПродажи
    |ИЗ
    |	Документ.ОтчетОРозничныхПродажах.Товары КАК ТаблицаОРП
    |ГДЕ
    |	ТаблицаОРП.СерияНоменклатуры.УИН = &УИН";
    Ответ написан
  • Не находит номенклатуру в запросе по пустой ссылке в 1С, что изменить?

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

    поиск номенклатуры по УИНу проходит все циклы, однако поиск по ссылке пропускает поиск по циклам и сразу уходит в конец

    То тут все просто - если по вашему условию в базе данных есть документы типа ОтчетОРозничныхПродажах, то они выберутся и по ним пойдет цикл; а если данных нет, то и цикла не будет.

    ОтчетОРозничныхПродажах.Товары.Ссылка = &Ссылка

    Упоминанием в условии вложенного подзапроса, вы усложняете работу планировщику запросов и результат может быть значительно медленнее чем классическое:

    ОтчетОРозничныхПродажах.Ссылка = &Ссылка
    Ответ написан
    Комментировать
  • Как настроить макет в СКД?

    @Dementor
    программист, архитектор, аналитик
    Получаю в итоге кривой отчет:

    Отчет вида таблица именно так и выглядит как у вас на скриншоте.

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

    @Dementor
    программист, архитектор, аналитик
    Так отчет не формируется или формируется медленно? Вы утверждаете, что не формируется, но в вашем же замере после вывода продолжилось выполнение. Или скриншот замерщика сделан для отчета, который формируется, а для проблемного отчета мы сюда совсем не попадаем?

    Очень важно описать суть проблемы - в правильном вопросе уже значительная часть ответа. Сейчас очень неоднозначно!

    Общая стратегия решения подобных проблем:
    1) Сделать сброс настроек отчета к стандартным и попробовать сформировать. Возможно есть какие-то условные оформления или пользовательские поля, которые вызывают зацикленность.
    2) Сравнить текущий отчет с отчетом в конфигурации поставщика - возможно были доработки, которые и вызвали проблемы.
    3) Как верно подсказал Константин - чистка локального и серверного кеша (если файловая база, то локального достаточно). Если не знаете как чистить локальный кеш - достаточно удалить базу из списка баз и добавить заново (будет создан новый кеш).
    4) Если это полностью ваш отчет или ваша доработка стандартного отчета, то берите консоль запросов, закидывайте туда источник данных и анализируйте...
    Ответ написан
    6 комментариев
  • Что за формат отдает 1С-ка через эндпоинт?

    @Dementor
    программист, архитектор, аналитик
    Это внутренний формат 1С.
    Тут я делал его описание, которое вам поможет: https://infostart.ru/1c/articles/1116103/
    Ответ написан
    1 комментарий
  • Мне надо написать произвольный код в отчете, но 1с выдает ошибку "формула для показателя содержит синтаксические ошибки", почему?

    @Dementor
    программист, архитектор, аналитик
    В листинге вижу одну процедуру ЗаполнитьПоказатели(), одну функцию ПредыдущийПериод(ТекущийПериод) и одну команду, которая использует функцию для установки Показатели.стр001_гр02

    Все это несамостоятельно и непонятно как работает в отчете. Как минимум тут нет ни самой формулы, ни ее ошибочной валидации - все это очевидно находится в функции ПолучитьДанныеПоПериоду(Период). С текущей постановкой задачи решения проблемы не будет.

    За что сразу цепляется глаз? В процедуре ЗаполнитьПоказатели() во второй строке используют необявленную переменную ТекущаяДата, а в функции ПредыдущийПериод() делается ошибочное предположение о 52 неделях в году - в следующем году (2026) будет 53 недели.
    Ответ написан
    Комментировать
  • 1С Как изменить выпадающий список в Групповом изменение реквизитов - произвольный алгоритм?

    @Dementor
    программист, архитектор, аналитик
    1С Как изменить выпадающий список в Групповом изменение реквизитов - произвольный алгоритм?
    Тут много слов, которые не имеют с собой логической связи. Вы хотите написать алгоритм, который будет срабатывать для группы реквизитов, при их редактировании? Хотя не важно...

    Как изменить выпадающий список
    В обычном интерфейсе можно присвоить собственный список. В управляемом интерфейсе нужно очистить текущее содержимое списка и добавить собственные значения.

    Как мне получить список РеквизитЗначение?
    Зависит от версии платформы и вида интерфейса.
    Для обычного интерфейса: ЭлементыФормы.РеквизитЗначение.СписокВыбора,
    а для управляемого соответственно: Элементы.РеквизитЗначение.СписокВыбора.

    Как мне установить значение Объект.Реквизит = РеквизитЗначение_2 ?
    В смысле как установить значение со второго индекса? Выше показано как получить доступ к списку выбора, поместим его в переменную СписокВыбора. И теперь: Объект.Реквизит = СписокВыбора[1].Значение;
    Ответ написан
  • Как записывать НаборЗаписей регистра сведений внутри цикла?

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

    1) Тут два цикла - верхний по всем существующим записям РегистрыСведений.ДанныеСотрудников, а вложенный по всем строкам начиная со второй. Уже это само по себе не имеет смысла, так как выходит, что цель программы - записать в ячейку НомерТС значение из последней строки файла.

    2) Записывать набор записей внутри цикла по его же записям - это ужасная идея!!! Откинем вероятный код из модуля набора записей, который может изменять состав и/или последовательность строк, но и тогда это просто расточительно - на каждом витке цикла записывать одно и то же

    3) Ужасное наименование переменных, чтобы запутать самого себя! Если транспортное средство ищется в базе по первой колонке из файла, то какого лешего ее назвали "Водитель", а не "Транспорт"??? Если в колонку НомерТС записывается значение из второй колонки файла, какого лешего ее назвали "Транспорт", а не "НомерТранспорта"???

    4) Что за странная установка наименования транспортного средства? Если в базе выполняется поиск по наименованию из переменной Водитель (хотя на самом деле там Транспорт), то именно это значение и нужно записать в название, чтобы поиск сработал на следующем витке цикла! А вовсе не сайд-эффекты по справочнику Сотрудников с помощью Справочники.Сотрудники.НайтиПоНаименованию(Водитель):
    4.1) В справочнике Сотрудников может не существовать нужного элемента и в отличии от Транспорта тут нет создания недостающего элемента (в принципе он и не нужен, так как в этом коде справочник "Сотрудники" нигде не используется)
    4.2) Если менять представление в настройках справочник "Сотрудники" и/или в менеджере справочника, то платформа 1С ничего не подскажет о том, что в коде загрузки транспорта может что-то сломаться. Поэтому сайд-эффекты запрещено применять всюду кроме разовых обработок для правки данных, когда риск осознается.

    5) Алгоритм не имеет смысла. Подозреваю, что в файле указан транспорт для существующих пользователей, по которому нужно обновить регистр ДанныеСотрудников. Тогда нужно:
    5.1) Сначала пройти по файлу и сформировать таблицу (можно структуру или соответствие), в которую поместить данные по владению транспортом.
    5.2) В цикле по файлу проверять существование транспорта в базе не по наименованию "моя тайота", а по гос.номеру или по вин-коду.
    5.3) Сотрудника тоже желательно искать не по ФИО, а по табельному номеру, налоговому или паспортному номеру.
    5.4) В регистр ДанныеСотрудников не имеет смысл помещает номер автомобиля - так как все будущие операции потребуют поиск по реквизиту "номер" для каждой строчки! Нужно поместить ссылку на элемент справочника "Транспорт"
    5.5) Имея таблицу (можно структуру или соответствие) из пункта 5.1 проходим циклом по ее строкам, создаем менеджер записи с отбором по Сотруднику-Владельцу, если запись выбирается, то устанавливаем ссылку на транспорт и записываем.
    Ответ написан
    3 комментария
  • Как построить карьеру в 1с и заниматься 1С МСФО, ERP, трансформацией, автоматизацией?

    @Dementor
    программист, архитектор, аналитик
    Хорошо знаю мсфо, консолидацию, управленческий учёт, английский, немного sap.

    Вы уже этим на голову выше среднестатистических аналитиков и рп на 1с-проектах! Вам нужно только состыковать ваши знания с терминологией и особенностями конфигураций 1С.

    А может сертификаты не нужны и идти учить все на практике?

    Исходя их ваших навыков, вам не составит сложности в ускоренном режиме подготовится к сертификациям по интересуемым сферам. Сам по себе сертификат вам не нужен, но вам нужны материалы "для подготовки" - вам нужно обратить внимание на те участки, которые особо выделили методологи этих конфигураций/подсистем.

    Лично я большую часть знаний получил уже "в поле", но я был обычным внедренцем, а не аналитиком и тем более не тимлидом. Ваши целевые должности предполагают наличие определенного объёма знаний, которые оптимально получать на специализированных курсах.
    Ответ написан
    Комментировать