arefaste/1C_Forums huggingface dataset:
Господа, подскажите, может кто знает метод, как получить данные из объекта ДокументСписок!?Насколько это вообще реально!?В синтакс-помощнике такой информации вроде нет или может где не там смотрю!?Заранее спасибо.
---
Если нужен список документов то можно использовать ДокументМенеджер событие "ОбработкаПолученияДанныхВыбора"
---
выборкой
какие данные нужны?
---
В форме(общая) создана новая колонка Емейл http://prntscr.com/j1m2cj (Для Каждого ЭлОформления Из ОформленияСтрок Цикл и т.д.), теперь нужно получить эти данные из виртуальной колонки, чтобы сделать рассылку выбранных документов. Говорят, что раз это типа журнала ДокументСписок, то оттуда не вытащить этот емейл и не сделать "галочку", которая будет выбирать документы,которые отправить. Обычные формы вообще впервой вижу,если честно.
---
если есть виртуальная колонка, значит, есть алгоритм расчёта её значения.
Возьми и повтори его
---
Мне нужно сделать групповую рассылку выбранных документов, сейчас программа автоматически их формирует и записывает, но записывает собственно в документсписок, откуда я эту информацию вытащить не могу. Доставать из запроса емейл я могу, но это не то, что мне нужно. Грубо говоря обработка создает документы, выводит их на форму.Я выбираю нужные, ставлю слева галочки и нажимаю отправить, идет групповая рассылка. Я сейчас даже галочку поставить не могу, не понимает меня программа, попробовал несколько разных способов и не один не сработал.
---
сейчас программа автоматически их формирует и записывает, но записывает собственно в документсписок
В документСписок записать ничего нельзя. Отсюда следует, что все твои умозаключения не стоят ничего
---
Она их просто записывает не верно написано. Я их просматриваю на форме через документ список.
---
Колонка "виртуальная" заполняется программно, через ПриПолученииДанных или Привыводестроки. Вот туда и смотри, как оно считается
---
Если нужен список документов то можно использовать ДокументМенеджер событие "ОбработкаПолученияДанныхВыбора"
---
Спасибо, попробую
Добрый день

Не могу сообразить как лучше сделать: необходимо создать некоторое количество документов и открыть их не записывая (некий аналог "создать на основании"). Проблема в том что я не могу изначально узнать сколько будет этих документов, пока не приду на сервер и не выполню запрос. То есть при обходе результата запроса я смотрю на условие, и если оно не выполняется - записываю текущий докумен и создаю для записи новый, но такое не устраивает пользователей, так как сохранять они хотят только один. Если вызывать процедуру из клиента 100 раз (с условием остановки если документы созданы) - условие не будет " продолжаться". Как можно выкрутиться из такой ситуации?
---
Решил проблему 2 запросами: 1 получает количество планируемых документов и параметры отбора, второй уже заполняет на сервере по отбору по очереди.
---
Решил проблему 2 запросами: 1 получает количество планируемых документов и параметры отбора, второй уже заполняет на сервере по отбору по очереди.
Здравствуйте, подскажите пожалуйста, есть журнал документов платежи(УТ 11.3)
Я хочу в форму списка(динамический список) вывести колонку со статьей движения денежных средств, вывести то вывел, только вот она не проставляется(скриншот прислал).

Что не так делаю?
---
эти статьи в табличной части "расшифровка платежа"
---
```1c
    ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ КАК СтатьяДвижения
```
---
эти статьи в табличной части "расшифровка платежа"
---
Да, что-то я не вдуплю как сделать чтобы было все 1 колонкой)) получаю вложенным запросом.
Это мне получается нужно выбрать все документы которые попадают в журнал платежей, и вытащить с тч. статью денежных средств, но ведь в итоге получится 6 колонок под каждый тип документа.
---
Просто из ссылки вытащил реквизит статья движения денежных средств, ссылка это все наши документы типа(поступление на рс, списание и т.д)
---
а почему на скрине у одной записи статься заполнена? очень похоже, что сделано правильно, но по факту в документе статься не заполена на самом деле
---
получается он вывел тех у кого статья движения указана в самом документе(реквизит). А другие в табличной части "Назначение платежа" вот они и пустые.
---
Как бы их объединить?)
---
объединить скорее всего не получится - реквизит, который в табличной части, может различаться.
---
ну у нас нет платежек где несколько статей движения в документе.
---
```1c
    ВЫБОР КОГДА ТОГДА ИНАЧЕ КОНЕЦ КАК СтатьяДвижения
```
---
Ага, так и сделал))

```1c
    ВЫБОР
    КОГДА РКО.СтатьяДДС ЕСТЬ NULL ТОГДА
    ПКО.СтатьяДДС
    ИНАЧЕ РКО.СтатьяДДС
    КОНЕЦ
```
---
И где мой плюс? %)
---
еще до кучи надо select top 1 из ТЧ
Как в отчете на СКД сделать чтобы не выводился итог по определенному полю, но в детальных записях чтобы значения были. Возможно такое сделать? Как?
Пример на картинке. Вот эти значения которые выделены желтым нужно убрать.
---
Условное оформление.
---
Получилось
Нужно настраивать условное оформление Текст = (пустое значение) для требуемого уровня иерархии, а не для всего отчета.
---
Условное оформление.
---
Получается через Текст = (пустое значение) убрать значение в Итоге, в группе иерархии остается значение, как ни пробовал
---
Получилось
Нужно настраивать условное оформление Текст = (пустое значение) для требуемого уровня иерархии, а не для всего отчета.
---
Поставить/убрать галочки в настройках ресурсов
---
Основную мысль понял. Убрать галки в Выбранные поля?! Только нужно это сделать на определенном уровне иерархии. Т.е. отдельно настроить выбранные поля для каждого уровня иерархии. Но почему-то все не выбранные поля (группы) визуально стали располагаться справа в отчете
---
да можно настроить отдельно какие поля выводить для каждой группировки.
---
Но почему поля с которых снял галку на группе ставятся последними?
---
Отвечу сам.
Происходит это потому что в группе поля нет (отключено) и значит поле из детальной записи некуда присоединить в группе и оно ставится в конце полей
Добрый день! Пишу отчет на СКД (управляемые формы, 8.3). Есть список Контрагентов с Договорами и СуммамиПоДоговору. В настройках сделала группировку по контрагенту, соответственно, в отчете мы видим список контрагентов и общую сумму по договорам в разреезе каждого контрагента, контрагентра можно развернуть и увидеть какие договора и на какую сумму у него есть. В запросе, помимо списка контрагентов с договорами, я высчитывала КурсВалюты на определенную дату и получила некое значение. Как сделать так, чтобы у меня выводились только те группировки контрагентов, у которых сумма договоров превышает значение КурсВалюты*460, если меньше, то чтобы не выводились данные по этому контрагенту. Я не могу поставить условие на СуммуПоДоговору, т.к. это будет условие на один договор, а мне нужно на сумму СуммПоДоговорам по контрагенту. Подскажите пожалуйтста!
Спасибо!
---
Решила вот так: Задала условие отбора по группировке контрагента: выделила группировку, переключила настройки с отчета на группировку и сделала отбор. Общие итоги в этом случае не пересчитываются, но ни мне не нужны и я их отключила.
---
На уровне запроса получить сумму по контрагенту, которую в ресурсы не добавлять, чтобы не суммировалось. И уже по этому полю получать отбор. 460, наверно, лучше загнать в параметр. Технически - левым соединением прилепить результат запроса, свернутый по полю контрагент/Сумма(Сумма).
---
Решила вот так: Задала условие отбора по группировке контрагента: выделила группировку, переключила настройки с отчета на группировку и сделала отбор. Общие итоги в этом случае не пересчитываются, но ни мне не нужны и я их отключила.
Добрый день,

В отчете работает расшифровка по регистратору и выводятся регистраторы и показатели отчета. Не могу понять как чтобы расшифровка работала не только по регистратору но еще добавить в расшифровке группировку по контрагенту которая есть в регистраторе?

Т.е жму расшифровать по регистратору должно выводиться

Контрагент
  Регистратор
---
http://blagin.ru/programmnoe-dobavlenie-polej-i-resursov-v-skd/
пример не 100% ваш но очень похож
---
Так задайте сначала группировку по контрагенту, а потом - по регистратору или я что-то не понял в постановке задачи?
---
У меня выводится отчет Продажи в разрезе групп контрагентов и показателя сумма продажи. При нажатии по показателю сумма продажи - расшифровать - выбираю регистратор и расшифровка выводит регистраторы и суммы продажи. Но мне необходимо чтобы расшифровка выводила группировку

Регистратор.Контрагент
  Регистратор ...
---
Понял - Вам нужна группировка внутри расшифровки. Как сделать не знаю.
Обычно в расшифровке по одному разрезу все выводят. А что мешает
(если это на СКД) сразу настроить группировки по контрагенту, а потом
по регистратору? И открывать как ветки дерева?
---
Да вот клиент хочет в расшифровке((
---
В модуль отчета добавляете обработчик события ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
А там уже проверяешь есть ли группировка Регистратор, если есть проверяете есть ли перед ней группировка Контрагент, если нет добаляете.
---
если не сложно можно пример?
---
http://blagin.ru/programmnoe-dobavlenie-polej-i-resursov-v-skd/
пример не 100% ваш но очень похож
---
Только вот при компоновке как понять что это расшифровка. Сейчас стоит задача при расшифровке вывести доп колонку программно.
---
Могу предложить статью https://infostart.ru/public/703526/
Подскажите как можно реализовать. Есть такая задача, в УТ 10.3 при начале работы системы запускаются формы обработки, в процессе рабочего дня они могут быть закрыты, но на следующий день в начале рабочего дня их заново надо запустить. Как это можно реализовать?
Была реализация через обработчик ожидания, но там интервал стоял допустим через 8 часов снова открыть, но некорректно срабатывала, так как пользователь мог закрыть базу или она у него вылетела и соответственно при запуске в течение дня сбивала эту настройку, то есть уже формы откроются не в начале дня, а середине дня.
---
тут наверно лучше будет перед выставлением таймера проверить какое время ближе, утреннее или вечернее и на него выставить обработчик. После наступления события снова проверять какое время ближе, то же самое делаем при открытии сеанса. Получится, что одна процедура будет обслуживать все варианты использования.
---
Обработчик ожидания с интервалом минут в 10, в нем проверять текущее время
---
задать идентификатор формы, и время можно не проверять
---
спасибо, так и сделал, описал процедуру ПроверкаНачалаДня, там условие Если ВремяНачалаДня = Час(ТекущаяДата()) Тогда, где ВремяНачалаДня = 8
и ниже запуск открытия форм, и обработчик ожидания с интервалом в час, вроде должно работать
---
А если в модуле управляемого приложения в процедуре "ПриНачалеРаботыСистемы" открывать форму обработки ? там же и текущее время можно проверять
---
Мне кажется вам нужно сделать и автооткрытие формы при запуске сеанса и обработку ожидания с запланированной проверкой (на 8 часов утра например) на случай если пользователь форму закроет, а сеанс останется включенным. Т.е. при запуске запускаем форму и считаем количество секунд до следующего начала рабочего дня, на это время ставим обработчик ожидания.
---
так и было реализовано, но бывают ситуации когда базу перезапускают, от этого таймер уже начинает вести отчет от момента запуска
---
значит не до конца правильно было реализовано, можно рассчитать время и ставить таймер точно на оставшееся время до начала следующего рабочего дня.
---
согласен, даже удобнее, спасибо, правда тут теперь еще условие добавилось, повторно открывать формы не только в начале рабочего дня( в 8ч ), но и перед концом рабочего дня (в 17-30)

тут получается еще одну процедуру надо делать, чтобы вызывать обработчик именно на вечер?
---
тут наверно лучше будет перед выставлением таймера проверить какое время ближе, утреннее или вечернее и на него выставить обработчик. После наступления события снова проверять какое время ближе, то же самое делаем при открытии сеанса. Получится, что одна процедура будет обслуживать все варианты использования.
---
да, так практически и сделал, процедура для определения периода времени и возвращает значение до ближайшего события, спасибо
---
При старте системы определять время, если оно например в периоде с 08:00 до 10:00 то открывать форму
для пользователя сохранять данные в хранилище - смотреть если сегодня открыли - уже не открывать.
Как с регистра сведений вытащить данные и поместить эти данные в таблицу ?

Помогите решить задачу:

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

```1c
    Сведения=РегистрыСведений.СведенияОЗаказах.ПолучитьПоследнее(КонецДня(ТекущаяДата()),
    Новый Структура("Заказ",Заказ1));
    Для каждого Эл Из Сведения Цикл
    Если Эл.Ключ="НомерЗаказа" Тогда
    Продолжить;
    КонецЕсли;
    Объект[Эл.Ключ]=Эл.Значение;
    КонецЦикла;
```
---
1. Выполнить запрос к регистру ведомостей местонахождения ТС.
2. В цикле обойти результат запроса
3. Добавить все что нужно в табчасть нового документа Ввод в эксплуатацию
---
Лучше
1. Выполнить запрос с нужными отборами
2. загрузить результат в ТЧ
---
А можно как то сделать без запроса?
---
можно - пускай пользователь их вбивает в документ руками
---
Можно и без запроса. Но для этого надо знать структуру регистра, и есть ограничения на выборку данных таким образом.
Запросом надо выбирать.
---
Да, можно через НаборЗаписей:

1. Получить набор записей регистра ведомостей местонахождения ТС.
2. В цикле обойти записи набора
3. Добавить все что нужно в табчасть нового документа Ввод в эксплуатацию
---
1. создать набор записей
2. наложить отбор
3. прочитать
4. обойти в цикле
---
ахахаха

объектная техника - все эти ваши менеджеры записей - это тоже запрос.
---
объектная техника - все эти ваши менеджеры записей - это тоже запрос.
А с этим кто то спорит?
---
ну дык в (3) хотют без запроса
---
В 3 хотят без запроса на языке 1С, а в объектной модели. А уже как там движок работает в 3 не знают.
---
А циклом то зачем обходить? Выгузить(), Загрузить()
---
Сам пока новичок в 1с можно примерную реализацию?
---
Сам пока новичок в 1с можно примерную реализацию?
А там где тебе дали такое задание книжку Радченко "Практическое пособие разработчика" не дают? Сразу отправляют задачу решать?
---
А где в Радченко такое описано?
---
А где в Радченко такое описано?
"Послание к Гарсии" читать до полного просветления....
---
У меня вопрос не по теме. Допустим у меня на одном устройстве обмен прошел и данные загрузились. Добавляю приложение на новое устройство, обмен идет, но ничего не передается. Как передать существующие данные на новое устройство? Подскажите пожалуйста
---
Осуществляю обмен между центральной базой 1с 8.3 и мобильным приложением.
---
Ну создайте новую тему, в чем проблема.
---
https://forum.infostart.ru/forum92/topic190087/
---
Пример без запроса:

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

(1) Третий параметр метода выбрать как раз Отбор, имеющий тип структуры. Согласно СП это может быть только один реквизит, для которого установлен признак индексирования в "Индексировать".

В вашем случае, будет примерно так:

```1c
    ДанныеПоступлениеТоваровУслуг = Документы.ПоступлениеТоваровУслуг.Выбрать(ДатаНач,КонецДня(ДатаКон), Новый Структура("Партнер",СсылкаНаПартнера));
```
---
А если мне нужно сделать отбор "В ИЕРАРХИИ"? Я же не могу написать
Новый Структура("Партнер",В ИЕРАРХИИ(СсылкаНаПартнера))
---
Это уже только запросом. Выборка предназначена для простых случаев, когда лень писать запрос. Ну и это ещё эхо от 7.7 осталось.
---
Спасибо! Это и хотел выяснить
---
Та нет, в общем то, просто интересно можно ли реализовать такой отбор вне запроса
Добрый день! Подскажите что не так, не могу найти в чем причина, есть типовой отчет Ведомость по товарам на складах, копированием добавил в ветку конфигурации, изменил его(добавил свои поля) после в режиме предприятия формируется без оформления, если открыть внешне, то нормально формируется с оформлением как у стандартных отчетов....
---
так не надо ничего запросе добавлять - достаточно добавить пользовательские поля в пользовательском режиме в "Изменить вариант отчета". Дальше в "Выбрать вариант" можно будет выбирать этот сохраненный вариант отчета.
---
Восстановить стандартные настройки, потом зайти в вариант и посмотреть схему оформления.
---
восстанавливал не помогло, схему оформления где смотреть?
---
В (6) ответили. "Все действия" - "Изменить вариант"
---
а зачем так извращаться-то? Просто добавляете вариант, добавляете туда пользовательское поле и пишите там Ваш код - профит!
---
если добавить свой вариант, и в запросе добавлять необходимые поля, то в режиме предприятия он не отображает добавленный вариант, что то необходимо еще прописать?
---
так не надо ничего запросе добавлять - достаточно добавить пользовательские поля в пользовательском режиме в "Изменить вариант отчета". Дальше в "Выбрать вариант" можно будет выбирать этот сохраненный вариант отчета.
---
теперь понял, спасибо
Здравствуйте.
Есть документ "КС".
У этого документа есть реквизиты "Количество", "Сумма" и "НомерЗадания"
Также этот документ делает движение, при проведении, по регистру накопления "Выработка" с измерением "НомерЗадания" и ресурсами "Количество" и "Сумма".

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

    Результат=Запрос.Выполнить().Выбрать();

    Результат.Следующий();
    Объект.Количество = Результат.КоличествоОборот;
    Объект.Сумма = Результат.СуммаОборот;

    КонецПроцедуры

    &НаКлиенте
    Процедура ЗаполнитьПоРегистру(Команда)

    Если ЗначениеЗаполнено(Объект.НомерЗадания) Тогда

    ЗаполнитьПоРегиструНаСервере();

    КонецЕсли;

    КонецПроцедуры
```

Но при отработке кода данные в указанные поля не попадают.
Подскажите, может можно как-то другим способом заполнять реквизиты данными из регистра?
Спасибо.
---
Все, разобрался. Забыл в процедуру вывода добавить мою функцию.
---
Все, разобрался. Забыл в процедуру вывода добавить мою функцию.
Доброго времени. Начал готовится к экзамену на спеца и встрял на первой задаче. Все вроде сделал, но в отчете, в таблице должно быть два склада, а выходит один. Причем консолью запросов тоже тянет только один. В регистре два склада. Ничего не могу понять, тыкните носом.
---
по дополнительному складу тупо нет остатков. Сколько пришло, столько и ушло.
Еще большой минус - совершенно не правильно настроена обработка проведения реализации.
---
а в чем суть задачи то? судя по данным, отображать будет по разному в зависимости от времени заданном в отчете
---
по дополнительному складу тупо нет остатков. Сколько пришло, столько и ушло.
Еще большой минус - совершенно не правильно настроена обработка проведения реализации.
---
А что именно не правильно? Так преподаватель говорил и показывал.
---
Я попробовал уменьшить количество реализованных товаров. Не дало провести: "Не хватает". Значит что-то с расчетом остатков у проведенных документов.
---
Так это как бы контроль, если на складе не хватает остатков, то и не должен проводить.
---
на счет складов, точно, видимо вечер уже, затупил, спасибо.
---
Вот
---
не то скинул, скинул, которую разбирал преподаватель, сделал все как в ней, но у него в отчете оба склада, а у меня один. Вот мой файл.
---
Ну вроде про то что остатков нет уже разобрался? тогда совет - посмотри решения на форуме чистова, я по нему готовился недавно и легко сдал
---
Спасибо.Посмотрю.