Задать вопрос
Ответы пользователя по тегу
  • Вылеты 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С.

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

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

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

    @Dementor
    программист, архитектор, аналитик
    Тут может быть море ошибок, но скорее всего проблема в строке:

    РеквизитФормыВЗначение("Объект").ВосстановитьНастройкиИзСтруктуры(ОбщиеНастройкиПользователя.СохраненнаяНастройка);


    Тут ты на основании реквизита формы "Объект" создаешь новый объект в памяти, вызываешь его экспортный модуль и удаляешь из памяти. Состояние на форме после этих "манипуляций" не изменяется.
    Ответ написан
    Комментировать
  • Какие курсы нужны для старта в 1С?

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

    В этом случае вам нужно пройти минимум двое курсов - курс по 1С: Комплексная автоматизация и курс по программированию 1С. Эти курсы полностью независимы и вы их можете проходить параллельно

    А то вариантов курсов, как от 1С, так и от всевозможных онлайн-школ слишком много, чтобы разобраться в них самостоятельно

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

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

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

    Ответ на скриншоте - не достаточно прав.

    1) На скрине видно, что копирование происходит из папки \FILES2 в папку \ARCHIV. Если это перемещение, то необходимо иметь права на чтение и запись на обе папки!

    2) Права на файловые операции нужно дать той учетной записи, от имени которой запущена служба кластера серверов.
    Ответ написан
  • Как правильно составить запрос к регистру 1с?

    @Dementor
    программист, архитектор, аналитик
    мне нужно чтобы 500 и -400 сложилось и вывело мне только общий результат - 100

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

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

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