arefaste/1C_Forums huggingface dataset:
Здравствуйте. Есть excel файл, в нем первая строка это шапка, и при выгрузке в таблицу значений через построитель запроса попадает только первая колонка. Думаю, что нужно отсекать шапку перебором значений второй ячейки, к примеру, но может есть другие варианты? Подскажите, пожалуйста.

```1c
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ВыборФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);

    Построитель = Новый ПостроительЗапроса;
    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область());
    Построитель.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
    Построитель.ЗаполнитьНастройки();
    Построитель.Выполнить();

    ТаблицаЗначений = Построитель.Результат.Выгрузить();
```

З.Ы. До этого всегда пользовался ComSafeArray.
---
```1c
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ВыборФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    ТабДок.Показать() ;//что тут есть хоть ?

    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область(тут можешь задать начальные и конечные границы области, указав номер строик и номер колонки));
```
---
ТабДок.Показать() ;//что тут есть хоть ? файл эксель выводит. Где названия колонок с 4 строки начинаются. То есть, теоретически , если я введу
```1c
    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область(4,1,170,6));
```
 то должна таблица значений нормально заполниться? Или я ошибаюсь?
---
Почему бы просто не обойти все ячейки ТабДока. К чему этот черный ящик в виде построителя запроса?
---
можно, но мне вариант обхода ячеек показался громоздким, поэтому решил попробовать с выгрузкой через построитель.
---
```1c
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(ВыборФайла, СпособЧтенияЗначенийТабличногоДокумента.Значение);
    ТабДок.Показать() ;//что тут есть хоть ?

    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область(тут можешь задать начальные и конечные границы области, указав номер строик и номер колонки));
```
---
ТабДок.Показать() ;//что тут есть хоть ? файл эксель выводит. Где названия колонок с 4 строки начинаются. То есть, теоретически , если я введу
```1c
    Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область(4,1,170,6));
```
 то должна таблица значений нормально заполниться? Или я ошибаюсь?
---
И еще, нужно посмотреть, какие идентификаторы в заголовке таблицы.. чтоб без пробелов/спецсимволов были
---
я по этому примеру пробовал https://infostart.ru/public/714988/ . Там во втором комментарии автор ответил, что колонки с названиями, содержащими пробелы, преобразуются в названия без пробелов.
---
да.
---
Спасибо!
---
возможно так и есть, на счет спецсимволов, не помню, пробуй.
---
проверил, действительно работает, но блин. Неудобно почему то после ком сэйф, там как то проще все, как мне кажется, и с листами работать там проще, может потому что просто привык к этому методу.
---
ну, каждому своё, тут ни офис не нужен, ни провайдер, если через ado запрос
Добрый день! Подскажите как можно записать программно дополнительный реквизит. Есть дополнительный реквизит с типом значения "Дополнительное значение". как ему присвоить необходимое значение??
---
ну найти значение в справочнике ЗначенияСвойствОбъектов тогда
---
Из пример думаю будет понятно

```1c
    МассивСтруктур = Новый Массив;
    МассивСтруктур.Добавить(Новый Структура("Свойство, Значение",ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Проверено (Поступление товаров и услуг)", Истина),Истина);
    МассивСтруктур.Добавить(Новый Структура("Свойство, Значение",ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Время Разбора (Поступление товаров и услуг)", Истина),Истина);
    УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(ДокументПоступления,МассивСтруктур);
```
---
мне нужно записать реквизит с типом "Дополнительное значение" в котором уже есть нужные значения, нужно их найти по наименованию и присвоить значение!
---
ну найти значение в справочнике ЗначенияСвойствОбъектов тогда
---
А ларчик просто открывался, спасибо большое!
---
```1c
    ...
    ДопРеквизитСвойство=ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Вид деятельности");
    Если ЗначениеЗаполнено(ДопРеквизитСвойство) Тогда
    ДопРеквизит=Об.ДополнительныеРеквизиты.Добавить();
    ДопРеквизит.Свойство=ДопРеквизитСвойство;
    ДопРеквизит.Значение="Прочая деятельность";
    КонецЕсли;
    Об.Записать();
```
---
https://1cguide.ru/programmirovanie-1s/dopolnitelnye-rekvizity-programmno.html
---
в типовой конфе лучше использовать БСП:

ЗаписатьСвойстваУОбъекта

Записывает дополнительные реквизиты и сведения владельцу свойств.
Изменения происходят в транзакции.
Синтаксис

```1c
    Процедура ЗаписатьСвойстваУОбъекта(ВладелецСвойств, ТаблицаСвойствИЗначений) Экспорт
```
---
Во вложении пример.
---
НоменклатураСсылка = Справочники.Номенклатура.НайтиПоКоду(к.код);
   Номенклатура = НоменклатураСсылка;//.ПолучитьОбъект();

   ДопРеквизитВес = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Заголовок", "Вес(кг)");
      ДопРеквизитВидКомплектующей = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Заголовок", "Вид комплектующей");

      ТаблицаДопРеквизитов = Новый ТаблицаЗначений;
      ТаблицаДопРеквизитов.Колонки.Добавить("Свойство", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения"));
      ТаблицаДопРеквизитов.Колонки.Добавить("Значение");
      Если не к.Вес = "" тогда
       НовыйРекизит = ТаблицаДопРеквизитов.Добавить();
       НовыйРекизит.Свойство = ДопРеквизитВес;
       НовыйРекизит.Значение = Число(к.Вес);
   КонецЕсли;

   Если не К.ВидКомплектующей = "" тогда
    НовыйРекизит = ТаблицаДопРеквизитов.Добавить();
    НовыйРекизит.Свойство = ДопРеквизитВидКомплектующей;
    НовыйРекизит.Значение = Строка(к.ВидКомплектующей);
   КонецЕсли;

   УправлениеСвойствами.ЗаписатьСвойстваУОбъекта(Номенклатура,ТаблицаДопРеквизитов);
---
Вот текст, при этом вес записывается, а вот Вид комплектующей нет!
---
у значения тип отличный от свойства. Строка, Число, справочник ЗначенияСвойствОбъектов , например
Добрый день!
Есть форма документа. В ней есть табличная часть. По кнопке загружаются данные в табличную часть из эксель. После окончания загрузки форма не обновляется. Что можно сделать, чтобы она обновилась?
---
ЭтаФорма.Прочитать()(1)
---
Видимо, загрузка идёт в табличную часть прикладного объекта, полученного методом РеквизитФормыВЗначение, тогда после загрузки необходимо выполнить обратное действие – ЗначениеВРеквизитФормы. Но по-хорошему, лучше загружать данные сразу в данные формы без преобразования в прикладной объект.
---
Форма.Обновить()
---
Ну или там Элементы.ТвоёТабличноеПоле.ОбновитьСтроки()
---
Нет такого метода обновить строки.
---
Элементы.Таблица.Обновить();
---
Не работает так. У меня почему то все время с этими обновлениям какая то проблема.
---
Должно работать. Покажите процедуру загрузки
---
Обычные формы ? или УФ ?
---
Для начала, надо выяснить, УФ у вас или ОФ, хотя бы.
---
Да, не написала. Управляемые.
---
тогда см.(5)
---
ЭтаФорма.Прочитать()(1)
---
ЭтаФорма.Прочитать()
Да прочитать работает. Спасибо!
Здравствуйте, Ребят такая проблема, не происходит автоматическая сверка итогов при закрытии смены в РМК, в УТ 11.4.14.95 (8.3.20.1674) эквайринг подключен напрямую к 1с, что я не так сделал?и не могу найти где управлять экваринговым терминалом(казначейство-сервис там смотрел нет ничего), у меня предположение что то намудрили в новой версии
---
не происходит автоматическая сверка итогов при закрытии смены в РМК, в УТ 11.4.14.95 (8.3.20.1674) эквайринг подключен напрямую к 1с, что я не так сделал
его и не было никогда. есть расширения тут за sm

(1) и не могу найти где управлять экваринговым терминалом(казначейство-сервис там смотрел нет ничего)

продажи - шестеренка - настройки действий - в сервисных операциях есть "Сверка итогов по картам"
---
не происходит автоматическая сверка итогов при закрытии смены в РМК, в УТ 11.4.14.95 (8.3.20.1674) эквайринг подключен напрямую к 1с, что я не так сделал
его и не было никогда. есть расширения тут за sm

(1) и не могу найти где управлять экваринговым терминалом(казначейство-сервис там смотрел нет ничего)

продажи - шестеренка - настройки действий - в сервисных операциях есть "Сверка итогов по картам"
---
Спасибо, за подсказку
---
в УТ 11.5, данные переносились из редакции 10
Не отключена ли Функциональная опция ИспользоватьПодключаемоеОборудованиеИОплатуПлатежнымиКартами­, она
является подчиненной для ФО ИспользоватьОплатуПлатежнымиКартами и
ИспользоватьПодключаемоеОборудование.
то есть проверить константы (названия с пробелами между слов)
У меня не стояла константа Использовать подключаемое оборудование и оплату платежными картами
После включения в разделе Казначейство появилась Сверка по картам
УТ 10.3 Обычные формы. Есть журнал документов "ЗаказыПокупателей" и есть задача, чтобы у документа менялся статус.

Соответственно есть регистр сведений (Независимый, Непериодический)

С двумя измерениями (Организация, Документ) и одним ресурсом "Статус"

И теперь в форме списка заказов нужно выводить текущий статус документа ( может быть пустым)

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

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

Значения статусов получить запросом, с фильтром на массив ссылок, полученных из коллекции ОформлениеСтрок
---
Спасибо. Не думал, что обработчик задается целиком по табличному полю, а не по отдельной колонке.
---
На вот, пример

```1c
    Процедура ТвоеТабличноеПолеПриПолученииДанных(Элемент, ОформленияСтрок)
    МассивССылок = Новый Массив;
    Соответствие = Новый Соответствие;
    Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    МассивССылок.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка);
    Соответствие[ОформлениеСтроки.ДанныеСтроки.Ссылка] = ОформлениеСтроки;
    КонецЦикла;

    Запрос= новый Запрос("ВЫБРАТЬ
    | ССылка,Вася
    |ИЗ
    | <Нечто из источника твоего табличного поля>
    |ГДЕ
    | ССылка В(&ССылка)";
    Запрос.УстановитьПараметр("ССылка", МассивССылок);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Соответствие[Выборка.ССылка].Ячейки.Вася.УстановитьФлажок(Истина);
    Соответствие[Выборка.ССылка].Ячейки.Вася.ЦветТекста= WebЦвета.Красный ;
    Соответствие[Выборка.ССылка].Ячейки.Вася.Текст = Выборка.Вася ;
    КонецЦикла;
    КонецПроцедуры
```
Добрый день!

В отчете на СКД простейший запрос

```1c
    ВЫБРАТЬ
    ТоварынаскладахОстатки.Склад,
    ТоварынаскладахОстатки.Номенклатура,
    ТоварынаскладахОстатки.КоличествоОстаток
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, ) КАК ТоварынаскладахОстатки
```

На вкладке параметры добавил параметр Дата с ограничением доступности
Параметр Период присутствует по-умолчанию (Автозаполнение)

В режиме предприятия открываю отчет, ввожу значение Период в польз. настройках и вуа-ля, отчет работает!
Причем в значение Дата каким-то образом попадает значение Период, но каким образом? Почему именно так (в запросе то у меня &Дата)?

То же самое, если я переопределяю значение Дата в ПриКомпоновкеРезультата модуля отчета, это не срабатывает!
---
Вопрос закрыт, нашел ответ на ИТС https://its.1c.ru/db/metod8dev/content/3206/hdoc
---
Вопрос закрыт, нашел ответ на ИТС https://its.1c.ru/db/metod8dev/content/3206/hdoc
Доброго времени суток. Столкнулся с непонятым исполнением запроса
                         ВЫБРАТЬ ПЕРВЫЕ 1
 1 КАК ЕстьКомиссия
ПОМЕСТИТЬ ЕстьЗапросКомитентуВТ
ИЗ
 Документ.ОтчетКомитентуОПродажах КАК ОтчетКомитентуОПродажах
ГДЕ
 ОтчетКомитентуОПродажах.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ЕСТЬNULL(Счета.СуммаОборот, 0) КАК BankAccounts,
 Счета.СчетКт КАК СчетКт,
 ЕстьЗапросКомитентуВТ.ЕстьКомиссия КАК ЕстьКомиссия
ИЗ
 РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
   ДАТАВРЕМЯ(2021, 12, 1, 0, 0, 0),
   ДАТАВРЕМЯ(2021, 12, 31, 23, 59, 59),
   ,
   СчетДт.Код В ("51", "52"),
   ,
   СчетКт.Код ПОДОБНО "62%"
    ИЛИ СчетКт.Код = "55.04"
    ИЛИ СчетКт.Код ПОДОБНО "90%",
   ,
   ) КАК Счета,
 ЕстьЗапросКомитентуВТ КАК ЕстьЗапросКомитентуВТ

Если запрос в ВТ ЕстьЗапросКомитентуВТ не вернул результатов, то общий запрос ничего не возвращает, хотя я ожидал увидеть в результате обороты по счетам и null в поле комиссия так, как если соединение явно не указано, то используется внешнее и результат должен быть. Причем, если изменить запрос и другая таблицы была бы запрос к регистру хозрасчетный, но который не возвращает ни одной строки, то результат бы был, просто бы были бы null. Почему с ВТ результат другой?
---
и зачем вам впёрся cross join ?

ЗЫ: а ниже, поди еще есть секция с ГДЕ в этом запросе, да ?

cross join c пустой табличкой всегда будет выдавать 0 записей, це произведение жешь табличек
---
```1c
    ВНЕШНЕЕ СОЕДИНЕНИЕ ЕстьЗапросКомитентуВТ КАК ЕстьЗапросКомитентуВТ
    ПО (ИСТИНА)
```

попробуй
---
Так-то, действительно, какая-то непонятная ситуация...
А если для эксперимента от ВТ отказаться и вынести ее данные в подзапрос?
Еще можно попробовать явно типизировать поле ЕстьКомиссия через Выразить(1 как число).
---
ВНЕШНЕЕ
Попробовал написать Полное соединение и заработало.
(3)
Мне интерсует даже не решение конкретной задачи, а то, что я не понимаю, что не так делаю.
---
и зачем вам впёрся cross join ?

ЗЫ: а ниже, поди еще есть секция с ГДЕ в этом запросе, да ?

cross join c пустой табличкой всегда будет выдавать 0 записей, це произведение жешь табличек
---
Я просто чужой запрос редактировал и там не было явного указания соединения. А я всегда явно пишу соединения, поэтому не совсем понимал, что происходит. Но запрос работал, потому, что запрос к регистру хозрасчетный всегда что-то возвращал, даже если не было оборотов, то возвращал нули. А я добавил временную таблицу в которой не было записей и это сломало. Мне казалось, что соединение без указания таблиц должно быть либо левым, либо полным,а это оказалось не так, и это отвечает полностью на мой вопрос. Спасибо.
З.Ы. Не, нет секции где, я уже напарывался на эти грабли и не косячу так уже.
На форме списка есть реквизит отбора "Номенклатура".
Установлено событие приИзменении

```1c
    ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка(
    Список, "Товары.Номенклатура", Номенклатура, ВидСравненияКомпоновкиДанных.Равно, , ЗначениеЗаполнено(Номенклатура));
```

До перехода на 2.5.6 все работало.
После обновления перестало. Вылетает ошибка

```1c
    Параметры Отбора, Сортировки, Группировки или список отображаемых полей заданы неверно. Не найдено поле отбора Товары.Номенклатура
```

Сверял структуру формы списка с 2.4. Ничего не изменилось.
Очищал также пользовательские настройки.
Не помогло.
---
"Ссылка.Товары.Номенклатура" как вариант.
---
наверно имя колонки должно быть просто "Номенклатура"

Товары. - попробуйте убрать
---
Тоже самое
---
"Ссылка.Товары.Номенклатура" как вариант.
---
Спасибо! Работает!
Всем привет! 1С:Предприятие 8.3, Программно создаю новый документ Выпуск продукции, заполняю реквезиты и табличную часть.
И проблема в том что после открытия созданного документа, я не могу не удалить строки в таблице Продукция, ни добавить в нее материалы на списание пишет ошибку:
Значение не является значением объектного типа (КлючСтроки)

Кусок кода, как создаю и добавляю:
...
ВыпускПродукции = Документы.ВыпускПродукцииПроизводство.СоздатьДокумент();
ВыпускПродукции.Дата = ПреобразованиеДаты(КопияДаты);
НоваяСтрока = ВыпускПродукции.Продукция.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(ТЗ[НомерСтроки-1].Код1С);
...

Что не правильно, подскажите???
---
```1c
    НоваяСтрока.КлючСтроки = НоваяСтрока.НомерСтроки;
```

не?
---
```1c
    НоваяСтрока.КлючСтроки = НоваяСтрока.НомерСтроки;
```

не?
---
Помогло, спасибо:)
---
НоваяСтрока.КлючСтроки = Новый УникальныйИдентификатор()
---
НоваяСтрока.КлючСтроки = Новый УникальныйИдентификатор()

Ничего не поменялось :(

Заметил если Нажать добавить, то эта запись нормально удаляется и можно добавить материалы на списание. А те которые были созданы НоваяСтрока = ВыпускПродукции.Продукция.Добавить();
тоже могут быть удалены после этого

Вот полный текст ошибки
{Документ.ВыпускПродукцииПроизводство.Форма.ФормаДокумента.Форма(203)}: Значение не является значением объектного типа (КлючСтроки)
 КлючПоиска = Новый Структура("КлючСтроки",Элементы.СписаниеМатериалов.ОтборСтрок.КлючСтроки);
---
у тебя 2 ТЧ: выпуск продукции и списание материалов. они связаны через реквизит КлючСтроки.

при добавлении/удалении строк происходит поиск связанных строк.

ну а дальше уже смотри, чего и как ты заполняешь

самое простое:
1) создаешь документ программно;
2) создаешь документ ручками;
3) сравниваешь строки ТЧ обоих документов, например в консоли запросов. Сразу будут видны различия.

ну и отладчик на 203 строку формы
Добрый день. Пытаюсь вывести значение реквизита из первой строки табличной части объекта через пользовательские поля СКД, пока не получается. Вообще это реально?

Реквизит объекта спокойно выводится, если указывать [Объект.Табличная часть] то тоже ошибки нет, а вот получить из этой табличной части первую строку и у нее вывести реквизит не удается.

Реально ли это сделать через пользовательские поля?
---
Вот так?

```1c
    ВычислитьВыражениеСГруппировкойТаблицаЗначений(
    "[Регистратор.Товары.Номер строки], [Регистратор.Товары.Товар.Наименование]",
    "[Регистратор.Товары.Номер строки], [Регистратор.Товары.Товар]",
    "[Регистратор.Товары.Номер строки] = 1")
```
---
Вот так?

```1c
    ВычислитьВыражениеСГруппировкойТаблицаЗначений(
    "[Регистратор.Товары.Номер строки], [Регистратор.Товары.Товар.Наименование]",
    "[Регистратор.Товары.Номер строки], [Регистратор.Товары.Товар]",
    "[Регистратор.Товары.Номер строки] = 1")
```
---
Ругается , мол нет такого поля.
К полям шапки регистратора вот так достукивается.
А к табличной части не хочет.
Уважаемые, подскажите, как настроить управляемую форму (Бухгалтерия 3.0).

Была Бухгалтерия 2.0. В ней был прописан регистр сведений ПроцентыКредита. В форму договора было выведно табличное поле РегистрСведенийСписок.ПроцентКредита с отбором по договору. Было удобно, непосредственно в таблице задавали проценты кредита для данного договора.
Делаем то же самое для Бухгалтерии 3.0. Но в форму добавляется реквизит только с типом РегистрСведенийНаборЗаписей.ПроцентКредита, либо РегистрСведенийМенеджерЗаписи.ПроцентКредита. Возможности добавить РегистрСведенийСписок нет. Либо я не могу найти.
Подскажите, как решить проблему.
---
Можно так:

1. На форме разместить реквизит с типом "РегистрСведенийНаборЗаписей.ПроцентКредита", обозвать "ПроцентыКредита"
2. В модуле формы договора при создании на сервере заполнять набор:

```1c
    ДанныеРегистра = РеквизитФормыВЗначение("ПроцентыКредита");
    Отбор= ДанныеРегистра.Отбор.Договор;
    Отбор.Значение = Объект.Ссылка;
    Отбор.Использование= Истина;

    ДанныеРегистра.Прочитать();

    ЗначениеВРеквизитФормы(ДанныеРегистра, "ПроцентыКредита");
```

3. На форме, у элемента набора регистра "при изменени", на сервере:

```1c
    РеквизитФормыВЗначение("ПроцентыКредита").Записать();
```
---
Вам нужен новый реквизит в регистре ? Чтоб внесенный процент сохранялся ?
Или реквизит формы, только для расчёта на форме ?
---
Регистр уже есть под проценты кредита, реквизиты все прописаны. Нужно, чтобы его можно было править из формы договора. Ближайшая аналогия - как правятся штрихкоды товара в форме номенклатуры в Торговле 10.3
---
Можно так:

1. На форме разместить реквизит с типом "РегистрСведенийНаборЗаписей.ПроцентКредита", обозвать "ПроцентыКредита"
2. В модуле формы договора при создании на сервере заполнять набор:

```1c
    ДанныеРегистра = РеквизитФормыВЗначение("ПроцентыКредита");
    Отбор= ДанныеРегистра.Отбор.Договор;
    Отбор.Значение = Объект.Ссылка;
    Отбор.Использование= Истина;

    ДанныеРегистра.Прочитать();

    ЗначениеВРеквизитФормы(ДанныеРегистра, "ПроцентыКредита");
```

3. На форме, у элемента набора регистра "при изменени", на сервере:

```1c
    РеквизитФормыВЗначение("ПроцентыКредита").Записать();
```
---
Спасибо, дружище, всё получилось.
Доброго времени.
Подскажите пожалуйста, можно ли программно завершить сеанс и показать окно для ввода логина и пароля?
ПрекратитьРаботуСистемы() просто закрывает приложение, окно с паролем не выводит
---
Я не туда копал. Оказывается есть ЗаблокироватьРаботуПользователя(), вот оно выводит окошко с паролем.
---
Перед закрытие Выполнить команду: C:\Program Files\1cv8\8.3.ХХ.ХХХХ\bin\1cv8.exe
с нужными параметрами...
---
Я не туда копал. Оказывается есть ЗаблокироватьРаботуПользователя(), вот оно выводит окошко с паролем.
Добрый день!
Конфигурация БП 3.0. Через расширение создал новый регистр накопления. И добавил в расширение процедуру "Обработка проведения" (&После) документа Отчета о Розничных продажах (далее -ОРП).
Моя проблема. При интерактивных записи/проведении документов записи в регистр добавляются. А вот при программном создании и проведении документов ОРП, вижу, что отладчик попадает в процедуру записи движений, но движения не записываются.
Не могу понять в чём дело. Где искать? Всё облазил.
---
Предполагаю, что надо лезть в модуль, где программно создаете документ, и движения записывать там, после создания документа:
```1c
    НовыйДокумент.Записать();
    /////тут делаете запись в нужный регистр
```
---
Предполагаю, что надо лезть в модуль, где программно создаете документ, и движения записывать там, после создания документа:
```1c
    НовыйДокумент.Записать();
    /////тут делаете запись в нужный регистр
```
---
Да, ваша правда. У меня ещё код был "перед записью", который очищает движения во избежание дублей при перепроведении дока.
По конкретной номенклатуре получаю остатки и обороты за год. За этот год у нее нет движений, есть только начальный и конечный остаток.

Параметр &ВыбиратьВсе = Истина.

Такой запрос ничего не выводит

```1c
    ВЫБРАТЬ
    ПартииТоваров.Номенклатура КАК Номенклатура
    ИЗ
    РегистрНакопления.ПартииТоваров.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Номенклатура = &Номенклатура) КАК ПартииТоваров
    ГДЕ
    ВЫБОР
    КОГДА &ВыбратьВсе
    ТОГДА ИСТИНА
    ИНАЧЕ ПартииТоваров.КоличествоПриход <> 0
    КОНЕЦ
```

Пробую менять условия:
1. "ИНАЧЕ ПартииТоваров.КоличествоПриход <> 0" заменить на "ИНАЧЕ ЛОЖЬ" тогда данные появятся.
2. Если убрать "ИНАЧЕ ПартииТоваров.КоличествоПриход <> 0" данные тоже будут.
3. Если "ТОГДА ИСТИНА" заменить на "ТОГДА ЛОЖЬ" то данные не выводятся.

Почему так происходит?
---
Добавьте вывод ресурсов "Начальный остаток", "Конечный остаток" - даже если нужна только Номенклатура. Должно помочь.
---
Разве КоличествоПриход не будет равно нулю при отсутствии движения по номенклатуре?
Если ВыбратьВсе = ИСТИНА, то номенклатура будет выбрана, иначе работает условие ПартииТоваров.КоличествоПриход <> 0, соответственно ничего не попадает в выходную таблицу.
---
Установите у РН в запросе периодичность "Авто",
 Должно помочь
```1c
    РегистрНакопления.ПартииТоваров.ОстаткиИОбороты(&НачалоПериода, &КонецПериода,Авто , , Номенклатура = &Номенклатура) КАК ПартииТоваров
```
---
Разве КоличествоПриход не будет равно нулю при отсутствии движения по номенклатуре?
Если ВыбратьВсе = ИСТИНА, то номенклатура будет выбрана, иначе работает условие ПартииТоваров.КоличествоПриход <> 0, соответственно ничего не попадает в выходную таблицу.
---
Добавьте вывод ресурсов "Начальный остаток", "Конечный остаток" - даже если нужна только Номенклатура. Должно помочь.