Задать вопрос
Ответы пользователя по тегу
  • Как получить счет на оплату из ЗаказаКлиента в файле?

    @Dementor
    программист, архитектор, аналитик
    Насколько я помню, то у документа "Заказ клиента" есть печатная форма "Счет на оплату" - формируйте и жмите кнопку сохранения в файл, а файл передавайте в свою СРМ.
    Ответ написан
  • Как корректно сделать запрос к регистру сведений чтоб получить цену?

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

    2) Когда вы в физической таблице пишите "Период МЕЖДУ &ДатаНачало И &ДатаКонец", то вы получаете только те записи, которые были записаны на указанный период. Очевидно, что в вашей базе на период текущего дня не было установки цен и вы ничего не получили.

    3) ЦеныНоменклатуры.ВидЦены.Ссылка, ЦеныНоменклатуры.Номенклатура.Ссылка, НоваяСтрока.Номенклатура.Ссылка и НоваяСтрока.ВидЦены.Ссылка - это избыточно. Для ссылочных типов Ссылка - это обращение к самому себе, можно сделать хоть миллион обращения НоваяСтрока.ВидЦены.Ссылка.Ссылка.Ссылка.Ссылка(.Ссылка), но это будет эквивалентно НоваяСтрока.ВидЦены - а вот время на бесмысленные расчеты будет потрачено.
    Ответ написан
    1 комментарий
  • Как с минимальными затратами обеспечить одновременную работу в 1С Бухгалтерии двум пользователям?

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

    Это так не работает. Зайдите в 1С в пункт "О программе" - снизу будет перечень лицензий с которых была попытка подключится к конкретной базе. 1С фиксирует лицензии для подключения в самой базе данных и пресечёт ваши махинации.

    Не хотят платить за ПРОФ и хотят сидеть на базовой - пусть бухгалтера работают в единой базе по очереди. Если хотят более полноценную работу - можно взломать платформу, поставить полную версию Бухгалтерии и искать обновления на варезниках. Не хотят гемороится - пусть переходят на ПРОФ и платят подписку ИТС.

    P.S. Если 10-20 лет назад можно было хитрить с 1С и искать лазейки, то за прошедшие годы их методически закрывали.

    P.S.S. Погуглите преценденты дел по нелицензионным установкам 1С - компании каждый раз говорили, что они не в курсе, что приходящий программист нарушал законы и что-то там ломал - ведь ему платили за официальную версию.
    Ответ написан
    Комментировать
  • Как исправить ошибку 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 недели.
    Ответ написан
    Комментировать