arefaste/1C_Forums huggingface dataset:
Доброго времени суток.
Подскажите пожалуйста, как сделать нумерацию на страницах отчёта Унифицированная форма 0504417? Конфигурация "Зарплата и кадры бюджетного учреждения, 1.0".
---
Нумерацию где именно? В колонтитуле или в макете?
Если в колонтитула то что-то в духе

```1c
    ТабДокумент.ВерхнийКолонтитул.ТекстСлева = "Страница [&НомерСтраницы] из [&СтраницВсего]";
    ТабДокумент.РазмерКолонтитулаСверху = 10;
    ТабДокумент.ВерхнийКолонтитул.Выводить = Истина;
```
---
Нумерацию где именно? В колонтитуле или в макете?
Если в колонтитула то что-то в духе

```1c
    ТабДокумент.ВерхнийКолонтитул.ТекстСлева = "Страница [&НомерСтраницы] из [&СтраницВсего]";
    ТабДокумент.РазмерКолонтитулаСверху = 10;
    ТабДокумент.ВерхнийКолонтитул.Выводить = Истина;
```
Добрый день, есть необходимость дублировать номер документа в поле доп реквизита, подскажите как перезаписать доп реквизит. Добавил в процедуру "ПриЗаписи" такой кусок кода, но он его присваивает, но не перезаписывает:

```1c
    ДокОбъект = Ссылка.ПолучитьОбъект();

    Для каждого Элемент из ДокОбъект.ДополнительныеРеквизиты Цикл
    Если Элемент.Свойство.Имя = "Номер1С" Тогда
    Элемент.Значение = Номер;
    Элемент.ТекстоваяСтрока = Номер;
    КонецЕсли;
    КонецЦикла;
```
---
попробуйте так

```1c
    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

    Для Каждого Элемент Из ЭтотОбъект.ДополнительныеРеквизиты Цикл

    Если Элемент.Свойство.Имя = "Номер1С" Тогда
    Элемент.Значение = Номер;
    Элемент.ТекстоваяСтрока = Номер;
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры;
```
---
а где у вас запись происходит? Вы ведь только получаете объект, нужно его еще и записать: ДокОбъект.Записать();
---
Нет, документ уже существует, а прописать в модуле "ДокОбъект.Записать()" вызывает ошибку естественно
---
попробуйте так

```1c
    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

    Для Каждого Элемент Из ЭтотОбъект.ДополнительныеРеквизиты Цикл

    Если Элемент.Свойство.Имя = "Номер1С" Тогда
    Элемент.Значение = Номер;
    Элемент.ТекстоваяСтрока = Номер;
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры;
```
---
Для Каждого Элемент Из ЭтотОбъект.ДополнительныеРеквизиты Цикл

Если Элемент.Свойство.Имя = "Номер1С" Тогда
Элемент.Значение = Номер;
Элемент.ТекстоваяСтрока = Номер;
КонецЕсли;
КонецЦикла;

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

Благодарю, помогло
Как вывести программно созданный отбор динамического списка на форму?
Цель задать определенные фильтры, значения которых будут подставляться руками.

Мой код

```1c
    ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Состояние");
    ЭлементОтбора.Использование = Ложь;
    ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
```

В результате не вижу свой созданный отбор. Чего мне хватает?
---
Если у списка установлено свойство "Группа пользовательских настроек", то достаточно вызвать метод СоздатьЭлементыФормыПользовательскихНастроек

А для особо ленивых поиск по форуму есть
https://infostart.ru/1c/articles/839438/
---
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка()
---
Ну так это еще надо программно создать реквизит формы, потом элемент формы, привязать к нему обработчик события ПриИзменении.
---
Если у списка установлено свойство "Группа пользовательских настроек", то достаточно вызвать метод СоздатьЭлементыФормыПользовательскихНастроек

А для особо ленивых поиск по форуму есть
https://infostart.ru/1c/articles/839438/
Добрый день.
Подскажите, пожалуйста.
1с8 УТ 11, УФ.
Создала расширение, добавила в него документ Заказ клиента. Там создала новую колонку с типом Строка.
Вношу информацию, но она после записи не сохраняется.
Добавляю и послеЗаписиПосле и ПослеЗаписиНаСервереПосле и всё равно очищается...
Может подскажете после какой процедуры надо перезаписать значения на форму и как лучше сделать?
Спасибо
---
В документе реквизит создайте Заказ клиента, и будет вам счастье. А вы, судя по всему, на форме документа реквизит создали.
---
колонку добавили прямо на форме?
Чтобы данные сохранялись, нужно в дереве метаданных добавить как реквизит табличной части документа. Предварительно заимствовать эту ТЧ.
---
В документе реквизит создайте Заказ клиента, и будет вам счастье. А вы, судя по всему, на форме документа реквизит создали.
---
колонку добавили прямо на форме?
Чтобы данные сохранялись, нужно в дереве метаданных добавить как реквизит табличной части документа. Предварительно заимствовать эту ТЧ.
---
блин, Спасибо! а главное, в другой базе реквизит добавляла в дереве и сижу, не могу понять что не так))
извините за глупый вопрос!
Убрать время из даты в запросе или схеме СКД

Есть запрос, надо вывести в Дате только дату, без времени.

```1c
    ВЫБРАТЬ
    ВТ_Факт.Подразделение,
    ВТ_Факт.ФизЛицо,
    ВТ_Факт.Номенклатура,
    ВТ_Факт.ДатаПередачи
```
---
Вкладка "набор данных", в колонке "выражение представления" написать Формат(ДатаПередачи, "ДФ=dd.MM.yyyy")
---
Вкладка "набор данных", в колонке "выражение представления" написать Формат(ДатаПередачи, "ДФ=dd.MM.yyyy")
---
Формат(ДатаПередачи, "ДФ=dd.MM.yyyy")

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

Даю права например на документ Реализация товаров, Счет покупателя, Счет фактура выданная и вижу, что в режиме предприятия пользователь не может редактировать такие поля как Дату документа и Номер документа, т.е. нет прав на стандартные реквизиты.

Как и где это настраивается ?
---
Там же, в роли.
В платформе есть ошибка, что по умолчанию не проставляются права на стандартные реквизиты в роли расширения.
Поэтому надо самостоятельно дать права на них.
---
Там же, в роли.
В платформе есть ошибка, что по умолчанию не проставляются права на стандартные реквизиты в роли расширения.
Поэтому надо самостоятельно дать права на них.
---
Что-то я их не заметила - спасибо
---
Наверно стоит почитать:
Влияние свойства «Использовать основные роли для всех пользователей» на доступность расширения конфигурации

З.Ы. Не совсем правильно понял вопрос... Поэтому дал ссылку
если не ошибаюсь, для документа можно сделать так:

```1c
    ПараметрыОткрытия = новый Структура("Ключ", Объект);
    ОткрытьФорму("Документ.СвойДокумент.Форма.ФормаТЧ", ПараметрыОткрытия);
```

но с обработкой так не получается. табличная часть объекта в открывающейся форме пустая. можно ли открыть форму обработки с доступом к данным табличных частей или реквизитов данной обработки?
---
```1c
    Форма = ПолучитьФорму("Обработка.МояОбработка.Форма.ВтораяФорма");
    КопироватьДанныеФормы(Объект, Форма.Объект);
    Форма.Открыть();
```
---
Если не изменяет память, то как то так:

МояФорма = ПолучитьФорму("Документ.СвойДокумент.Форма.ФормаТЧ");
МояФорма.НужныйРеквизит = НужноеЗначение;
МояФорма.Открыть();
---
Нужно создать новый объект с заполненной табличной частью или получить табличную часть уже существующего объекта?
---
уже существующего.
---
а зачем открывать форму тогда? Напишите запрос и получите нужные данные
---
потому что в открывающейся форме нужно показать содержимое табличной части.
---
```1c
    Форма = ПолучитьФорму("Обработка.МояОбработка.Форма.ВтораяФорма");
    КопироватьДанныеФормы(Объект, Форма.Объект);
    Форма.Открыть();
```
---
да, получилось. спасибо! а если реквизитов много, а нужен только один?
---
Правильно передавать заполняемые значения через параметры, и обрабатывать их в форме, в процедуре при создании на сервере.
Любое получение формы в переменную нежелательно.
https://infostart.ru/1c/articles/236382/
---
я вначале так и делал. а потом задался вопросом, нельзя ли без лишних телодвижений получить результат. благо, в моём случае реквизитов мало.
---
а так уже не работает:

```1c
    Результат = Форма.Открыть();
```

Обращение к процедуре объекта как к функции (Открыть)
хотя тут даётся именно такой вариант.
---
Результат = Форма.Открыть();
Это от 8.2, 8.1. Правильно
```1c
    Результат = Форма.ОткрытьМодально();
```
---
да, спасибо!
Версия 8.3.18, консоль Инструменты разработчика, обычные формы

 В первом случае работает ДобавитьКДате, во втором - выдает ошибку.

```1c
    ВЫБРАТЬ
    ВТ_Факт.Подразделение,
    ВТ_Факт.ФизЛицо,
    ВТ_Факт.Номенклатура,
    ВТ_Факт.ДатаПередачи,
    1 КАК Количество_План,
    ВТ_План.СрокНоски КАК СрокРегистра,
    ВТ_Факт.СрокСвойства,
    ВЫБОР
    КОГДА ВТ_План.СрокНоски <> NULL Тогда
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВТ_План.СрокНоски)
    КОГДА ВТ_План.СрокНоски = NULL Тогда
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВТ_Факт.СрокСвойства)
    КОНЕЦ КАК ДатаИзноса
```

Ошибка:
Текст запроса: Строка кода 69: {(69,45)}: Неверные параметры "ДОБАВИТЬКДАТЕ"
ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, <<?>>ВТ_Факт.СрокСвойства)

Хотя и ВТ_Факт, и ВТ_План находятся в одном запросе ))
---
Да, сработал такой вариант:

```1c
    ВЫБРАТЬ
    ВТ_Факт.Подразделение,
    ВТ_Факт.ФизЛицо,
    ВТ_Факт.Номенклатура,
    ВТ_Факт.ДатаПередачи,
    1 КАК Количество_План,
    ВТ_План.СрокНоски КАК СрокРегистра,
    ВТ_Факт.СрокСвойства,
    ВЫБОР
    КОГДА ВТ_План.СрокНоски ЕСТЬ NULL Тогда
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВЫРАЗИТЬ(ВТ_Факт.СрокСвойства КАК ЧИСЛО))
    ИНАЧЕ
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВТ_План.СрокНоски)
    КОНЕЦ КАК ДатаИзноса
```
---
какой тип данных в ВТ_Факт.СрокСвойства?
Ну и правильно использовать условия для ВЫБОР будет так:

```1c
    ВЫБОР
    КОГДА НЕ ВТ_План.СрокНоски ЕСТЬ NULL Тогда
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВТ_План.СрокНоски)
    КОГДА НЕ ВТ_План.СрокСвойства ЕСТЬ NULL Тогда
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВТ_Факт.СрокСвойства)
    ИНАЧЕ ВТ_Факт.ДатаПередачи
    КОНЕЦ КАК ДатаИзноса
```
---
Не видно, что такое у вас "СрокСвойства". Попробуйте явно выразить его как число.
---
Некорректно писать = Null или <> Null
Используйте ЕСТЬ NULL или НЕ ЕСТЬ NULL
---
Переписал так:

```1c
    ВЫБОР
    КОГДА ЕСТЬNULL(ВТ_План.СрокНоски,0) Тогда
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВТ_Факт.СрокСвойства)
    КОГДА НЕ ЕСТЬNULL(ВТ_План.СрокНоски,0) Тогда
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВТ_План.СрокНоски)
    КОНЕЦ КАК ДатаИзноса
```

Все равно:

Текст запроса: Строка кода 67: {(67,45)}: Неверные параметры "ДОБАВИТЬКДАТЕ"
ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, <<?>>ВТ_Факт.СрокСвойства)
---
Да, сработал такой вариант:

```1c
    ВЫБРАТЬ
    ВТ_Факт.Подразделение,
    ВТ_Факт.ФизЛицо,
    ВТ_Факт.Номенклатура,
    ВТ_Факт.ДатаПередачи,
    1 КАК Количество_План,
    ВТ_План.СрокНоски КАК СрокРегистра,
    ВТ_Факт.СрокСвойства,
    ВЫБОР
    КОГДА ВТ_План.СрокНоски ЕСТЬ NULL Тогда
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВЫРАЗИТЬ(ВТ_Факт.СрокСвойства КАК ЧИСЛО))
    ИНАЧЕ
    ДОБАВИТЬКДАТЕ(ВТ_Факт.ДатаПередачи, МЕСЯЦ, ВТ_План.СрокНоски)
    КОНЕЦ КАК ДатаИзноса
```
---
Нельзя указывать поле как количество добавляемых единиц даты.
---
это о чем?

Вообще, здесь именно количество добавляется

 ДОБАВИТЬКДАТЕ(<Исходная Дата>, <Единица Измерения>, <Количество>)
---
не поле таблицы. Просто число. ЕСТЬ NULL в вышеуказанном случае пишется раздельно.
Я в коде увидел вот такое логическое выражение

```1c
    ((ДатаПоследОтвета+60*60*24*30<ТекущаяДата() и ДатаПоследОтвета<>Дата(1,1,1)) или ДатаПоследЗапроса+60*60*24*30<ТекущаяДата())
```

причем ДатаПоследОтвета это тип даты, как это работает дата плюс булево, да потом логические операторы?
---
ДатаПоследОтвета+60*60*24*30 это означает некоторая дата плюс к ней 60 дней меньше чем текущая дата.
---
ДатаПоследОтвета+60*60*24*30 это означает некоторая дата плюс к ней 60 дней меньше чем текущая дата.
---
ссори про приорететы операций забыл, я обычно скобки на всякий случай делаю, для понятности
а это чужой код
---
почему 60 дней а не 30?

60 секунд * 60 минут * 24 часа * 30 дней.
---
ну два месяца
я выше написал, я приоритетность операций забыл,
глянув сразу, ни пробелов ни скобок, мне показалось так

```1c
    ДатаПоследОтвета +( 60*60*24*30<ТекущаяДата() )
```

сначала сравнение а потом к дате прибавляется булево, шарики стукнулись, потом дошло
---
:)
---
Чуваки не в курсе, что "60 секунд * 60 минут * 24 часа * 30 дней "-> количество секунд за тридцать дней.
---
обычная булева алгебра.

```1c
    ((ДатаПоследОтвета+60*60*24*30<ТекущаяДата() и ДатаПоследОтвета<>Дата(1,1,1)) или ДатаПоследЗапроса+60*60*24*30<ТекущаяДата())

    ДатаПоследОтвета+60*60*24*30<ТекущаяДата() = или Истина или Ложь.
    ДатаПоследОтвета<>Дата(1,1,1) = или Истина или Ложь
    ДатаПоследЗапроса+60*60*24*30<ТекущаяДата() = или Истина или Ложь.
    Итого имеем как один из вариантов:
    ((Истина и Ложь) или Истина)
```
---
ДатаПоследОтвета заполнена и она старше минимум на 30 дней текущей даты
или
ДатаПоследЗапроса старше минимум на 30 дней текущей даты (проверки на заполнение нет)
Тут Зуп 2,5 на 8,2
До меня делали документ и электронную рассылку писем. Одно письмо приходит каждый день человеку и он просит отключить это сообщение.
Я никак не пойму где эти письма формируются.
Смотрел регзадания по письмам - там отправка идет из документа "Электронное письмо", там вроде записей нет, открыл в режиме предприятие.
Его рез заданий не нет, в стандартных он вроде тоже свой код не добавлял, по крайней мере, рем пометок нету. Искал глобальным поиском часть текста сообщения и его документ - ничего не нашел.
---
есть нашел.
Это внешняя обработка запускается с командной строки как простая регламентная задача винды
Вспомнил, когда по серверу лазил этот батник нашел, даже и не знал что так можно
---
Конфигурация - Сравнить конфигурации, внимательно посмотреть чужой код.
---
так я ищу код на рабочей базе, сравнивать не чего
---
основную конфигурацию и конфигурацию поставщика. Вы не в теме?
---
,(4)Что такое основная конфа и конфа поставщика я знаю, но конфы поставщика дано нет, версию в начале посмотрите.
И я работаю с документом который был вообще добавлен в основную.
---
конфы поставщика дано нет, версию в начале посмотрите
ага, она покинула чат. Я всё посмотрел.

(5) Что такое основная конфа и конфа поставщика я знаю
есть сомнения
---
Честно, без разницы откуда этот документ взялся. Нужно найти место в коде где это письмо добавляется.
Оно я так понял может добавляться в документ "Электронное письмо", или прямо формироваться и отправляться где то из кода.
ВОт у меня есть текст сообщения пришедшего к человеку и имя объекта конфигурациию Ничего не нашел глобальным поиском
---
так код рассылки не обязательно должен быть в документе. Я вам предлагал взглянуть на все изменения, которые вносились в конфигурацию сторонними программистами.
---
Я понимаю что код может быть где угодно, по этому использовал глобальный поиск, рад бы сравнить, но говорю ж версия Зуп 2,5 больно старая, как минимум не последняя, я врятли ее найду, да и еще, платформа 8,2. Я как то делал сравнение конфигураций на ней - так она просто показывал что модули отличаются, а какой код различен как в 8,3 не показывала, вот тогда я вперся
---
Может используется внешняя обработка добавленная в базу, а в этой обработке формируется письмо.
P.S как догадка
---
Неа нету,
---
Общие макеты смотрели?
---
Да смотрел, сразу
Чудеса какие то
ВОт текст сообщения "Внимание! Есть не отработанное обращени по качествы №000000056 от 11.08.2021 16:45:21: по переписки нет движения более 30 дней."
тут искать то особо не чего.
Сейчас пробовал искать н файловой копии - то же нулевой результат
---
А может этому человеку и не от вас вовсе приходит письмо?
---
есть нашел.
Это внешняя обработка запускается с командной строки как простая регламентная задача винды
Вспомнил, когда по серверу лазил этот батник нашел, даже и не знал что так можно
---
Нормально!!! О таких вещах забывать нельзя)))
---
Да я самоучка, я честно не знал что можно обработку из командной строки запускать,
голову сломал пытаясь понять все это
Когда то попадался мне внешняя обработка для 1С которая генерировала скрипт/батник для архивации базы 1С

Там была опция (для скрипта VBS или WHS) когда некой утилитой он подвергался обфускации

сама утилита была в обработке и дана ссылка где можно скачать... (Вроде с MS)

Может кто даст ссылку на публикацию (обработку) или "компилятор" скрипта...

СПАСИБО?
---
Но меня интересует на сам скрипт, а его "обфускация" Тогда зачем было привязываться к Инфостарту? А, ну да, что-то видел тут "примерно 7 лет назад"...

А видел, видимо, упоминание Microsoft Script Encoder: https://wm-help.net/lib/b/book/1239221356/121

Вот только с сайта MS он удален, так что ссылки того... протухли.

Ну да ничего, найдете где-нибудь, а если нет - поможем... может быть... за отдельную плату. ;)
---
Может кто даст ссылку на публикацию (обработку) или "компилятор" скрипта... Может быть, может быть...
---
Сообщение было скрыто модератором.
---
Спасибо
но не уверен что VBS останется рабочим...

То что я припоминаю - было бесплатным
---
infostart.ru/public/15907
---
infostart.ru/public/15907

Визуально не оно... Попробую... Тогда определюсь с $m
---
Визуально не оно... Попробую... В (4) - тоже "не оно"?
---
Та была не для SQL...

И где то внизу справа - кнопочка: "Создать скрипт" (Выгрузить, записать, ...)
Ещё на обычных формах.

З.Ы. Ссылки в ней я тоже смотрел
---
Та была не для SQL...

И где то внизу справа - кнопочка: "Создать скрипт" (Выгрузить, записать, ...) Ну, бог в помощь! А для меня второй раз восстанавливать провалы в чужой памяти - занадто.

P.S. В предложенной мной обработке есть функция обфускации скрипта, и ее оттуда можно позаимствовать. А заниматься этим или надеяться на какую-то мифическую (погуглите "vbs компилятор") бесплатную утилиту - дело хозяйское.
---
Нет.

Там было проще: Скрипт передавался параметром, и на выходе "нечитабельный" рабочий скрипт
---
Последний раз я видел єту обработку примерно лет 7 назад
---
Последний раз я видел єту обработку примерно лет 7 назад Это значительно облегчает поиск! Теперь ждите результат.

Только обязательно дождитесь, не уходите! ;)
---
Последний раз я видел єту обработку примерно лет 7 назад

http://dop.a-franch.ru/public/324286/ может оно
---
Спасибо

Но меня интересует на сам скрипт, а его "обфускация"
---
Но меня интересует на сам скрипт, а его "обфускация" Тогда зачем было привязываться к Инфостарту? А, ну да, что-то видел тут "примерно 7 лет назад"...

А видел, видимо, упоминание Microsoft Script Encoder: https://wm-help.net/lib/b/book/1239221356/121

Вот только с сайта MS он удален, так что ссылки того... протухли.

Ну да ничего, найдете где-нибудь, а если нет - поможем... может быть... за отдельную плату. ;)
---
Привязывался к ИС - потому что когда то скачивал эту обработку отсюда...

Но по поиску не нашёл...
В истории своих скачиваний - тоже не обнаружил...
(Потратил на это более 2-х часов, и после безуспешных поисков - поэтому и попросил здесь помощи)

Да это то что я искал.

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

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

Или аналогично - в документе, например, в комментарии.
---
понял, спасибо!
---
для справочников есть свойства, можно в них ссылки хранить
---
Спасибо!
Здравствуйте уважаемые форумчане
Пытаюсь выгрузить значения в Таблицу значений с ДанныеФормыКоллекция, данные выгружаются но колонка с типом СправочникСсылка.Номенклатура выгружается как Строка а ни как тип СправочникСсылка.Номенклатура, платформа 1С 8.2 самописная конфа на УФ, код;

```1c
    ВТ = Новый ТаблицаЗначений;
    Номенклатура = Новый ОписаниеТипов("СправочникСсылка.Номенклатура");
    ЦенаОтбора = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(18, 2, ДопустимыйЗнак.Любой));
    Выбран = Новый ОписаниеТипов("Булево");
    ВТ.Колонки.Добавить("Наименование",Номенклатура,"Наименование (у поставщика)");
    ВТ.Колонки.Добавить("Цена",ЦенаОтбора,"Цена");
    ВТ.Колонки.Добавить("Выбран",Выбран,"Перенести");
    ВТ = ВыборВЗаказ.Выгрузить(,"Наименование,Цена,Выбран");

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Таблица", ВТ);

    Запрос.Текст =
    "ВЫБРАТЬ
    | Таблица.Наименование КАК Наименование,
    | Таблица.Цена КАК Цена,
    | Таблица.Выбран КАК Выбран
    |ПОМЕСТИТЬ Таблица
    |ИЗ
    | &Таблица КАК Таблица
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | Таблица.Наименование КАК Наименование,
    | МИНИМУМ(Таблица.Цена) КАК Цена
    |ИЗ
    | Таблица КАК Таблица
    |
    |СГРУППИРОВАТЬ ПО
    | Таблица.Наименование";

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

колонка "Наименование" во временную таблицу выгружаются уже с типом строка до выполнение самого запроса а нужно как как СправочникСсылка
Подскажите где я накосячил?
---
Ну а там тип колонки Наименование какой?
---
ВТ = ВыборВЗаказ.Выгрузить
после этой строки все ваши определения типов затираются
---
вместе с колонками
---
ВТ = ВыборВЗаказ.Выгрузить(,"Наименование,Цена,Выбран");
вот тут надо смотреть, чтобы нужные типы определены были
скорее всего там как раз и есть строка, вместо ссылки справочника

ну и как-то странно определять типы таблицы. а потом ее просто перезаписывать неким Выгрузить(), при этом же все типы меняются на то, что выгружается

ЗЫ пока писал, коллега тоже самое указал...
---
я понял, а по другому эту задачу возможно выполнить?
---
ВыборВЗаказ - это что?
---
Это таблицазначений на форме, в отладчике видна как данныеформыколлекция
---
Ну а там тип колонки Наименование какой?
---
блин вот я баран, там и вправду строка только заметил
---
конфу не я писал только начал дорабатывать видимо просмотрел, спасибо что указали ошибку
---
И весь код с созданием ВТ в топку, он не нужен, как-то так:

```1c
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Таблица", ВыборВЗаказ.Выгрузить(, "Наименование, Цена, Выбран"));
```
---
Спасибо огромное
Доброе время суток, уважаемые.

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