Задать вопрос
  • Как удалить не актуальные данные из тома хранения файлов в 1С?

    @Dementor
    программист, архитектор, аналитик
    Никогда не видел 1С:КА, но по описанию похоже на хранение файлов в 1С:ДО (вероятно общая библиотечная подсистема), а следовательно:
    1. У вас в настройках системы явно включено версионирование файлов, которое вам видимо не нужно и его можно отключить (константа ИспользоватьВерсионированиеОбъектов).
    2. Там же в настройках видимо выключена автоочистка старых версий (константы УдалятьНеактивныеВерсии и СрокХраненияНеактивныхВерсий)
    3. Для "ручного" удаления старых версий можно воспользоваться встроенной обработкой "Очистка устаревших версий файлов"
    Ответ написан
  • Вылеты 1с без ошибок на дебиане, как исправить?

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

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

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

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

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

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

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

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

    @Dementor
    программист, архитектор, аналитик
    в логах 1с пишет "Данные. измение. регистр сведени, обращение к объетам." затем "Данные. Изменение, Регистр сведений. Файлы в рабочем каталоге компьютера." пытаюсь с этого же компьютера со своей учетки проделать те же действия, все открвыается. В чем может быть проблема?

    База оперирует множеством файлов, которые хранит согласно настроек (обычно есть тома хранения, которые ссылаются на некие внешние диски). Редактирование пользователем происходит по схеме: заблокировать карточку файла, скопировать в рабочий каталог копию и отметить куда именно файл скопирован, дать пользователю "насладится редактированием", по сигналу пользователя "всё сделано" загрузить с пользовательского компьютера файла назад на сервер, обновить версию и снять блокировку.

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

    1) Как верно подметил в комментарии к вопросу Антон Антон - файл мог скопироваться без прав на запуск (вместо 7 установилась 4 или 6). Решается написанием расширения с запуском chmod перед выполнением.

    2) Возможно команды открытия есть только для Винды. Тогда тоже расширением докинуть правильную для вашего AstraLinux команду запуска на редактирование.
    Ответ написан
    Комментировать
  • КомандаПечати.ДополнительныеПараметры.Вставить?

    @Dementor
    программист, архитектор, аналитик
    Ошибка выдана верно - для расширяемых процедур/функций запрещено менять сигнатуру - т.е. состав реквизитов и признак экспорта.

    Если вы не можете разобраться с новым алгоритмом печати, то в том же модуле (который уже у вас в расширении) разместите старую печать с названием:
    ЗаполнитьРеквизитыШапкиСчетаНаОплату_СтараяВерсия(ДанныеПечати, Макет, ТабличныйДокумент, ТаблицаЭтапыОплаты, ТаблицаТовары)


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

    @Dementor
    программист, архитектор, аналитик
    В настройках подключения клиента 1С пробовал указывать как имя сервера (srv1), так и IP-адрес (192.168.1.99) с указанием порта менеджера кластера (1541).
    Тестирование подключения:
    С компьютера в VLAN 10 успешно проходит ping 192.168.1.99.
    С компьютера в VLAN 10 успешно устанавливается telnet 192.168.1.99 1541.


    Важны настройки самого кластера 1С. Если там указан не адрес "192.168.1.99", а имя "srv1", то именно его и нужно пинговать. Это особенность работы кластера. по адресу в 1С клиенте вы стучитесь на службу агента, который смотрит настройки своего кластера и сообщает вам адрес менеджера, чтобы уже он сообщил адрес свободного rphost. Если хоть какой-то из адресов будет недоступен, то соединение не установится.
    Ответ написан
    3 комментария
  • Как взять значение из регистра сведений в пользовательское поле 1С?

    @Dementor
    программист, архитектор, аналитик
    хочу в готовом отчёте создать пользовательское поле в которое хочу подтянуть закупочную цену

    Не получится! В пользовательских полях можно оперировать лишь данными из источников данных, которые уже описаны для отчета. А понятия "пользовательские источники данных" не существует.

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

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

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

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

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

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

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

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

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

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

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

    @Dementor
    программист, архитектор, аналитик
    Суть проблемы при работе в консоли 1с (mmc), она начинает виснуть и закрываться.

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

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

    1) явным редактированием настроечных файлов кластера (как написано в вопросе)

    2) по COM-соединению через "V83.COMConnector" можно получить агент нужного кластера и програмно отредактировать список баз (https://its.1c.ru/db/v8325doc/bookmark/cs/TI000000256)

    3) установить сервер RAS и далее три подварианта:
    3.1) подключится к нему с помощью утилиты RAC и отредактировать список из командной строки
    3.2) подключится с помощью библиотеки irac из oscript
    3.3) подключится из кода 1С с помощью объекта АдминистрированиеСервера

    реестр хранить еще в системных база SQL

    В системных базах SQL хранятся записи о базах этого сервера и это абсолютно независимая от кластера 1С информацию. Удалять базы физически не обязательно, если вы планируете к ним подключатся с другого кластера или с помощью автономного сервера.
    Ответ написан
    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С с помощью API?

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

    получить доступ к данным в этих отчетов

    Доступ к данным, которые используются для построения отчетов, можно получить с помощью стандартного интерфейса oData. Но это будут "голые" факты из базы данных и вам нужно будет самим их интерпретировать для создания собственных дашбордов.

    Как получить отчеты (как н.п. Баланс) из 1С с помощью API?

    Если же речь идет об готовых сформированных отчетах в форматах MXL, XLS, PDF и так далее - то эти отчеты следует сделать доступными по API. Если доступности нет в конкретной базе 1С, то ее нужно разработать.

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

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

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

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

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

    Очевидно, что конфигурация просто закрыта. Откройте ее (первая команда в меню или первая кнопка на панели инструментов конфигурации) и доступы появятся.

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