arefaste/1C_Forums huggingface dataset:
Всем привет!
Что-то не могу до конца разобраться с данными понятиями:

Если я в Регистре Накопления в таблице Остатки использую Границу с МоментВремени включая,
то остатки получу на дату включая время документа и учитывая движения документа.
А если исключая, то без движений документа но включая последнюю секунду (время) документа?

А в таблице обороты?
---
Если используется конструкцию Граница(МоментВремени, Включая) то у вас будет ВСЕ вместе Моментом времени - это конкретно позиция регистратора, т.е. все что после этого документа было нет, даже если секунды совпадают. Исключая все ДО этого момента времени. Т.е.
Документы
Док1 - 23.59.58
Док2 - 23.59.59
Док3 - 23.59.59

Включая момент времени Док2 будет Док1 и Док2, исключая момент времени док2 будет только док1, а если МоментВремени(23.59.59 включая) то будет док1, док2, док3
---
там не секунды, а позиция самого документа (в одну секунду может быть несколько документов). включая - с позицией самого документа; исключая - без нее.
---
а какое время будет получено? в таблице остатков время учитывается без последней секунды.
допустим документ от 24.08.2023 23:59:59.
59-я секунда "включая и исключая границу" в МоментВремени() как учтется?
---
Если используется конструкцию Граница(МоментВремени, Включая) то у вас будет ВСЕ вместе Моментом времени - это конкретно позиция регистратора, т.е. все что после этого документа было нет, даже если секунды совпадают. Исключая все ДО этого момента времени. Т.е.
Документы
Док1 - 23.59.58
Док2 - 23.59.59
Док3 - 23.59.59

Включая момент времени Док2 будет Док1 и Док2, исключая момент времени док2 будет только док1, а если МоментВремени(23.59.59 включая) то будет док1, док2, док3
---
это про таблицу Остатки.
А в Оборотах будет 59-я секунда включаться в момент времени (не используя "граница включая")?
---
В оборотах так же работает, вроде по умолчанию должно браться включая секунды отбора, но бывали у меня случаи когда 23.59.59 не включалось, поэтому для надежности можно написать
---
спасибо!
---
Таблица остатки берет все движения до(исключая) указанной даты или момента времени. Если хотите учесть движения документа, то ставьте включая.

Таблица обороты берет движения включая указанную дату или момент времени.
---
С ответом 5 все согласны?
у меня при эксперементах в консоли запросов по другому получалось.
Исключая момент времени док2 вроде получится Док1 и Док3 ?
---
смотря в каком порядке у вас идут документы в базе, либо вы задаете границу не документ, а время, в (5) правильно написано.
---
скорее всего Вы правы. Хотя документы создавал позже, но в базе (в одну секунду) они идут раньше.
Тоже странность)
Спасибо что внятно объяснили!
---
Порядок документов по МоментуВремени еще зависит от типа документа. Вообще в начале документы сортируются по идентификатору метаданных, потом по идентификатору ссылки. Т.е. например документы с типом Приходная накладная всегда будут раньше, чем РасходнаяНакладная.
---
спасибо за информацию
Здорово, мужики!
Необходимо http запросом из одной базы перепровести документ в другой. Не подскажете, есть ли вариант не ожидать ответа, а чтобы послать запрос и продолжить работу программы? Документ тяжёлый, пользователю приходится ждать ответа примерно 10 секунд. Посылаю запрос GET. Может какой то другой сработает быстрее? Заранее спасибо за ответы.
---
Лучше всего сделать регистр сведений со ссылкой на проводимый документ в базе источнике для отправки запросов Http. Потом регламентным заданием проходить этот регистрсведений и посылать запросы в базу приемник. По факту перепроведения документа в базе приемнике помечать галочкой успешное перепроведение, либо удалять запись из регистра.
---
через ЗапуститьПриложение() без ожидания, например curl.exe или скрипт на VBS (если windows)

```1c
    Dim o
    Set o = CreateObject("MSXML2.XMLHTTP")
    o.open "GET", "http://www.example.com", False
    o.send
```
---
Может хоть кто нибудь подскажет?
---
Делать в фоновом режиме, если не хотите ждать. Тут же проблема не в запросе, а в "тяжелости" документа.
---
Проблема в том, что программа ответа ждёт. А как нибудь можно сделать, чтобы не ждала? Может есть какой нибудь другой вид http запроса, чтобы не ждало ответа? Послал и всё, дальше.
---
Сообщение было скрыто модератором.
---
Собрать механизм отложенной отправки по регламентному заданию.
---
создать длительную операцию или через файл на диске можно
---
Лучше всего сделать регистр сведений со ссылкой на проводимый документ в базе источнике для отправки запросов Http. Потом регламентным заданием проходить этот регистрсведений и посылать запросы в базу приемник. По факту перепроведения документа в базе приемнике помечать галочкой успешное перепроведение, либо удалять запись из регистра.
---
Всем спасибо за ответы. Жаль, что специализированного запроса нет, который ответ не ждёт, а только через длительные операции...
Добрый день. Подскажите, как убрать строку Количество в отчёте СКД?
---
1. Я бы сначала пошел договариваться с заказчиком, чтобы не надо было убирать слово количество
2. Если договориться не получится, то рисовать макет для группировки "Склад" https://youtu.be/qWecZ-dNKD4
---
1. Я бы сначала пошел договариваться с заказчиком, чтобы не надо было убирать слово количество
2. Если договориться не получится, то рисовать макет для группировки "Склад" https://youtu.be/qWecZ-dNKD4
---
https://infostart.ru/1c/articles/1290155/
---
Можно для поля Количество в настройках варианта отчета установить заголовок (проставить пробел) и будет пустой заголовок
---
останется строка, а я и строку убрать хочу
Доброе время суток.

Возникла неожиданная проблема.
Использую ЧтениеXML для открытия файла XML. И, соответственно, ЗаписьXML, для сохранения изменений в новый XML-файл.
Проблема в том, что после записи, теряются пробелы в новом файле, которые были в исходном.
После проверки, я понял что теряются пробелы которые в XML сохранены как отдельные значения элементов (узлов). Почитав справку о "ЧтениеXML", установил соответствующие настройки, но пробелы теряются по-прежнему:

```1c
    ПараметрыЧтенияXML = Новый ПараметрыЧтенияXML (,,ПробельныеСимволыXML.Сохранять,,,,,,Ложь,,Истина);
    ЧтениеXML = Новый ЧтениеXML;
    ЧтениеXML.ИгнорироватьПробелы = Ложь;
    ЧтениеXML.ОткрытьФайл(ПутьКXml, ПараметрыЧтенияXML);
```

Что я сделал не правильно?
P.S.: ЧтениеXML и ЗаписьXML используются совместно с "ПостроительDOM".
---
Думаю дело в построителе DOM. Он съедает текст тэгов, состоящий только из пробелов. У построителя есть параметр чтения по пробелам, но кажется он их игнорирует. Подозреваю ошибку в платформе или по крайней мере отсутствие документации.

Частный случай решения заменить все пустые тэги на пробелы. При этом если были двойные пробелы, они станут одинарными

```1c
    Разыменователь=Новый РазыменовательПространствИменDOM(ДокументDOM);

    ТекстXPath = "//w:t[@xml:space='preserve' and not(text())]";
    ВыражениеXPath = ДокументDOM.СоздатьВыражениеXPath(ТекстXPath, Разыменователь);

    РезультатВыражения = ВыражениеXPath.Вычислить(ДокументDOM);

    УзелDOM = РезультатВыражения.ПолучитьСледующий();
    Пока УзелDOM <> Неопределено Цикл
    УзелDOM.ТекстовоеСодержимое = " ";
    УзелDOM = РезультатВыражения.ПолучитьСледующий();
    КонецЦикла;
```
---
Думаю дело в построителе DOM. Он съедает текст тэгов, состоящий только из пробелов. У построителя есть параметр чтения по пробелам, но кажется он их игнорирует. Подозреваю ошибку в платформе или по крайней мере отсутствие документации.

Частный случай решения заменить все пустые тэги на пробелы. При этом если были двойные пробелы, они станут одинарными

```1c
    Разыменователь=Новый РазыменовательПространствИменDOM(ДокументDOM);

    ТекстXPath = "//w:t[@xml:space='preserve' and not(text())]";
    ВыражениеXPath = ДокументDOM.СоздатьВыражениеXPath(ТекстXPath, Разыменователь);

    РезультатВыражения = ВыражениеXPath.Вычислить(ДокументDOM);

    УзелDOM = РезультатВыражения.ПолучитьСледующий();
    Пока УзелDOM <> Неопределено Цикл
    УзелDOM.ТекстовоеСодержимое = " ";
    УзелDOM = РезультатВыражения.ПолучитьСледующий();
    КонецЦикла;
```
Отчет на СКД. Если своей формы нет, то при выводе Стандартного периода получается так, как мне нужно - сразу с возможностью установки ДатыНачала и ДатыОкончания. Но теперь я делаю другой отчет СКД, у которого своя форма есть. В случае со своей формой Стандартный период выводится общим полем. Как это исправить? Как сделать в случае со своей формой также, как и в случае без формы?
Сразу скажу, что выводить отдельно даты - тоже не подходит, т.к. пользователи хотят видеть в полях с датами только календарики, без списка выбора (Начало месяца и проч...). Как реализовать со своей формой также как на рис. 1?
---
Ну так копайте общую форму отчета, как там реализовано.
Или, если надо как в общей форме, но со своими кнопками (нестандартная расшифровка не требует создания формы. Делается по другому), то просто скопируйте общую форму в свой отчет и назначьте её основной.
---
Ну так копайте общую форму отчета, как там реализовано.
Или, если надо как в общей форме, но со своими кнопками (нестандартная расшифровка не требует создания формы. Делается по другому), то просто скопируйте общую форму в свой отчет и назначьте её основной.
---
Спасибо. Не знал, что так можно. Скопировал общую форму к себе в отчет. Теперь пишет, что не заполнен параметр ДатаКон, который в параметрах у меня наследуется от ПериодаОтчета как &ПериодОтчета.ДатаОкончания. Не подскажете, где что нужно поправить?
---
Тааак... Вроде бы пошло...
В функции ПараметрыФормированияОтчета() переписал Отчет.КомпоновщикНастроек.Настройки на Отчет.КомпоновщикНастроек.ПолучитьНастройки() с дополнительной обработкой параметров Настройки.ПараметрыДанных.Элементы.Найти() и установкой Значения и Использования.

Только почему-то значение Стандартного периода всё время сбрасывается после формирования отчета...
---
"нестандартная расшифровка не требует создания формы. Делается по другому"
Не очень понял, что вы имели ввиду здесь? Можете пояснить?
Необходимость в отдельной форме у меня появилась на каком-то этапе, уже не помню, но, возможно, из-за расшифровки...
---
Есть общий модуль
ОтчетыУТКлиентПереопределяемый (по крайней мере в ЕРП и УТ, в других, возможно, по другому называется)
В нем есть процедура ОбработкаРасшифровки. Посмотрите как в типовом функционале сделано.
Здравствуйте, хотелось бы устранить пробел. Создал и встроил внешнюю обработку, запускаться будет по расписанию. Но тут не до конца не понимаю. Ни где не прописывал запуск регламентного задания, при запуске по расписанию обработка сама в фоновом режиме запустится или все таки нужно в коде прописывать запуск регламентной процедуры?
---
БСП? Сама.
---
БСП? Сама.
---
Спасибо, были сомнения, хотел развеять
---
Тык
Добрый день коллеги!
Конфигурация БП 3.0, релиз 3.0.140.29.
Такой вопрос, в справочнике Контрагенты, при выборе вида контрагента Физическое лицо (см.рис.1), скрывается меню "Контактное лицо", при выборе вида контрагента "Юридическое лицо" это меню появляется (см.рис.2).
Подскажите пожалуйста, можно ли как то в пользовательском режиме сделать отображение данного меню при выборе вида Физическое лицо, или только дорабатывать?

Заранее Спасибо!
---
Тогда дорабатывать.
---
Физ. лицо само для себя контактное, зачем еще к нему навешивать? Но если очень нужно наверху синим есть доступ.
---
я знаю про доступ наверху. От бухгалтера запрос такой пришел. Бывают иногда у физических лиц контактные лица.
---
Тогда дорабатывать.
1С:Предприятие 8.3 (8.3.21.1624)
1С:ERP 2.5.8

Здравствуйте, форумчане. Прошу по возможности помочь. Вопрос следующий:
Есть макет внешней обработки на который необходимо добавить значение при выводе на печать (рис. 1, рис. 2). Значение переменной (Дата) должно выбираться пользователем вручную (рис. 3) в заказе. Я пытался сделать это через создание «Дополнительного реквизита» и создание запроса к этому реквизиту в Модуле объекта внешней обработки, а также и через создание собственного реквизита в расширении конфигурации (рис. 4).

Данные на печатной форме появлялись только в одном случае, если я использую и свой реквизит в расширении и создаю «Дополнительный реквизит» для документа, однако в этом случае появляется дублирование реквизита в Форме (рис. 5) и вывод одного из значений в печатной форме. Запрос проверял через консоль запросов, отрабатывал корректно.

Проблема в том, что данные на печатной форме не появляются если я пытаюсь использовать один из вариантов. Где я мог допустить ошибку и как мог бы её исправить?

Текущий вариант запроса оставлю ниже

```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ЗаказНаВнутреннееПотребление.сс_ПланДатаЗавершенияАпробации КАК сс_ПланДатаЗавершенияАпробации
    |ИЗ
    | Документ.ЗаказНаВнутреннееПотребление КАК ЗаказНаВнутреннееПотребление
    |ГДЕ
    | ЗаказНаВнутреннееПотребление.Ссылка = &Ссылка"
    ;

    Запрос.УстановитьПараметр("Ссылка",Документ.Ссылка);
    ПланДатаЗавершенияАпробации = Запрос.Выполнить().Выгрузить();
```
---
Никогда нам не пытайтесь рассказать о том, как вы в табличный документ выводите результат своего запроса!
---
ВЫВОДИТЕ
---
А мы должны сами догадываться о том, что ты там себе напрограммиздил?
---
Никогда нам не пытайтесь рассказать о том, как вы в табличный документ выводите результат своего запроса!
---
Уточните, о чем вы? Ошибка в принципе получения данных из запроса?
---
ВЫВОДИТЕ
---
Ваши слова следует воспринимать как сарказм и скинуть вам код вывода результата в табличный документ?
---
А мы должны сами догадываться о том, что ты там себе напрограммиздил?
---
Благодарю, за помощь. Я был невнимателен.
Поместил Поле в общий запрос и поле начало выводиться.
Здравствуйте!
Есть отчёт на СКД. Его надо вывести на экран и одновременно сохранить в ТЗ, чтобы её обработать и сформировать на её основании ещё один отчёт. Как это можно сделать? Вариант сформировать отчет с выводом на экран, а затем его же с выводом в ТЗ не предлагать, отчёт формируется довольно долго - около 5 мин.
---
Решил так: при выводе результат (типа "ПолеТабличногоДокумента") записываю во временный mxl-файл, затем этот файл считываю в табличный документ, который потом конвертирую в таблицу значений.
---
Как вариант: создать 2 компоновки данных. Первая, которая будет собирать данные для отчета. Её выведите в коллекцию значений. А эту коллекцию значений использовать как источник данных для второй компоновки.
---
Не подойдёт, т.к. в отчёте есть несколько вариантов, у тому же результат выводится в таблицу.
---
Решил так: при выводе результат (типа "ПолеТабличногоДокумента") записываю во временный mxl-файл, затем этот файл считываю в табличный документ, который потом конвертирую в таблицу значений.
Есть журнал документов.
Есть роль, которая дает доступ к некоторым типам документов из журнала.
Пользователь с этой ролью видит только те графы журнала, в которых есть информация только из видимых пользователю документов.
Например:
графа "ДляМастера" присутствует в документе АктОБраке.
графа "Номенклатура" присутствует в документах АктОБраке, ИсправлениеБрака
Пользователь имеет доступ к документам АктОБраке.
Пользователь видит графу "ДляМастера", но не видит графу "Номенклатура"
---
Дал пользователю доступ ко всем документам журнала на чтение с условием "ГДЕ Ложь" и на просмотр.
Заработало.
---
Дал пользователю доступ ко всем документам журнала на чтение с условием "ГДЕ Ложь" и на просмотр.
Заработало.
---
доступ ко всем документам журнала на чтение с условием "ГДЕ Ложь"
Игорь, добрый день. Спасибо за решение.
Я к сожалению не совсем понял, что значит дать доступ ко всем документам журнала на чтение с условием "ГДЕ Ложь"?
---
вот так:
---
Игорь, спасибо за решение. Все получилось.
---
Способ рабочий, подтверждаю на БП 3.0.140. Как выяснилось, в конфигурациях с режимом совместимости с 8.3.17 и ниже сработает только этот способ. А если 8.3.18 и выше, то "Графы" журнала пользователь видит без проблем, даже если права у него только на часть документов из журнала
---
Доброго дня всем.
Никак не могу найти инфу, как сделать в УПП 1.3 ограничение на просмотр документов в журнале Документы контрагентов и Платежные поручения исходящие. Народу много, кто со своими картами пришел на работу, соответственно ЗП им отдельно переводят, ну и естественно их видят разные отделы. Вот и вопрос, как бы сделать чтоб ПП созданные расчетчиком в бухгалтерии, не видели закупщики и продажники. Просмотр банковских операций отключил, туда попасть не могут, видят через журналы документов.
Здравствуйте! Есть ДО 8 Корп, редакция 2.1.
Есть такая задача: во многих шаблонах согласования есть управляющий, после него согласовывает директор (согласование идёт по очереди). Управляющий хочет, чтобы если директор не согласовал документ, согласовал с замечаниями или согласовал и оставил комментарий, ему бы приходило об этом уведомление одновременно с инициатором согласования. Если согласование было без комментариев, уведомление не нужно. Подскажите, как это можно сделать?
---
Задача решена путём доработки конфигурации
---
Задача решена путём доработки конфигурации
Добрый день. Есть отчет на СКД, много параметров, группировок и настроек форматирования. Форма отчета и настроек стандартные из конфигурации. Стоит задача выгрузки отчета в ЭКсель. ПриКомпоновкеРезультата поставил СтандартнаяОбработка = Ложь и написал выгрузку в эксель. Вопрос как объединить эти два режима? Хочу сделать так - пользователь открывает форму отчета и после формирования отчета появляется кнопка "выгрузить в Эксель". Возможно ли на БСПшную форму программно добавить эту кнопку?
---
Кнопку программно добавить можно, а вот её обработчик - все равно должен содержаться в форме отчета. Поэтому только копировать общую форму в свой отчет и там делать, все что хочется.
---
Кнопку программно добавить можно, а вот её обработчик - все равно должен содержаться в форме отчета. Поэтому только копировать общую форму в свой отчет и там делать, все что хочется.
---
А что в обработчике (схематично). Будет ли правильно при компановке сохранить дерево значений с результатом, а затем кнопкой это дерево выгружать ?
---
А чем вам не нравится типовая кнопка сохранить? или у вас не типовая конфа?
---
Нужны не цифры а формулы в итоговых строчках/столбцах. Пробовал менять табличный документ и сохранять. Но там получается не так красиво, хоть и быстрее и со структурой
Есть общая форма. У нее есть реквизиты. Как их получить в процедуре НаСервере?
---
Не поверишь.
ПолучитьРеквизиты()
---
Не поверишь.
ПолучитьРеквизиты()
---
Я и не верю.
---
(3)
ПолучитьРеквизиты
а полученные результаты передать на сервер
---
Ладно. Понятно
подскажите, сделал свое расширение для ЕРП по аналогии
https://forum.infostart.ru/forum9/topic207121/
с выложенными в постах (7) и (10) все работает как надо, за исключением одной особенности, если пользователю установлю роль и перезайду то проверка на РольДоступна() говорит что роль не назначена, но если еще раз (второй) перезайти то РольДоступна() Истина, т.е. после второго раза входа в базу роль назначается, проверил расширение на файловой и на SQL базе, в обоих случаях после второго входа в базу роль назначается и если убираем роль из профиля то со второго раза входа в базу роль отменяется. Кто в курсе почему так и как исправить? по логике после изменении и нового входа (нового сеанса пользователя) должно же сработать.
---
Предоставленное право начинает работать со следующего входа пользователя.
---
Предоставленное право начинает работать со следующего входа пользователя.
Доброго времени суток, уважаемые. Подскажите пожалуйста, может кто сталкивался с подобным и знает как оно решается. Есть Комплексная автоматизация 1.1. Раньше базировалась на платформе 8.3.18.1483. Перешли на 8.3.22.1750 и возникла следующая проблема - пропали точки в диаграмме Ганта - значения серий выводит, а к какой точке серия относится - нет. Сразу начинает со значения по дате
---
Блин, по закону подлости, сам почти сразу же после написания ветки нашел ответ. На новой платформе отображение точек в диаграмме переходит в режим "Авто". Надо вернуть в режим "Отображать"
---
Открыл обработку в конфигураторе:
1. На новой платформе
2. На старой платформе
---
Блин, по закону подлости, сам почти сразу же после написания ветки нашел ответ. На новой платформе отображение точек в диаграмме переходит в режим "Авто". Надо вернуть в режим "Отображать"
---
Подскажите пожалуйста, что за свойство такое? Все свойства и элемента и объекта перерыл, найти не могу.
---
А у тебя управляемые формы или обычные?
---
У меня одна проблема и там и там.
---
Вот тут я менял
---
понял, спасибо. В моём случае не работает.
---
Спасибо, помогли решить вопрос.
Добрый день. В регистр сведений пишутся данные для документа (от 3 до 4 записей). Подскажите, пожалуйста, можно ли одним запросом (без временных таблиц) вывести эти данные в разные колонки формы списка? Пример: три записи в рс: документ1, значениеРС1; документ1, значениеРС2; документ1, значениеРС3. И на форму списка нужно вывести все эти значения в одну строку, но в разные колонки.
---
Правильно, текст будет примерно такой
Выбрать
1 КАК Колонка1,
0 КАК Колонка2,
0 КАК КолонкаX,
Объединить ВСЕ
Выбрать
0 КАК Колонка1,
1 КАК Колонка2,
0 КАК КолонкаX,
Объединить ВСЕ
Выбрать
0 КАК Колонка1,
0 КАК Колонка2,
X КАК КолонкаX,

Только обязательно необходимо сгруппировать итоговый результат, чтобы не было дублей строк. И могут быть проблемы с Ссылками, т.к. группировка Неопределено и Самой ссылки даст вам 2 строки
---
еще как вариант можно использовать левое соединение

выбрать
Док.ссылка как документ,
рег1.значениеРС1 как Колонка1,
рег2.значениеРС2 как Колонка2,
рег3.значениеРС3 как Колонка3
из
Документ.ВашДокумент Док
левое соединение ВашРС как рег1
по Док.ссылка = рек1.Документ

левое соединение ВашРС как рег2
по Док.ссылка = рек2.Документ
...
и т.д.
---
Можно, см. Объединить Все
но количество колонок надо знать заранее, как и способ разделения по колонкам.
---
но количество колонок надо знать заранее, как и способ разделения по колонкам. то есть если у одного документа будет 4 записи, у другого три, то работать будет только один вариант, или я неправильно понял?
---
Правильно, текст будет примерно такой
Выбрать
1 КАК Колонка1,
0 КАК Колонка2,
0 КАК КолонкаX,
Объединить ВСЕ
Выбрать
0 КАК Колонка1,
1 КАК Колонка2,
0 КАК КолонкаX,
Объединить ВСЕ
Выбрать
0 КАК Колонка1,
0 КАК Колонка2,
X КАК КолонкаX,

Только обязательно необходимо сгруппировать итоговый результат, чтобы не было дублей строк. И могут быть проблемы с Ссылками, т.к. группировка Неопределено и Самой ссылки даст вам 2 строки
---
понял, спасибо.
---
еще как вариант можно использовать левое соединение

выбрать
Док.ссылка как документ,
рег1.значениеРС1 как Колонка1,
рег2.значениеРС2 как Колонка2,
рег3.значениеРС3 как Колонка3
из
Документ.ВашДокумент Док
левое соединение ВашРС как рег1
по Док.ссылка = рек1.Документ

левое соединение ВашРС как рег2
по Док.ссылка = рек2.Документ
...
и т.д.
---
Спасибо.