arefaste/1C_Forums huggingface dataset:
Как выбрать все объекты в основной конфигурации понятно, код ниже.
а вот как выбрать все имена объектов расширения ?

```1c
    МассивКлассовМетаданных = Новый Массив;
    МассивКлассовМетаданных.Добавить("Справочники");
    МассивКлассовМетаданных.Добавить("Документы");
    МассивКлассовМетаданных.Добавить("Отчеты");
    МассивКлассовМетаданных.Добавить("Обработки");
    // ... и т д
    Для каждого КлассМетаданных Из МассивКлассовМетаданных Цикл
    Для Каждого ОбъектМетаданных Из Метаданные[КлассМетаданных] Цикл
    Сообщить(ОбъектМетаданных.Имя);
    КонецЦикла;
    КонецЦикла;
```
---
получилось

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

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

Заполнить табличную часть документа.

По окончанию ввода вверху выполнить "Заполнить и провести".
---
Не видела таких настроек, добавляла заполнение в код
---
В справочнике "Пользователи" в настройках "Заказы" поставить галочки "Авто размещение" и "Авто резервирование. Также указать основной склад, который и будет автоматически проставляться.

Заполнить табличную часть документа.

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

также в настройках пользователя должны быть галочки "Авторезервирование" и "авторазмещение"

Но толком не помню. Поэкспериментуйте...
Здравствуйте, коллеги. Подскажите, пожалуйста, возможно ли отследить событие непосредственного удаления объекта? Заранее благодарю.
---
А в чем сложность? Присваивайте в обработчике ПередУдалением
Как то так должно быть:

```1c
    ПередУдалением(Отказ)

    ОснованиеОбъект = ДОкументОснование.ПолучитьОбъект();
    ОснованиеОбъект.Комментарий = "Удален подчиненный элемент";
    ОснованиеОбъект.Записать()

    КонецПроцедуры
```
---
Обработчик события ПередУдалением

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

1. В данном обработчике модуля объекта, как правило, должны выполняться действия, которые необходимо выполнить перед удалением объекта. Например, перед удалением присоединенного файла может потребоваться произвести очистку ссылок на этот файл в объекте-владельце.

2. Все действия в процедуре-обработчике события ПередУдалением должны выполняться после проверки на ОбменДанными.Загрузка.

Т. е. они не должны выполняться перед удалением объекта через механизм обмена данными, так как это может привести к ошибкам. Примером таких ошибок является обращение к предопределенным объектам после очистки области данных.
---
спасибо, тоже нашел это. Только вот примеров найти не смог, а именно интересует, какие параметры присваиваются этому обработчику.
---
еще нашел ПриУдалении, но тоже без примеров работы, а в сп вообще нет ни одного ни второго.
---
Там все просто, вам что нужно?
---
мне надо присваивать определенное значение другому документу, если данный документ удаляется.
---
А в чем сложность? Присваивайте в обработчике ПередУдалением
Как то так должно быть:

```1c
    ПередУдалением(Отказ)

    ОснованиеОбъект = ДОкументОснование.ПолучитьОбъект();
    ОснованиеОбъект.Комментарий = "Удален подчиненный элемент";
    ОснованиеОбъект.Записать()

    КонецПроцедуры
```
---
благодарю!
В СКД в отчете ставлю отбор по субконто. При выборе открывается выбор из разных типов. Как сделать, чтоб выбор был только из одного типа "Основные средства"?
---
В наборе данных для поля субконто указать тип значения. Вот здесь про тип значения и список доступных значений: https://youtu.be/uOW9kvXOHwY
---
Сделал через Выразить
---
В наборе данных для поля субконто указать тип значения. Вот здесь про тип значения и список доступных значений: https://youtu.be/uOW9kvXOHwY
---
Сделал через Выразить
Есть ТЗ в которой первые 3 колонки всегда будут оставаться как есть, а остальные будут удаляться. (остальных может быть много) + может на вход передаваться номер колонки (индекс) эту колонку тоже нужно оставлять.
---
```1c
    &НаСервере
    Процедура ОчиститьТЗ(Знач ТЗ, Знач Индекс = Неопределено)

    Если Индекс = Неопределено Тогда
    Если ТЗ.Колонки.Количество() > 3 Тогда
    Для _и = 3 По ТЗ.Колонки.Количество() - 1 Цикл
    ТЗ.Колонки.Удалить(3);
    КонецЦикла;
    Иначе
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Количество колонок меньше трех!";
    Сообщение.Сообщить();
    Возврат;
    КонецЕсли;

    ИначеЕсли Индекс > ТЗ.Колонки.Количество() - 1 Тогда
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Значение индекса превышает количество колонок!";
    Сообщение.Сообщить();
    Возврат;

    ИначеЕсли Индекс < 2 Тогда
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Нельзя удалять первые три колонки!";
    Сообщение.Сообщить();
    Возврат;

    Иначе
    _ж = 3; // Счетчик смещения удаления
    Для _и = _ж По ТЗ.Колонки.Количество() - 1 Цикл
    Если _и = Индекс Тогда
    _ж = _ж + 1;
    Иначе
    ТЗ.Колонки.Удалить(_ж);
    КонецЕсли;
    КонецЦикла;

    КонецЕсли;

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

    Если Индекс = Неопределено Тогда
    Если ТЗ.Колонки.Количество() > 3 Тогда
    Для _и = 3 По ТЗ.Колонки.Количество() - 1 Цикл
    ТЗ.Колонки.Удалить(3);
    КонецЦикла;
    Иначе
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Количество колонок меньше трех!";
    Сообщение.Сообщить();
    Возврат;
    КонецЕсли;

    ИначеЕсли Индекс > ТЗ.Колонки.Количество() - 1 Тогда
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Значение индекса превышает количество колонок!";
    Сообщение.Сообщить();
    Возврат;

    ИначеЕсли Индекс < 2 Тогда
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Нельзя удалять первые три колонки!";
    Сообщение.Сообщить();
    Возврат;

    Иначе
    _ж = 3; // Счетчик смещения удаления
    Для _и = _ж По ТЗ.Колонки.Количество() - 1 Цикл
    Если _и = Индекс Тогда
    _ж = _ж + 1;
    Иначе
    ТЗ.Колонки.Удалить(_ж);
    КонецЕсли;
    КонецЦикла;

    КонецЕсли;

    КонецПроцедуры
```
---
Спасибо
Добрый день!
У серверного пользователя 1С есть доступ к каталогу, у клиентских пользователей к каталогу доступа нет.
Мне нужно сделать возможность просмотра файлов из этого каталога.

Я делаю так, хочу поместить файл по пути во временный файл, потом хочу его открыть, но ПоместитьФайл() выполняется только на клиенте, а доступа на клиенте нет.

```1c
    &НаКлиенте
    Процедура ОткрытьФайл(Команда)
    АдресВХранилище = ";
    Если ПоместитьФайл(АдресВХранилище, ПутьКФайлу,, Ложь, УникальныйИдентификатор) Тогда
    Иначе
    Сообщить("Не удалось получить файл");
    Возврат;
    КонецЕсли;
    ПолноеИмяВременногоФайла = ПолучитьФайл(АдресВХранилище);
    Оповещение = Новый ОписаниеОповещения("ОткрытьФайлЗавершение", ЭтотОбъект);
    НачатьЗапускПриложения(Оповещение, ПутьКФайлу);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьФайл(АдресВХранилище) Экспорт
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла();

    Файл = ПолучитьИзВременногоХранилища(АдресВХранилище);
    Файл.Записать(ИмяВременногоФайла);
    Возврат Файл.ПолноеИмя;
    КонецФункции
```

ПодскажитеПожалуйста
---
Придумала копировать файл, так работает) пора отдыхать)

```1c
    &НаКлиенте
    Процедура ОткрытьФайл(Команда)
    РасширениеФайла = ПолучитьРасширениеФайла(ПутьКФайлу);
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла(РасширениеФайла);
    ПолучитьФайл(ПутьКФайлу, ИмяВременногоФайла);
    Оповещение = Новый ОписаниеОповещения("ОткрытьФайлЗавершение", ЭтотОбъект);
    НачатьЗапускПриложения(Оповещение, ИмяВременногоФайла);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьРасширениеФайла(Знач ПутьКФайлу) Экспорт
    Файл = Новый Файл(ПутьКФайлу);
    Возврат Файл.Расширение;
    КонецФункции

    &НаСервереБезКонтекста
    Процедура ПолучитьФайл(ПутьКФайлу, ИмяВременногоФайла) Экспорт
    КопироватьФайл(ПутьКФайлу, ИмяВременногоФайла);
    КонецПроцедуры
```
---
Придумала копировать файл, так работает) пора отдыхать)

```1c
    &НаКлиенте
    Процедура ОткрытьФайл(Команда)
    РасширениеФайла = ПолучитьРасширениеФайла(ПутьКФайлу);
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла(РасширениеФайла);
    ПолучитьФайл(ПутьКФайлу, ИмяВременногоФайла);
    Оповещение = Новый ОписаниеОповещения("ОткрытьФайлЗавершение", ЭтотОбъект);
    НачатьЗапускПриложения(Оповещение, ИмяВременногоФайла);
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьРасширениеФайла(Знач ПутьКФайлу) Экспорт
    Файл = Новый Файл(ПутьКФайлу);
    Возврат Файл.Расширение;
    КонецФункции

    &НаСервереБезКонтекста
    Процедура ПолучитьФайл(ПутьКФайлу, ИмяВременногоФайла) Экспорт
    КопироватьФайл(ПутьКФайлу, ИмяВременногоФайла);
    КонецПроцедуры
```
Здравствуйте. Столкнулся с такой проблемой: не работает проверка синтаксиса в модуле вебсервиса. При проверке всегда показывает "Синтаксических ошибок не обнаружено!", а потом, когда уже через браузер подключаюсь к вебсервису, то там в хмл коде показывает ошибки, например:

<faultstring>Ошибка вызова операции сервиса: {BuhWeb}:BuhWeb:getWSDL() по причине: Ошибка инициализации модуля: WebСервис.BuhWeb.Модуль по причине: {WebСервис.BuhWeb.Модуль(391,72)}: Ожидается ключевое слово 'Тогда' ('Then')</faultstring>

Если кто сталкивался с таким, подскажите, пожалуйста, как решить данную проблему?
---
В параметрах - проверка выбрано "Внешнее соединение"?
---
1) Убедиться, что обращаетесь именно к тому сервису, который публиковали.
2) Убедится, что в строке 391 модуля есть ключевое слово Тогда нужно и оно есть.
3) Почистить кеш 1с у пользователя из под которого запущен веб-сервер.
4) Поставить и удалить не значащий пробел, сохранить и опубликовать конфигурацию.
---
ошибку я уже нашел и исправил, только главная загвоздка в том, что ошибок может быть несколько, а хмл отображает только одну, соответственно сколько ошибок, столько раз и обновить надо будет, чтобы хмл показывал в какой строке какая ошибка . 2 и 3 сейчас попробую, спасибо.
---
В параметрах - проверка выбрано "Внешнее соединение"?
---
да , было выбрано "Внешнее соединение", сейчас все галочки поставил и заработало. Спасибо!
Добрый день. Казалось бы задачка проще некуда. Но что-то пошло не так =)
И нечего в голову не приходит. Подскажите.

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

При выполнении выдает ошибку: "Недопустимое значение".
Галочки "Использовать всегда" стоят на всех параметрах, т.к. читал, что без них такое случается.
Конфигурация самописная.
Поле "Элементы.ФактическийАдрес" создано не программно, а инструментарием конфигуратора.

Можно конечно забить и оставить поле пустым, но тут уже дело принципа. Хочу понять как это работает.
Заранее спасибо.
---
Не совсем. Путь к данным можно заполнить у созданного программно элемента формы. Но изменить уже нельзя.
---
Нельзя менять путь к данным у таких элементов.
---
У каких "таких"? Созданных не программно? Т.е. если создам это поле программно, то все заработает?
---
Не совсем. Путь к данным можно заполнить у созданного программно элемента формы. Но изменить уже нельзя.
---
Спасибо. Хоть и немного обидно.
---
Путь к данным можно заполнить у созданного программно элемента формы. Но изменить уже нельзя.
Спасибо Добрый человек ! 4 часа не мог понять почему так...
---
Можно конечно забить и оставить поле пустым, но тут уже дело принципа. Хочу понять как это работает.
Заранее спасибо.

а можно просто скрыть
Элементы.ФактическийАдрес.Видимость = Ложь;
---
Не люблю когда интерфейс "прыгает". Поэтому
Элементы.ФактическийАдрес.Доступность = Ложь;

=)
---
сделай так:

```1c
    &НаСервере
    Процедура ОбработатьФактическийАдрес()
    Если Объект.ФактическийСовпадает Тогда
    Элементы.ЮридическийАдрес1.Видимость = Истина;
    Элементы.ФактическийАдрес.Видимость = Ложь;
    Иначе
    Элементы.ЮридическийАдрес1.Видимость = Ложь;
    Элементы.ФактическийАдрес.Видимость = Истина;
    КонецЕсли;
    КонецПроцедуры
```
расположи в одной группе, группу заблокируй на изменение пользователем
(РазрешитьИзменениеСостава=Ложь)

PS (7) Доступность = Ложь; сделай в конфигураторе у Элементы.ЮридическийАдрес1
---
Проще сделать два поля ввода с заголовком "Фактический адрес". У "Элементы.ФактическийАдресФэйк" путь к данным будет "Объект.ЮридическийАдрес" , у "Элементы.ФактическийАдрес" - "Объект.ФактическийАдрес". И подменять их друг другом незаметно для пользователя.

```1c
    &НаСервере
    Процедура ОбработатьФактическийАдрес()
    Если Объект.ФактическийСовпадает Тогда
    Элементы.ФактическийАдресФэйк.Видимость = Истина;
    Элементы.ФактическийАдрес.Видимость = Ложь;
    Иначе
    Элементы.ФактическийАдресФэйк.Видимость = Ложь;
    Элементы.ФактическийАдрес.Видимость = Истина;
    КонецЕсли;
    КонецПроцедуры
```

У фэйка в конфигураторе поставить "Только чтение"

ПС: Хотя Вы похоже посоветовали то же самое, но я не понял сходу =)
Добрый день, коллеги! Столкнулся с любопытной ситуацией. Есть сервер 1с под платформой 8.3.18.1208 х64. На нем несколько баз 1с и несколько баз ЗУПа + пару баз простых конфигураций - самописок. Пару недель назад началась любопытная проблема. Примерно раз в день всех пользователей (в какой-бы базе они не работали) выкидывает с сервера. Платформа пишет, что сервер перестал быть доступным. Через 1-2-3 минуты сервер внезапно становится доступным и работа продолжается. До следующего дня. Иногда день-два может не быть проблемы, потом повторяется. Время всегда разное. Изначально грешили на сам сервер (Вин 2012) и службу сервера 1с. В журналах ОС ничего любопытного на время появления проблемы нет. Была мысль, что кратковременно отваливается сеть - не подтвердилось. Стали вести журнал таких вот отключений и через неделю начали сопоставлять его с ЖР размещенных на сервере баз. И в одной из бухгалтерий (можно сказать основной базе, где работает большинство сотрудников) ровно во время возникновения проблемы фиксируется запись:

Для идентификатора Barcode (версия не указана) не удалось получить внешнюю компоненту

Таких записей за день может быть несколько, под разными сотрудниками, но именно во время Х ошибка всегда под одним и тем же сотрудником. Любопытно, что:

- Сотрудник менеджер. Максимум, что он делает в БП - смотрит пару отчетов и выставляет счета.

- В этой базе (как и в других) вообще никто не работает с ценниками и иными объектами где могут использоваться штрих-коды. Barcode ни у кого не установлена и не устанавливалась в принципе (работа пр принципу клиент - сервер в режиме тонкого клиента)

- Судя по ЖР ошибка стала появляться задолго до возникновения проблемы (с августа 2020)

Собственно вопрос: что за напасть может быть и как с ней бороться? Обновление бухгалтерии до 3.0.105.14 не помогло. Обновить платформу сейчас нельзя, да и не в ней похоже дело. Пробовали на время отключать регламентные задания - не могло. Не сказать, что большая проблема, но напрягает....
---
Раз под одним пользователем, может ему кеш почистить.
---
Почистил кэш у указанного пользователя - 2 недели как полет нормальный. Но вопрос о том, как пользователь с правами менеджера, ничего не делая укладывал на лопатки весь сервер (пусть и краткосрочно) не дает мне покоя.
---
Раз под одним пользователем, может ему кеш почистить.
---
А ещё можно таки установить эту компоненту. А ещё подключать пользователя платформой х32.
---
Кэш почистить - это да, как локально до него доберусь так и сделаю. Но вопрос немножко в другом: каким образом проблемы одного пользователя с ВК укладывают на лопатки весь сервер, пусть и краткосрочно. Вот что любопытно. А в чем смысл подключать пользователя под х32?
---
Компонента разве не х32? Будет ругаться если попробовать с ней взаимодействовать на платформе х64.
---
А, понял мысль! Да, действительно можно будет поэкспериментировать с этим!
---
Почистил кэш у указанного пользователя - 2 недели как полет нормальный. Но вопрос о том, как пользователь с правами менеджера, ничего не делая укладывал на лопатки весь сервер (пусть и краткосрочно) не дает мне покоя.
Доброго времени суток. Подскажите, пожалуйста, возможно ли реализовать такое условие в запросе: есть документ , в нем есть примечание, нужно примечание у документа обрезать так же как примечание в массиве данных. Или проще будет получить объект результата запроса, и уже с ним проводить действия?

```1c
    ОбрезатьПримечание = Найти(СокрЛП(МассивДанных[0].Примечание), "от");
    Примечание= Лев(СокрЛП(МассивДанных[0].Примечание), ОбрезатьПримечание - 2);

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

```1c
    Запрос.УстановитьПараметры("Примечание", Примечание + "%");
```
---
можно сделать через ПОДСТРОКА(Документ.Примечание, <НачальнаяПозиция>, <Длина>) либо сделать

```1c
    Запрос.УстановитьПараметры("Примечание", Примечание + "%");
```
---
У него начальная позиция каждый раз разная
---
ну тогда в запросе ссылки, а из них получать объект - редактировать и записывать.
---
ничего не понятно.
Этот запрос в цикле выполняется? Для всех элементов МассивДанных
---
нет, не в цикле , массив данных просто в качестве параметра процедуры приходит.
---
Вообще запрос с преобразованием строк не работает. Получайте запросом и в результате обрабатывайте
---
Огромное спасибо за подсказку: Запрос.УстановитьПараметры("Примечание", Примечание + "%");
Еще вопрос к Знатокам. Продажа округлилась в расходной накладной до 60 копеек после пересчета курса доллара. Оплата была от покупателя с 59 копейками. Подскажите пожалуйста как убрать одну копейку лишнюю. Продажа прошлого года. Клиент перешел на УНФ в этом году.
---
включить ручную корректировку и в проводке поправить суммы
---
отключай округление
---
включить ручную корректировку и в проводке поправить суммы
---
корректировка реализации? Я о ней думал.
---
это самое малозаметное для программы....все таки прошлый год
---
Спасибо большое - сейчас сделаем корректировку реализации.
Здравствуйте! Можно ли в СКД настроить заголовки с возможностью выбора уровня группировок, как на картинке?
---
Да, в (2) (3) ответили:
ТабличныйДокумент.ОтображатьЗаголовки;
ТабличныйДокумент.ОтображатьГруппировки;
---
ТабличныйДокумент.ОтображатьЗаголовки;
ТабличныйДокумент.ОтображатьГруппировки;
---
Табличный документ отображать заголовки?
---
А в настройках СКД этого нигде нет?
---
Нет, т.к. СКД здесь не при чем. Это свойства объекта ТабличныйДокумент
---
Понятно. Но ведь отображение заголовков как-то можно сделать, если отчет сделан на СКД и результат выводится в форму?
---
Да, в (2) (3) ответили:
ТабличныйДокумент.ОтображатьЗаголовки;
ТабличныйДокумент.ОтображатьГруппировки;
---
Извините, может вопрос покажется глупым, но куда это вставлять?
---
ПриКомпоновкеРезультата в модуле отчета можно.
---
Спасибо, попробую
Имеется простая внешняя обработка, как ее добавить на панель команд документа. Можно пример программного кода.
---
Вот пример, добавит команду "Нажать" в документ ЗаказКлиента.
---
Вот пример, добавит команду "Нажать" в документ ЗаказКлиента.
---
Спасибо за пример
---
только через вызов формы обработки - если надо открыть форму
или через вызов метода модуля обработки - если надо просто что-то выполнить

в любом случае на форме документа добавляется команда, а уже в команде прописывается нужный код, который должен начинаться с определения объекта обработки, а дальше уже делаете с объектом обработки что хочется, форму открываете с передачей параметров документа или метод вызываете

ЗЫ можно подглядеть, например, в любой типовой конфе в документе реализация, как сделан вызов обработки подбора номенклатуры
здравствуйте.
конфигурация на замке, с расширением. переношу в расширение справочник. переношу его форму. но с формой почему-то не переносится модуль формы. подскажите, пожалуйста, почему.
---
Переопределяемые/дополняемые/добавляемые процедуры/функции надо явно добавить в модуль формы в расширении.
Для этого идете в расширяемую конфигурацию, модуль формы, далее находить процедуру/функцию с которой что-то хотите сделать. Правой кнопкой на ней - Добавить в расширение. Отвечаете на 1-2 вопроса в зависимости от того, что переносите в расширении (обработчик события или нет). После этого оно появится в расширении, а дальше смотрите, при необходимости переносите текст и правите. Ну или нет.
---
Вы реально ожидали увидеть там полный текст модуля?
---
я реально ожидал получить ответ на свой вопрос
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Сообщение было скрыто модератором.
---
Переопределяемые/дополняемые/добавляемые процедуры/функции надо явно добавить в модуль формы в расширении.
Для этого идете в расширяемую конфигурацию, модуль формы, далее находить процедуру/функцию с которой что-то хотите сделать. Правой кнопкой на ней - Добавить в расширение. Отвечаете на 1-2 вопроса в зависимости от того, что переносите в расширении (обработчик события или нет). После этого оно появится в расширении, а дальше смотрите, при необходимости переносите текст и правите. Ну или нет.
---
спасибо за четкий ответ по сути