arefaste/1C_Forums huggingface dataset:
Здравствуйте, уважаемые участники форума!
У меня такой вопросик, как подсчитать количество только договоров? (скрин ниже) Сейчас подсчитываются все записи регистратора, принадлежащие договору, а мне нужно количество только самих договоров.
Заранее спасибо!
Отчет сделан на СКД
---
Способов множество. Например, если на уровне регистратора показатель количества заключенных договоров не имеет смысла, то можете на закладке "Ресурсы" СКД повторно добавить поле количества, в выражении указать "0", "NULL" или "Неопределено", а в колонке "Рассчитывать по..." выбрать "Регистратор".
---
ну уберите в настройках отчета "Регистратор"...

Вот он где Шпак, теперь... В охотники-рыболовы пошёл....
---
регистратор необходим :c
---
тогда нужно смотреть процедуру формирования отчета.
---
отчет сделан на скд
---
отчет сделан на скд

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

Схему отчета надо смотреть, в любом случае.
---
В выражении ресурса для поля "Количество заключенных договоров" укажите выражение "Количество(Различные Договор)".
---
сейчас так и стоит, считаются и записи по регистратору
---
Трудно судить по снимку отчета, который Вы привели в своем посте, т.к. он соответствует описанию задачи. Либо я Вас не до конца понимаю, извините.

Не могли бы Вы привести снимок экрана с ошибочно рассчитанными колонками, а также снимки с выражениями для расчета поля "Количество заключенных договоров"?
---
прошу прощения, написала большую глупость :c
У нижнего уровня группировки в поле "Количество заключенных договоров" выводятся единички, но они всё-таки не влияют на общий итог. Можно ли как-то не выводить эти единички на уровне записей регистратора?
---
Способов множество. Например, если на уровне регистратора показатель количества заключенных договоров не имеет смысла, то можете на закладке "Ресурсы" СКД повторно добавить поле количества, в выражении указать "0", "NULL" или "Неопределено", а в колонке "Рассчитывать по..." выбрать "Регистратор".
---
Огромное Вам спасибо! Получилось!
---
Что то намудрили с итогами, поэтому ошибка.
Попробуйте все итоги убрать, и сделать по количеству договоров (различные), а потом уже другие итоги добавлять
---
Чтобы в поле количество договоров показывалось количество договоров, а не количество регистраторов надо только у одного регистратора единичку выводить.
Как вариант, в отдельной таблице можно сделать группировку Договор - регистратор (максимум) и для этого регистратора эту самую единицу и выводить.
Добрый день! есть группировка колонок по Виду начисления, в ней список нескольких полей и есть поле, которое нужно отображать только для одного вида начисления
Скриншот прикрепил

Подскажите, пжлст
---
если не нужен порядок колонок, то добавить еще одну группировку (колонок), в которой настроить свой состав полей. ну и отбор настроить для обеих группировок
---
Через условное форматирование. Если Вид начисления <> "нужное" тогда, для нужного поля, Текст = "---" или можно цвет шрифта сделать белым, или фон черным
---
оформлением не подходит. Через условное оформление получилось скрыть, установив максимальную ширину -1, но пользователь выгружает затем в Excel и там эта колонка разворачивается, даже с пустым текстом сама колонка есть...
http://prntscr.com/p2izvy
---
Через выбор когда можно условие тоже поставить
---
но это же поле все равно будет, просто с пустыми значениями
---
если не нужен порядок колонок, то добавить еще одну группировку (колонок), в которой настроить свой состав полей. ну и отбор настроить для обеих группировок
---
ооо, нифига себе, спасибо большое, идеально работает, я бы не додумался!:)
Добрый день!
Подскажите пожалуйста, есть отчет на скд, в отчете в колонках указаны все магазины из справочника, а в строках номенклатура, при пересечении, если товар есть в магазине, то ставится 1, если нет, то 0. Есть такие номенклатуры, которых нет ни в одном магазине, соответственно по всем колонкам 0.Так вот сам вопрос: как не выводить строки, в которых 0 стоит по всем магазинам?
---
1. может запрос нужно по-другому написать - брать в качестве основной таблицы источника - таблицу остатков по складам, тогда заведомо не будет товара, которого нет ни в одном магазине
2. еще как вариант на уровне группировки строки в настройках СКД сделать отбор по количеству и в доп. настройках этой группировки указать Не выводить отбор
---
Посчитать итог по сроке? Где по нолям - не выводить.
---
Может на уровне запроса отобрать такие?
---
на уровни запроса я могу отобрать для одной номенклатуры, но не для всей сторки
---
на уровне запроса вы можете сделать все что угодно.

сверху создайте пакет с полем НетТовараВоВсехМагазинах
затем Вт этого пакета соедините с результурующим пакетом с соединением по номеклатуре

можно все сделать и в вычисляемом поле через выражения, но в запросе для этой задачи будет оптимальнее.
---
Ну варианта - 2 либо запрос, либо покопаться в документации СКД и отбор по итогу делать
---
можно в запросе создать поле НетТовараВоВсехМагазинах
и потом по нему отбор
---
1. может запрос нужно по-другому написать - брать в качестве основной таблицы источника - таблицу остатков по складам, тогда заведомо не будет товара, которого нет ни в одном магазине
2. еще как вариант на уровне группировки строки в настройках СКД сделать отбор по количеству и в доп. настройках этой группировки указать Не выводить отбор
---
Нужно поставить в запросе условие "Остаток > 0". Если номенклатура есть в каком-нибудь магазине, то строка с этой номенклатурой будет выведена. Если номенклатуры нет во всех магазинах, то эта номенклатура будет убрана на уровне запроса и строка не появится.
---
Всем спасибо, очень помогли ваши ответы
Добрый день! есть обработка для сохранения печатной формы в файл.
Выбираю несколько документов при нажатие на кнопку должна сохранять несколько файлов, но сохраняет тольк последний документ в файл.
Не подскажете в чем дело?
---
Может попробовать при записи вместо

```1c
    ТабДок.Записать("C:\ilya\"+Выборка.Номер+".txt", ТипФайлаТабличногоДокумента.txt);
```

сделать

```1c
    ТабДок.Записать("C:\ilya\"+Эллемент.Номер+".txt", ТипФайлаТабличногоДокумента.txt);
```
---
Может потому что у вас на форме реквизит реквизит1 список значений, в котором вы выбираете документы, и потом этот же реквизит используете в коде и переприсваиваете

 Выборка = РезультатЗапроса.Выбрать();
 Выборка.Следующий();

 ЭтотОбъект.Реквизит1 = Выборка.Основание;
 ЭтотОбъект.СЧФВыданный = Выборка.СЧФВыданный;
 мСтруктураДанныеКэша.Вставить("ЗПР", Выборка);
---
Может попробовать при записи вместо

```1c
    ТабДок.Записать("C:\ilya\"+Выборка.Номер+".txt", ТипФайлаТабличногоДокумента.txt);
```

сделать

```1c
    ТабДок.Записать("C:\ilya\"+Эллемент.Номер+".txt", ТипФайлаТабличногоДокумента.txt);
```
---
Спасибо, помогло)
---
Так теперь она делает несколько файлов, но с одним и тем же документом)
Здравствуйте! Не пойму в чем дело, создала с помощью конструктора ввода на основании процедуру заполнения данных:

 Но при проверке вылазиют ошибки что переменная не определена (ДанныеЗаполнения).

БГУ 1.0 Обычное приложение. Спасибо большое!
---
```1c
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
```
---
Основание
---
Вместо данные заполнения?
---
```1c
    Процедура ОбработкаЗаполнения(ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка)
```
---
Так пробовала, но данные не заполняются почему-то, но ошибок нет
---
Может условие
```1c
    Если
```
 не срабатывает? Проверьте, что у вас в переменной ДанныеЗаполнения
---
вот кажется она пустая, отладчиком сейчас посмотрела...
---
А во вкладке "Ввод на основании" в списке "Вводится на основании" выбран нужный тип документа?
---
Я не совсем понимаю что значит нужный тип) Я там выбрала документ, на основании которого будет вводиться другой документ.
---
Главное, что она заполнена) А точно в переменной ничего нет?
---
Да точно...
В обработке в разделе команды, добавлена команда1.
Как получить имя (или синоним) команды когда я попадаю в модуль этой команды (процедура ОбработкаКоманды(...))?
---
Из ПараметрыВыполненияКоманды.НавигационнаяСсылка.

```1c
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ПозицияИмени = СтрНайти(ПараметрыВыполненияКоманды.НавигационнаяСсылка, "/", , , 2) + 1;
    ПолноеИмяМетаданных = Сред(ПараметрыВыполненияКоманды.НавигационнаяСсылка, ПозицияИмени);
    Сообщить(ПолучитьСинонимКоманды(ПолноеИмяМетаданных));
    КонецПроцедуры

    &НаСервере
    Функция ПолучитьСинонимКоманды(ПолноеИмяМетаданных)
    ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных);
    Возврат ОбъектМетаданных.Синоним
    КонецФункции
```
---
Синтаксис-помощник:
ОбъектМетаданных: Команда (MetadataObject: Command)
Синоним (Synonym)
Использование:
Только чтение.
Описание:
Тип: Строка.
Строка произвольных символов - синоним имени объекта метаданных.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер)
---
```1c
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    //Как вот здесь получить программно имя команды?
    КонецПроцедуры
```
---
Где расположен модуль? Общий или форма?
Откуда вызывается? Элемент формы - событие?
---
Команда добавлена в обработке, - соответственно это "Модуль команды", в которой добавлен обработчик "ОбработкаКоманды".
В свойствах команды стоит "Тип параметра команды" = ДокументСсылка.Документ1
ну и из этого Документа вызывается эта команда при выборе этой команды из выпадающего списка кнопки "Печать"
---
Зачем это нужно? запишите в модуле в переменную имя команды и все
---
Такое решение и использую, но хочется универсальности. Команд очень много.
---
У меня не получилось из модуля команды выйти за контекст элементов текущей формы (на клиенте). Общие модули, конфигурация (метаданные) - недоступны всеми (даже извращенными) известными мне методами. Так что ИМХО - НЕПОЛУЧИТЬСЯ...
---
Из ПараметрыВыполненияКоманды.НавигационнаяСсылка.

```1c
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ПозицияИмени = СтрНайти(ПараметрыВыполненияКоманды.НавигационнаяСсылка, "/", , , 2) + 1;
    ПолноеИмяМетаданных = Сред(ПараметрыВыполненияКоманды.НавигационнаяСсылка, ПозицияИмени);
    Сообщить(ПолучитьСинонимКоманды(ПолноеИмяМетаданных));
    КонецПроцедуры

    &НаСервере
    Функция ПолучитьСинонимКоманды(ПолноеИмяМетаданных)
    ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмяМетаданных);
    Возврат ОбъектМетаданных.Синоним
    КонецФункции
```
---
зациклился совсем - "+"
Здравствуйте Знатакы!
Возникла необходимость распечатать Расходные с дополнением, а именно PDF. Но не простой PDF, а шаблонный документ, который нужно заполнить с 1С.
Уже перерыл все что мог, возможно плохо искал, но пока ничего.
Помогите пожалуйста, возможно кто уже делал похоже.
---
Нашел хороший пример, в принципе возможно решение моей задачи. Выгрузка в PDF
Единственный момент, что для роботы нужна лицуха на Акробат(
---
Формируешь табличный документ, сохраняешь как pdf.
---
Но мне нужно не просто сохранить PDF, а заполнить поля уже имеющего pdf файла.
---
Вместо имеющегося pdf файла делаете табличный документ с аналогичным содержимым.
---
Проблема в том что это утвержденный шаблон, там изображения и весь контент не должен изменятся. Наверное мне нужно как то считать шаблон, а потом по ключам занести в временный файл значения, ну и сохранить уже измененный файл. Но как это реализовать понятия не имею...
---
Платформа с PDF напрямую работать не умеет.

Проблема в том что это утвержденный шаблон
Не вижу проблемы, если честно. Все регламентированные печатные формы к документам, отчетам утверждены минфином, ЦБ, ФК и прочими товарищами.
Это не мешает сделать их в табличном документе.

Наверное мне нужно как то считать шаблон, а потом по ключам занести в временный файл значения, ну и сохранить уже измененный файл.
Не надо ничего подобного.
В конфигураторе создаете макет - табличный документ. Переносите туда текст, картинки, оформление, чтобы содержимое выглядело как в PDF.
---
Не надо ничего подобного.
В конфигураторе создаете макет - табличный документ. Переносите туда текст, картинки, оформление, чтобы содержимое выглядело как в PDF.
Как на меня это костыль. Спасибо конечно за совет, воспользуюсь им, но это не выход. Подожду возможно кто то знает как сделать верно.
---
Также вот проверил, но изображение на фон установить не выйдет(
---
Какое изображение? На какой фон? Объясните, если распечатать ваш шаблон пдф и то, что вы сделали в конфигураторе, будет между ними разница?
---
Будет потому как в конфигураторе я не знаю как сделать аналогично.
---
Можно сделать макет в виде документа Word - там можно фон устанавливать. И вордовский документ уже потом сохранять как PDF.
---
А вот это может сработать, возможно так выйдет, спасибо.
---
Нашел хороший пример, в принципе возможно решение моей задачи. Выгрузка в PDF
Единственный момент, что для роботы нужна лицуха на Акробат(
---
Если этот ПДФ потом никуда не загружается какой смысл так заморачиваться!?!?!?
Ради того чтоб это на бумагу напечатать?
Сделайте похожий табличный документ и вот оно счастье))
Я 100 раз так делал)))
Здравствуйте!
У меня очень странная проблема. В УТ 11.4.6 из регистра РасчетыСКлиентамиПоДокументам выбираю остатки по определенному заказу. Картина получается такая (рис. 1). Вопрос: почему документ Взаимозачетов не закрыл Корректировку реализаций (на рис. не видно, но суммы одинаковые) ? Почему по 1 записи в регистре 2 остатка получается?
---
РасчетныйДокумент Это Измерение. поэтому и остатки в двух строках
---
+(8)Либо в отчете группировка.
---
РасчетныйДокумент Это Измерение. поэтому и остатки в двух строках
---
Я тоже вначале так подумала. Но вот тот же самый заказ проходит еще по регистру РасчетыСКлиентамиПоСрокам. Там тоже есть измерение Расчетный документ. Но остатки по нулям (документы с одинаковой суммой закрылись)
---
ну а там расчетный документ разный? или одинаковый? потому как тут там 2 разных дока
---
Это не знаю, остатки-то по нулям. Но документы по заказу одни и те же, я думаю...
---
а строк тоже 2 в РасчетыСКлиентамиПоСрокам регистре?
---
Там их нет вообще. Остатков-то нет. Я знаю что документ по этому регистру проходит, т.к. он попадает в отчет Ведомость по расчетам, который берет данные только из РасчетыСКлиентамиПоСрокам. В отчете такая картина (рис.2), Видно - документ есть, остатков по нем нет
---
а в самом регистре в физической таблице посмотрите что стоит в Измерении Расчетный документ. скорре там он один а тут разные
---
+(8)Либо в отчете группировка.
---
Мда, похоже Ведомость по расчетам их группирует... Значится, действительно 2 остатка - это правильно... Ну что ж, будем с этим мириться. Спасибо за участие.
День добрый, подскажите
Выгрузил результат данных в ТЗ. Там имеется поле "группа", если в нем стоит отметка, значит следующие элементы ТЗ будут являться подчинёнными первому элементу с отметкой.
Как можно получить ссылку на тот самый первый элемент с отметкой, что бы в дальнейшем при записи в справочник указать его в Родителе подчинённых элементов?

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

Способ 4 для самых отчаянных и вдумчивых, и если очень надо, а разработчики не чешутся исправить баг.

все остальные способы от ...лукавого.
---
варианты решения
1. копипаст кнопки с формы на форму, если ее можно удалить в расширении
2. удалить форму в расширении и добавить с нуля из основной конфигурации
3. если 1 и 2 не прокатывает, значит это глюк как и с табличными частями, придется ждать 8.3.15+
4. если 1,2, и 3 не прокатывает, то выгружаем расширение В файлЫ, находим файл формы и открываем его,
    например в нотепад++, ищем в файле поиском секцию со своей кнопкой и бъем по ней костылями
   пока не станет такой как надо. Сохраняем файл и загружаем расширение ИЗ файлОВ.

Способ 4 для самых отчаянных и вдумчивых, и если очень надо, а разработчики не чешутся исправить баг.

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

Если Вы указали режим редактирования "Обычны", но отбор все равно не отображается там, где нужно, сообщите, пожалуйста, версию Вашей БСП. Ну и сам отчет желательно прикрепить.
---
Спасибо, делал все так, не попадало. Потом попробовал в пользовательских настройках указать представление и все получилось!!!!
---
Версия БСП 2.3.2.67

Уже просто из безысходности указал представление - и все попало))
---
Хорошо, что нашлось решение, особенно столь не очевидное. :) БСП относительно довольно древняя. В более свежих версиях представление задавать уже не нужно будет.
---
Спасибо за помощь!!!
У определенного вида документа создано две формы списка "ФормаСписка" и "ФормаСпискаПланирование", из обеих форм открывается документ.

Как определить при открытии этого документа из какой формы списка он был открыт?
---
Владелец формы открытого документа - это динамический список будет. А вот

```1c
    ЭтаФорма.ВладелецФормы.Родитель.ИмяФормы
```
 - то, что нужно (причем, на клиенте).
---
Может - ВладелецФормы.Имя
---
Владелец формы открытого документа - это динамический список будет. А вот

```1c
    ЭтаФорма.ВладелецФормы.Родитель.ИмяФормы
```
 - то, что нужно (причем, на клиенте).
---
Владелец формы открытого документа - это динамический список будет. А вот

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

```1c
    // ФормаСписка
    &НаКлиенте
    Процедура ОткрытьФормуНовогоДокумента()
    ОткрытьФорму("Документ.Документ.Форма.ФормаТакаято", Новый Структура("ИмяФормыИзКоторойОткрыто", "ФормаСписка"));
    КонецПроцедуры

    // ФормаСпискаПланирование
    &НаКлиенте
    Процедура ОткрытьФормуНовогоДокумента()
    ОткрытьФорму("Документ.Документ.Форма.ФормаТакаято", Новый Структура("ИмяФормыИзКоторойОткрыто", "ФормаСпискаПланирование"));
    КонецПроцедуры

    // Форма документа "Документ" "ФормаТакаято"

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Если Параметры.Свойство("ИмяФормыИзКоторойОткрыто") Тогда

    Если Параметры.ИмяФормыИзКоторойОткрыто = "ФормаСписка" Тогда

    ИначеЕсли Параметры.ИмяФормыИзКоторойОткрыто = "ФормаСпискаПланирование" Тогда

    КонецЕсли;

    КонецЕсли;

    КонецПроцедуры
```
---
а разве в самом объекте (документе) нельзя посмотреть какая форма установлена в качестве основной???
---
Советую:

```1c
    ЭтоФормаОбъекта = Найти(ПолучитьНавигационнуюСсылку(Форма), "data/") > 0;
```

Если нужна именно форма списка, то:

```1c
    ЭтоФормаСписка = Найти(ПолучитьНавигационнуюСсылку(Форма), "/list/") > 0;
```

Но не забывайте, что есть формы журналов документов.