arefaste/1C_Forums huggingface dataset:
Добрый день. Подскажите задача следующая:
Во внешней печатной форме необходимо вывести период.

Период определяется по дате документа: до 15 числа - прошлый месяц, после 15 числа включительно - текущий месяц.
Как решить такую задачу?
---
Спасибо, сейчас попробую
---
В целом сам разобрался.

```1c
    ОбластьМакета = Макет.ПолучитьОбласть("ПериодДоговора");
    Если Выборка.Дата >=НачалоМесяца(Выборка.Дата) И Выборка.Дата<=НачалоМесяца(Выборка.Дата)+13*86400 Тогда
    ОбластьМакета.Параметры.НачалоМесяца =Формат(ДобавитьМесяц(НачалоМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
    ОбластьМакета.Параметры.КонецМесяца = Формат(ДобавитьМесяц(КонецМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
    ИНАЧЕ
    ОбластьМакета.Параметры.НачалоМесяца = Формат(НачалоМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
    ОбластьМакета.Параметры.КонецМесяца = Формат(КонецМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
    КонецЕсли;

    ТабличныйДокумент.Вывести(ОбластьМакета);
```
---
В целом сам разобрался.

```1c
    ОбластьМакета = Макет.ПолучитьОбласть("ПериодДоговора");
    Если Выборка.Дата >=НачалоМесяца(Выборка.Дата) И Выборка.Дата<=НачалоМесяца(Выборка.Дата)+13*86400 Тогда
    ОбластьМакета.Параметры.НачалоМесяца =Формат(ДобавитьМесяц(НачалоМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
    ОбластьМакета.Параметры.КонецМесяца = Формат(ДобавитьМесяц(КонецМесяца(Выборка.Дата),-1),"ДФ=dd.MM.yyyy");
    ИНАЧЕ
    ОбластьМакета.Параметры.НачалоМесяца = Формат(НачалоМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
    ОбластьМакета.Параметры.КонецМесяца = Формат(КонецМесяца(Выборка.Дата),"ДФ=dd.MM.yyyy");
    КонецЕсли;

    ТабличныйДокумент.Вывести(ОбластьМакета);
```
---
можно проще:

```1c
    НужнаяДата = ДобавитьМесяц(Выборка.Дата, -(День(Выборка.Дата) < 15));
    ОбластьМакета = Макет.ПолучитьОбласть("ПериодДоговора");
    Периоды = Новый Структура("НачалоМесяца, КонецМесяца");
    Периоды.НачалоМесяца = Формат(НачалоМесяца(НужнаяДата), "ДЛФ=D");
    Периоды.КонецМесяца = Формат(КонецМесяца(НужнаяДата), "ДЛФ=D");
    ОбластьМакета.Параметры.Заполнить(Периоды);
```
---
Добрый день, Кирилл!
В коде печатной формы напишите что-то похожее на следующее:

```1c
    СоответствиеДатДокументов = ОбщегоНазначения.ЗначениеРеквизитаОбъектов(МассивСсылокНаДокументы, "Дата");
    Для Каждого Пара Из СоответствиеДатДокументов Цикл
    Период = Пара.Значение;
    ИскомыйПериод = Неопределено;
    Если День(Период)<=15 Тогда
    ИскомыйПериод = НачалоМесяца(ДобавитьМесяц(Период, -1));
    Иначе
    ИскомыйПериод = НачалоМесяца(Период);
    КонецЕсли;
    // выводите в необходимую область значение переменной ИскомыйПериод
    КонецЦикла;
```
---
Спасибо, сейчас попробую
Здравствуйте! В ВУЗе учимся 1С разработке.

Ситуация: У меня есть справочник "Производитель" (скрин 1). Там есть реквизиты: Наименование, Страна и т.д.

У меня есть справочник "Номенкулатура товаров". В табличной части "Логистика" выбираю реквизит "Производитель" с помощью ссылки на справочник "Производитель". (скрин 2) Как сделать так, чтобы страна подтягивалась автоматически?

Думаю это с помощью кода нужно. Но умею только в Модуле приложения работать. Если подскажите, где справочники автоматизировать буду очень благодарна!
---
Решила пойти другим путём.
Как удалить вопрос не знаю)))
---
Преподаватель получает зарплату за то, что все объясняет своим студентам.
Преподаватели вообще именно для этого и существуют, чтобы все объяснять и отвечать на все вопросы.
*в вузе - 1с. Куда катимся?*
---
Дело в том, что этого не давали на занятиях. Мне захотелось самой добавить такую задачу
---
так это только плюс. Любой преподаватель будет рад, когда его студенты интересуются его предметом больше, чем он преподает в рамках курса.
---
Решила пойти другим путём.
Как удалить вопрос не знаю)))
---
Решила пойти другим путём. Путем "замуж"? Правильно, ну её, эту противную 1С!
---
а в каком ВУЗе 1с разработку преподают, если не секрет?
Значит есть некая обработка А (считаем, что ее нельзя трогать)
У нее ксть форма, а на форме есть реквизит

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

ИТС говорит сделать так

```1c
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

    //Помещаем обработку во временном хранилище
    АдресХранилища = ";
    Результат = ПоместитьФайл(АдресХранилища, "C:\ВнешняяОбработка.epf", , Ложь);
    ИмяОбработки = ПодключитьВнешнююОбработку(АдресХранилища);

    // Откроем форму подключенной внешней обработки
    ОткрытьФорму("ВнешняяОбработка."+ ИмяОбработки +".Форма");

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

    &НаСервере
    Функция ПодключитьВнешнююОбработку(АдресХранилища)

    Возврат ВнешниеОбработки.Подключить(АдресХранилища);

    КонецФункции
```

Ну там сам файл я получаю конечно через хранилище и двоичные данные. И форма открывается
А как же там заполнить реквизит, если нету самой формы в коде
---
А как получить УФ внешней обработки?
Вместо Открыть - получить форму

Глобальный контекст (Global context)
ПолучитьФорму (GetForm)
Синтаксис:
ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>)

Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).
Вызов метода выполняет обращение к серверу.
---
Вместо Открыть - получить форму. Заполнить ее реквизиты и потом открыть.
---
А как получить УФ внешней обработки?

ПолучитьФорму
Описание:
Получает форму обработки.
Доступность:
Толстый клиент.
---
А как получить УФ внешней обработки?
Вместо Открыть - получить форму

Глобальный контекст (Global context)
ПолучитьФорму (GetForm)
Синтаксис:
ПолучитьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>)

Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).
Вызов метода выполняет обращение к серверу.
---
Да... с УФ я туплю... Увы...

Спасибо (3)
Добрый день.

Собственно, вопрос в теме: Как в СКД сгруппировать в указанной колонке одинаковые строки?

Одинаковые строки в колонках "Сотрудник", "ФОТ", "Аванс", "НДФЛ" необходимо сгруппировать в одну строку.
---
Одинаковые строки в полях.

Вот работающий вариант: https://infostart.ru/1c/tools/834225/
---
Убрать начисление, установить ресурсы там где необходимо и проверить что галка Автогруппировка строк стоит
---
Колонка "Начисление" является частью отчета, её убирать нельзя.
---
И что в этой колонке на бумаге после группировки (сворачивания) должно быть написано?
---
Что на изображении написано. Т.е. сгруппировать надо только поля с одинаковыми значениями: "Сотрудник", "ФОТ", "Аванс", "НДФЛ".
---
какой результат вы хотите получить, продемонстрируйте для понимания
---
Каким должен быть результат.
---
ВычислитьВыражениеСГруппировкойТаблицаЗначений
---
сделайте начисление ресурсом и примените функцию к ней "ВычислитьВыражениеСГруппировкойМассив"
---
https://forum.infostart.ru/forum9/topic202321/ тут описано как можно сделать через ВычислитьВыражениеСГруппировкойМассив
---
Решение интересное, но оно не решает проблем с дополнительными колонками.

Например такого вида
---
А что группировать тогда?
---
Одинаковые строки в полях.

Вот работающий вариант: https://infostart.ru/1c/tools/834225/
---
А хотелось наверное без использования макета и постобработки?
---
Если подскажите как, то можно попробовать.
---
Никак. Постобработкой табличного документа после формирования отчета.
---
можно еще распечатать и штрихом с черной ручкой доработать
Добрый день. Экспериментирую с расширениями. Установлен релиз 8.3.18.1363
Одну из процедур общего модуля сунул в расширение. Выбрал изменение и контроль.
пишу
#Вставить
...
#КонецВставки
И постоянно вылазит сообщение "ожидается оператор препроцессора". Где то читал писали, что 1ска не знает директиву #Вставить.
Кто в курсе помогите плиз.
---
У вас модуль глобальный, и насколько помню в глобальном модуле нельзя расширять процедуры и функции.
---
Зато знает #Вставка
---
Изменение и контроль у них не так работает) Вручную мутно писать. В процедуре выделяете место, которое хотите изменить - ПКМ - добавить в расширение - и там изменение и контроль) Но спешу обрадовать, больше 1 места в пределах одной процедуры так не изменить - будет в валиться в ошибку, что модули различаются
---
Можно больше одного, только за пробелами и переводами строк следить надо
---
Уже пробовал. Тоже самое пишет
---
Прикрепите полный листинг нерабочей процедуры (вместе с директивой)
---
На код внимания не обращайте :)
---
Первым делом закройте 1с и почистите кэша. Скорей всего из-за этого мозг выносит.
А так все правильно написано.
---
Попробовал не помогло.
---
И зачем вы в общем модуле директиву &НаКлиенте пишите? Уберите возможно из-за этого еще ругается.
---
Спасибо. А можно такой же скрин исходной процедуры?
---
Вот
---
Сори чет не то кинул
---
Уберите директиву "&НаКлиенте". Она в общем модуле не нужна, используется только в модулях формы.
---
Удалил. Результат не дало. Все по прежнему
---
Если удалить директивы вставить, то все работает.
---
1. Вы перед #Вставка нафигачили таб или пробелов.
2. Вы перед КонецПроцедуры нафигачили перевод строки.
3. Вы убрали Экспорт
---
1. Не влияет
       2. Не влияет
       3. Экспорт убирает сама 1С-ка когда в расширение добавляем.
---
Все же попробуйте еще раз, закрыть конфигуратор и кэш почистить.
---
Не помогло. Может это работает только в клиент-серверном варианте?
---
Да нет, должно работать и в файловом.
---
дт
---
У вас модуль глобальный, и насколько помню в глобальном модуле нельзя расширять процедуры и функции.
---
Вы правы. Убрал глобальный модуль и стало компилироваться. Но без отметки глобальный я не могу получить доступ к процедурам из формы
---
Так вызывайте так "ИмяОбщегоМодуля.ИмяПроцедуры".
---
Согласен. Чет тупанул. Пока перекурить. :)

Жаль что про глобальный модуль ни где не было написано. :(

Спасибо большое, что помогли.
---
Это можете прочитать про расширение процедур и функций, там как раз написано про глобальные модули.
Расширение модулей
---
Читал эту статью, но видимо как то плохо я прочитал. Надо будет по внимательней читать
---
а еще русский язык подучить на досуге.
Добрый день, такая проблема, в БГУ 2.0 в основных средствах при переходе во вкладку Инвентарные объекты всплывает данная ошибка (скрин прилагается). Я предположил, что это связано с дублями, т.е. в каком-то из регистров задвоилось значение, нужно найти эти дубли и удалить. Нашел в конфигураторе справочник ОсновныеСредства, в нём динамический список и вытащил оттуда запрос, проверил запрос в консоли запросов и нашел там 3 одинаковых значения Инвентарного номера. Далее стал проверять регистры, которые задействованы в запросе, но в них никаких дублей не обнаружил. Теперь я в тупике, подскажите пожалуйста, как быть. Возможно я совсем не тем путем пошел?
---
проверяйте внутреннее перемещение от 10.01.22 , или одно лишнее или другой инвентарный должны были переместить, у вас этот монитор перемещается от Мариевской и Привалову и Синельниковой
---
Все правильно, данная ошибка ДЗ возникает в случае если в итоговой Таблице у вас получается дублирование ссылки. Т.е. какое-то соединение дает дубль.
Вы уверены что правильный запрос взяли? Скорее всего он программно меняется, а вы вытащили запрос из ДЗ. Надо в отладке при открытии в конце глянуть текст.
+ Важно, если у вас на форму вытащены другие реквизиты, например ДОП реквизиты, то ошибка может быть в компоновке.
Была проблема с доп реквизитами, они почему то задвоились в карточке номенклатуры и изза этого список не открывался. Если у вас есть доп реквизиты проверьте запросом, что для 1 ОС нет 2х и более одинаковых доп реквизитов.
---
Доп реквизитов, насколько я понял, нет
---
не понятно, почему когда вводишь запрос в консоли появляются дубли(скрин), но в самих регистрах, откуда по сути берутся сведения для запроса, дублей нет
---
последний скрин
---
мониторов 2 было? Принято к учету 2шт с инвентарными один 10134202001002, другой на 10134202001003? Внутреннее перемещение от 10.012022 какие инвентарные номера перемещали?
---
Мониторов намного больше, я на скриншотах просто сделал фильтр по одному инвентарному номеру, у которого в запросе были дубли. Вот полные списки в регистрах и в запросе
---
проверяйте внутреннее перемещение от 10.01.22 , или одно лишнее или другой инвентарный должны были переместить, у вас этот монитор перемещается от Мариевской и Привалову и Синельниковой
---
Да, в этом проблема, недоглядел. Спасибо большое!
Как программно присвоить значение полю надписи на управляемой форме (не заголовок, а сама надпись)?
---
Это в расширении.

Поэтому нужно писать:

```1c
    ЭтаФорма.расш_РеквизитНадпись = НужноеЗначение;
```

Без "ЭтаФорма." не находит.
---
Поле надписи должно быть связано с реквизитом формы,
вот этому реквизиту и присваивайте нужные значения
---
Это в расширении.

Поэтому нужно писать:

```1c
    ЭтаФорма.расш_РеквизитНадпись = НужноеЗначение;
```

Без "ЭтаФорма." не находит.
Подскажите пожалуйста по какому принципу меняется наименование группы Габариты в справочнике Номенклатура в УНФ. Наименование меняется при смене категории, но в справочнике "Категории номенклатуры" каких либо зависимостей я не нашел, отладкой тоже не вышло что-то найти. При выборе категории Общее габариты ГxШхВ, при смене на другую габариты ДхШхВ.
---
В типовом решении ДхШхВ. Чей воспаленный мозг додумался менять на ГхШхВ, вам подскажет конфигуратор. Ну или автор творения, если он в настоящий момент читает форум, что вряд ли.
---
В типовом решении ДхШхВ. Чей воспаленный мозг додумался менять на ГхШхВ, вам подскажет конфигуратор. Ну или автор творения, если он в настоящий момент читает форум, что вряд ли.
Только учусь 1с, пытаюсь сменить видимость реквизита формы документа при выборе в другом реквизите значения из перечисления. Почему-то не выполняется ни одно условие никогда. Написал последнюю вилку для проверки.
Код:

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

    КонецПроцедуры
```
---
Так:

```1c
    Если ЗначениеПоля = ПредопределенноеЗначение("Перечисление.ВариантыРасписания.ОдинРазНед") Тогда
    ...
```
---
```1c
    используйте команду
    Если ЗначениеПоля = ПредопределенноеЗначение("Перечисление.ВариантыРасписания.ОдинРазНед") ТОГДА
```
---
перечисления нельзя сравнивать со Строкой!
---
А как мне тогда сравнить значение ячейки Вариант расписания?
---
Так:

```1c
    Если ЗначениеПоля = ПредопределенноеЗначение("Перечисление.ВариантыРасписания.ОдинРазНед") Тогда
    ...
```
---
```1c
    используйте команду
    Если ЗначениеПоля = ПредопределенноеЗначение("Перечисление.ВариантыРасписания.ОдинРазНед") ТОГДА
```
---
Все мужики, заработало, всем спасибо, всем здоровья
Доброе время суток, уважаемые.

Подскажите, кто встречался.

Есть ли особенности, которые надо учесть при добавлении новой строки с вводом в эту строку значений в таблице с наложенным отбором. Разумеется, критерий отбора наложен на поле, которое не вводится.

С уважением.
---
при добавлении новой строки, в поле (по которому идет отбор) сразу помещаете значение этого отбора
при этом новая строка будет видна пользователю и он сможет продолжить ее заполнение
---
при добавлении новой строки, в поле (по которому идет отбор) сразу помещаете значение этого отбора
при этом новая строка будет видна пользователю и он сможет продолжить ее заполнение
---
Спасибо
Добрый день! Подскажите, в чем может быть причина.
База Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.27.92)
Платформа 1С:Предприятие 8.3 (8.3.23.1865)
Справочник ПричиныУвольнений.
Мне нужно дать пользователю права на редактирование типового справочника ПричиныУвольнений.
В расширение перенес справочник. Создал в расширении роль, у этой роли для перенесенного справочника поставил галки прав: Чтение, Добавление, Изменение, Просмотр.
В режиме предприятия создал новую группу доступа с роль из расширения. Добавил пользователя в эту группу доступа, но редактирование справочника не работает(
---
Так вы не дали права на редактирование.
Только на Изменение.
Изменение это в данном случае программное изменение, а не редактирование.

Для редактирования отдельный флаг в роли.
---
Так вы не дали права на редактирование.
Только на Изменение.
Изменение это в данном случае программное изменение, а не редактирование.

Для редактирования отдельный флаг в роли.
---
Спасибо, помогло!
---
Интерактивные действия разрешены?
---
Интерактивные права не были установлены. Но поставил галку "Интерактивное добавление" и теперь стало работать добавление. Вам тоже спасибо за подсказку.
Доброе время суток, уважаемые.

Задача такая.
Есть таблица значений на управляемой форме.
Требуется перехватить нажатие клавиши Enter, чтобы фокус не переходил на следующий элемент формы, а оставался на текущей строке этой таблицы.

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

попробуйте перед началом редактирования, запоминать текущую строку, и по ней же делать отбор во второй ТЗ
или после возврата с сервера ее же опять и делать текущей.
(вариантов множество)
---
Пока тестировал на файловой конфигурации, возврата с сервера как такового нет. Активация мышью работает как надо, но при Enter фокус перемещается на вторую таблицу, что не gut.
---
тогда проверяйте свои обработчики событий! скорее всего это у вас где-то в коде сидит смена текущего элемента
Имеется самописное фоновое задание, в котором ведётся запись произведённых операций в ТекстовыйДокмент. По окончании текст скидывается в Журнал регистрации. Запускается на ночь по расписанию. И всё бы хорошо, но иногда его надо прервать руками, или ещё что-то происходит нештатное. При внешнем прерывании фонового задания информация в Журнал регистрации не сбрасывается. А очень хочется.
Есть ли какой-нибудь способ отследить внешнее прерывание изнутри фонового задания? Вроде события "ПриЗакрытии", чтобы перед тем, как умереть, сбросить данные в Журнал.
---
Пишите в ЖР не по окончанию, а по мере выполнения операций
---
изнутриНет. Меняй архитектуру.
---
Пишите в ЖР не по окончанию, а по мере выполнения операций
---
Есть ли какой-нибудь способ отследить внешнее прерывание изнутри фонового задания?Писать в какой-нить регистр факт нормального завершения. Запускать раз в Х минут задание, которое будет проверять наличие задания. Если нет и нет информации о том, что задание закончилось нормально, значит засунуть файл в журнал и запустить фоновое еще раз (ну или что там с ним должно происходить...)
---
Увы. Архитектура - это "объективная реальность, данная мне в ощущениях".
Кстати. А если фоновое задание запустило своё фоновое, а потом было снято, то дочернее продолжит работу?
---
Не должно. При снятии родительско сеанса запущенные фоновые вроде как остаются жить.

Надо, кстати, эксперимент поставить. Там с 8.3.17 в глобальном контекте появился менеджер обработки ошибок, возможно он дернется и что-то куда-то сумеет послать. И при падении фонового тоже.
---
а консоль заданий пробовали?
в ней отражаются регламентные и фоновые задания,
там множество настроек, и так же можно отменить/удалить Рег/фон задание
Уважаемые профессионалы.

Необходимо в 1с документооборот 2.1 настроить производственный календарь на 2024 год. Есть справочник "Календари", но когда его отрываю, то он просто недоступен (см. скрин). Подскажите, что не так.
---
Закрыто, настройки программы -> процессы и задачи -> использовать графики работы (поставить галочку)

ЗЫ: Я ГЕНИЙ
---
Закрыто, настройки программы -> процессы и задачи -> использовать графики работы (поставить галочку)

ЗЫ: Я ГЕНИЙ
Добрый день!
Подскажите, может как-то можно не перебирая все кнопки в ТЧ на форме и все варианты с горячими клавишами заблокировать для изменения ТЧ в документе? На форме 2 ТЧ, в каждой есть свои кнопки пока получается только перебором всего это заблокировать. Еще нужно заблокировать горячие клавиши.
---
```1c
    Элементы.ИмяЭлементаТЧ.ТолькоПросмотр = Истина
```
---
Убрать вот эти 2 галки.
---
```1c
    Элементы.ИмяЭлементаТЧ.ТолькоПросмотр = Истина
```
---
А горячие клавиши можно как-то заблокировать?
---
Не совсем я понял, сейчас.
ТолькоПросмотр - это свойство элемента формы.
Горячие клавиши - это вторичное.
А именно - если мы ТолькоПросмотр включили - какие горячие клавиши??
---
Я знаю есть горячие клавиши, чтобы убрать строку в ТЧ или добавить.
---
А горячие клавишиЭто ты так Insert и прочие Delete называешь, или полномасштабные назначаемые комбинации клавиш?
---
Убрать вот эти 2 галки.
---
команды ТЧ могут быть написаны без привязки к источнику(ТЧ)
такие только перебором лочить.

остальные отвалятся по рекомендациям выше.
Приветствую. У меня не проблема, нет, скорее неудобство, которое не понимаю как устранить...
Есть динамический список (управляемая форма), в котором включено множественное выделение строк. Если выделить одну строку, то всё ок, но если выделить вторую и последующие (через shift или ctrl, не важно), то список автоматически центрирует последнюю выделенную строку (по вертикали), то есть строка оказывается в центре таблицы (все строки смещаются, не только эта). То есть просто табличка центрируется по последней выделенной строке... Это несколько неудобно, особенно когда хочешь выделить несколько строк и вроде как видишь их позицию, а они постоянно меняют своё положение...
опять же в какой бы части таблицы я ни сделал выбор первой строки, с ней такого не происходит... только если это вторая и далее выделенная строка
---
Гляньте, чтобы внутри обработчика ПриАктивизацииСтроки не было серверных обращений.

Синтаксис:

ПриАктивизацииСтроки()
Описание:

Вызывается при активизации строки таблицы.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
---
Гляньте, чтобы внутри обработчика ПриАктивизацииСтроки не было серверных обращений.

Синтаксис:

ПриАктивизацииСтроки()
Описание:

Вызывается при активизации строки таблицы.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
---
Да, я только что сам разобрался, хотел уже закрывать тему, но вы меня опередили)
Действительно проблема была в событии при активизации...
---
Тоже столкнулся с этой проблемой (((
В отладчике убедился, что код выполняется ТОЛЬКО на клиенте.
Но все равно происходит центрирование строки в таб части.
Что может быть? Уже всю голову сломал.
---
попробуйте закомментировать весь код. Скорее всего у вас происходят неявные серверные вызовы. Например изменение свойство элементов
---
Методом тыка нашел код при отключении которого перестает "центрироваться" таблица:

Элементы.ЭтоМояКнопкаНаФорме.Заголовок = НовыйТекстЗаголовка;

Этот код на клиенте
Т.е. я обращаюсь к другому элементу и это сбивает таблицу ((((
Но мне важно изменить заголовок!
Как выйти из этого пока не представляю
---
Столкнулся с той же проблемой, мне нужно при множественном выделении обновить на форме сумму, и так же скачет.
У Вас получилось ее решить?
---
Надо в обработчике события ПриАктивизацииСтроки вызывать метод Оповестить, а в обработке оповещения уже что-то делать.
---
Нашел решение, сделать не через декорацию, а через реквизит формы.
---
делал через ПодключитьОбработчикОжидания