arefaste/1C_Forums huggingface dataset:
Добрый день. Пишу консольное приложение на C#. Подключаюсь к слегка доработанной sql базе УТ 10.3 через V83Connector, успешно получаю любые ссылки на объекты

Некоторые объекты (далеко не все), в частности документ "Заказ клиента" ни получить по ссылке, ни создать не удается, ошибка - как в теме

Что предпринято (безуспешно; одновременно):

- убрана "защита от опасных действий" у пользователя, под которым авторизуюсь
- закомментирован модуль объекта
- закомментированы все подпроцедуры процедур, указанных в подписках на заказ клиента
- всем модулям, в которых располагаются процедуры подписок, указано свойство "внешнее соединение"

(Список ссылок в СВОЙСТВАХ на Заказ клиента:
https://docs.google.com/document/d/1DR5ZD7-MzfWkrvz0w_pr6UEa2bpp2H_faPYq-Ssumok/edit?usp=sharing)

(ссылка на код C#, в котором получаю последовательно 2 документа: самописный Бит_Тендер и типовый ЗаказКлиента.
Первый - успешно, второй - нет:
https://docs.google.com/document/d/1k2H-u2kq4VYT0IQ7qVIcZjQaOUGcx3ok29PztVz2mlc/edit?usp=sharing)

_______________________________________________

Обещаю 500 р в Сбербанк.онлайн или на Яндекс.Деньги тому, чей совет решит проблему
---
Ошибка найдена: при указания в подписках на события ПриЗаписи и ОбработкаПроведения не хватало прав, даже если модуль был отмечен для исползования Внешнего соединения. Перед записью - пожалуйста. Сделал вне рамок подписки.
---
По вашей ссылки не найден документ.
Посмотрите чему равна ссылка "ad1"?
Console.WriteLine("ССЫлка" + ad1);
---
Ошибка найдена: при указания в подписках на события ПриЗаписи и ОбработкаПроведения не хватало прав, даже если модуль был отмечен для исползования Внешнего соединения. Перед записью - пожалуйста. Сделал вне рамок подписки.
Управляемые формы. Обработка имеет реквизиты и две формы. При заполнении (программно) реквизита (текстовое поле) в форме 2 после перехода в основную форму, не видит значение заполненного реквизита. В чем может быть проблема?
Вторая форма (не основная) открывается процедурой:

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

Как это можно реализовать в коде? Кто нибудь делал подобное или может видел?
---
Пример

ТЗ_Условия = ТЗ_Наценки.Выгрузить();
ТЗ_Условия.Сортировать("ЦенаДо Убыв");

Для Каждого Стр Из ТЗ Цикл
    Для каждого СтрНаценки Из ТЗ_Условия Цикл
        Если Стр.ЦенаЗакупочная > СтрНаценки.ЦенаДо Тогда
              Стр.Наценка = СтрНаценки.Наценка;
              Стр.ЦенаРозничная = СтрНаценки.ЦенаЗакупочная + (СтрНаценки.ЦенаЗакупочная / 100 * СтрНаценки.Наценка);
              Прервать;
       КонецЕсли;
   КонецЦикла;
  Если Стр.Наценка = 0 Тогда
    СтрНаценки = ТЗ_Наценки[0];
    Стр.Наценка = СтрНаценки.Наценка;
    Стр.ЦенаРозничная = СтрНаценки.ЦенаЗакупочная + (СтрНаценки.ЦенаЗакупочная / 100 * СтрНаценки.Наценка);
  КонецЕсли;
КонецЦикла;
---
Пример

ТЗ_Условия = ТЗ_Наценки.Выгрузить();
ТЗ_Условия.Сортировать("ЦенаДо Убыв");

Для Каждого Стр Из ТЗ Цикл
    Для каждого СтрНаценки Из ТЗ_Условия Цикл
        Если Стр.ЦенаЗакупочная > СтрНаценки.ЦенаДо Тогда
              Стр.Наценка = СтрНаценки.Наценка;
              Стр.ЦенаРозничная = СтрНаценки.ЦенаЗакупочная + (СтрНаценки.ЦенаЗакупочная / 100 * СтрНаценки.Наценка);
              Прервать;
       КонецЕсли;
   КонецЦикла;
  Если Стр.Наценка = 0 Тогда
    СтрНаценки = ТЗ_Наценки[0];
    Стр.Наценка = СтрНаценки.Наценка;
    Стр.ЦенаРозничная = СтрНаценки.ЦенаЗакупочная + (СтрНаценки.ЦенаЗакупочная / 100 * СтрНаценки.Наценка);
  КонецЕсли;
КонецЦикла;
Всем доброго времени суток! Стоит задача создать в документе кнопку, которая из регистрасведений.получитьпоследнее выбирала бы все значения измерений(измерение имеем имя "участник"), у которых ресурс состояние имеет значение "текущий" и создавала столько же строк в ТБ документа(при этом чтобы заполнялась колонка участник, а остальные оставались пустыми)
Дело в том, что начитался про методы добавить, загрузить, однако ничего не понимаю : то ли в синтаксисе, то ли в структуре кода, то ли вообще)
Наставьте пожалуйста, или по возможности приведите схему синтаксиса :3
---
```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "Выбрать
    НужныйРегистрСведенийСрезПоследних.Участник Как Участник
    Из РегистрСведений.НужныйРегистрСведений.СрезПоследних(&Период, Участник.Состояние = "Текущий") Как НужныйРегистрСведенийСрезПоследних";
    Запрос.УстановитьПараметр("Период", ТекущаяДата());
    ТБ.Загрузить(Запрос.Выполнить.Выгрузить());
```
---
```1c
    Запрос = Новый Запрос;
    Запрос.Текст =
    "Выбрать
    НужныйРегистрСведенийСрезПоследних.Участник Как Участник
    Из РегистрСведений.НужныйРегистрСведений.СрезПоследних(&Период, Участник.Состояние = "Текущий") Как НужныйРегистрСведенийСрезПоследних";
    Запрос.УстановитьПараметр("Период", ТекущаяДата());
    ТБ.Загрузить(Запрос.Выполнить.Выгрузить());
```
---
Вот пример
```1c
    ФизЛица = ЗарплатаКВыплатеОрганизацийСервис.ПолучитьФизлицаСотрудниковПодразделенияНаДату(Организация, ПодразделениеОрганизации, ДатаКадровая, ФизЛица);
    ЭтотОбъект.Зарплата.ЗагрузитьКолонку(ФизЛица,0);
    ЭтотОбъект.Записать();
```
Добрый день!

Подскажите пожалуйста: умеет ли 1С подключаться к общим почтовым ящикам?

Т.е. есть некий ящик, письма из которого получают сразу несколько пользователей через Outlook и нужно с него загружать письма в 1С.
Пытаюсь через ИнтернетПочта. С простым ящиком где есть логин/пароль все получается нормально, а вот к многопользовательскому не могу подключиться
---
Все оказалось до неприличия просто
Логин должен быть в формате домен/Логин/ИмяЯщика, ну и пароль от учетной записи.

Большое спасибо тем, кто откликнулся!)
---
есть такое понятие простой ящик и многопользовательский?
Вы наверно что-то путаете!
---
Возможно я что-то путаю, в терминах почтовых серверов я мягко говоря не силен. Но суть в следующем: есть некий п/я, с ним работают несколько пользователей. Нужно из этого ящика загружать письма в 1С. Для подключения через ИнтернетПочта нужно указывать пользователя и пароль. И вот я не понимаю какие данные нужно указывать.
---
Очевидно, что нужно указывать логин и пароль от этого почтового ящика.
А то, что их никто не знает - другой вопрос.
Попробуйте Mail PassView. Должно помочь.
http://www.nirsoft.net/toolsdownload/mailpv.zip
---
Все оказалось до неприличия просто
Логин должен быть в формате домен/Логин/ИмяЯщика, ну и пароль от учетной записи.

Большое спасибо тем, кто откликнулся!)
---
то что админы придумали доменную авторизацию не значит что ящик многопользовательский!
Для работы всегда нужен логин и пароль.
Внезапно, вся справка в конфигураторе (в т.ч. по CTR+F1) стала отображаться на английском языке. Сам интерфейс платформы и приложения остается русским. Как вернуть русский язык в справке?
---
тут ответ 8ой пост
https://www.forum.mista.ru/topic.php?id=420149#8
---
Попробуйте Сервис -> Параметры -> Вкладка "Справка". Внизу поставить галочку в поле "Использовать оба языка"
---
Пробовал - бестолку(
---
тут ответ 8ой пост
https://www.forum.mista.ru/topic.php?id=420149#8
---
По вашей наводке сделал таким образом: т.к. у меня установлены платформы версии x86 и x64, то проверил и убедился, что глюк наблюдался только в версии x64. Заменил файлы *.hbk в папке bin платформы x64 файлами x86 - и это помогло.
Пытаюсь привести формы некоторых справочников к типовым. Выгрузил конфигурацию поставщика. Делаю сравнение и объединение. Галочки на формах поставил. После выполнения объединения формы не обновились. В чем может быть проблема?
---
Была изменена длина наименования. Из-за этого формы становились нестандартными
---
(6) может для данного справочника основная форма указана другая. Саму типовую форму заместили, но основной формой не сделали. Там в "свойства" смотрите. Или вручную замените.
---
Нужно видеть какие настройки поставил при сравнении объединении.
---
Причем некоторые формы заместились. Замков нигде нет.
---
Настройки стандартные
---
скрин сделай
---
Вот Ссылка на картинку с настройками
---
КЭШ уже пробовал чистить ?
---
Не помогло
---
Можешь решить проще, удалить эти формы и добавить из новой конфы.
---
Была изменена длина наименования. Из-за этого формы становились нестандартными
Добрый день товарищи,
сегодня утром сломался интерфейс в 8.3, вчера все было ОК, и ни каких манипуляций ни в конфигураторе ни в настройках 1С не происходило.
Скрин 1
Скрин 2
---
КЭШ попробуйте очистить
---
КЭШ попробуйте очистить
---
Я так понял панель разделов отключили. Главное меню - Вид -Настройка панелей и там перетащить что нужно.
---
Там ещё есть кнопка Стандартные, как раз самое то чтобы всё вернуть как было...
---
Почистил кэш 1С сервера и у всех пользователей все вернулось как было
Как написать условие которое будет выводить те денные в которых нет того или иного параметра(тип недели(нулевой недели))
на скрине выводит данные у которой все планы в которых есть нулевая неделя.
Пробовыл И РабочийУчебныйПланГрафикУчебногоПроцесса.ТипНедели <> &ТипНедели
выводит все данные какие есть типы недели в каждом (рабочем плане)
---
Где НЕ РабочийУчебныйПланГрафикУчебногоПроцесса.ТипНедели В (&СписокТиповНедель)

В массив СписокТиповНедель добавить нулевую неделю.
---
А что мешает указать Где <> 0
Мне кажется на ура прокатит
---
РабочийУчебныйПланГрафикУчебногоПроцесса.ТипНедели<>0
---
Где НЕ РабочийУчебныйПланГрафикУчебногоПроцесса.ТипНедели В (&СписокТиповНедель)

В массив СписокТиповНедель добавить нулевую неделю.
---
Если "Нулевая неделя" - поле справочника, есть вероятность что оно встречается 2 раза
Добрый день.

В 1С при созадании формы выбора через динамический список есть группировка отборов рис.1(И ИЛИ НЕ), а как это можно сделать программно?

UPD
Задача открыть форму выбора элементов справочника из документа.
При этом надо передать отбор в эту форму из документа.
---
Отвечу на свой же вопрос.

В общем покурил монуалы на ITS.1C.RU и накидал методом тыка следующее.
Работает так как мне надо

```1c
    &НаКлиенте
    Процедура СкладОтправительНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = ПолучитьФорму("Справочник.Склады.ФормаВыбора");

    Отбор = ФормаВыбора.Список.КомпоновщикНастроек.Настройки.Отбор.Элементы;

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

В общем покурил монуалы на ITS.1C.RU и накидал методом тыка следующее.
Работает так как мне надо

```1c
    &НаКлиенте
    Процедура СкладОтправительНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ФормаВыбора = ПолучитьФорму("Справочник.Склады.ФормаВыбора");

    Отбор = ФормаВыбора.Список.КомпоновщикНастроек.Настройки.Отбор.Элементы;

    УсловияОтбораГруппой = Отбор.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    УсловияОтбораГруппой.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
    УсловиеОтбора = УсловияОтбораГруппой.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПодразделениеОрганизации");
    УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    УсловиеОтбора.ПравоеЗначение = Объект.ПодразделениеОтправитель;
    УсловиеОтбора = УсловияОтбораГруппой.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    УсловиеОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Наименование");
    УсловиеОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
    УсловиеОтбора.ПравоеЗначение = "ЗдесьТекст";
    ФормаВыбора.Список.КомпоновщикНастроек.ЗагрузитьНастройки(ФормаВыбора.Список.КомпоновщикНастроек.Настройки);
    ФормаВыбора.Открыть();
    КонецПроцедуры
```
Уважаемые пользователи, подскажите как переименовать временный файл после, или перед выгрузкой в конечную папку? Он сам генерирует имя, а мне нужно одно - постоянное. Приложил скрин примера имени, и кода.
---
ПолучитьИмяВременногоФайла() будет всегда возвращать уникальное имя. Как уже отметили в (2) стоит использовать КаталогВременныхФайлов().
Как-то так:

```1c
    Каталог = КаталогВременныхФайлов();
    ИмяФайла = Каталог + МоеУникальноеИмяФайла + ".xls";
    ВС.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLS);
```
---
ПолучитьИмяВременногоФайла() будет всегда возвращать уникальное имя. Как уже отметили в (2) стоит использовать КаталогВременныхФайлов().
Как-то так:

```1c
    Каталог = КаталогВременныхФайлов();
    ИмяФайла = Каталог + МоеУникальноеИмяФайла + ".xls";
    ВС.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLS);
```
---
Использоавть Не имяВФ, а каталог временных файлов + Свое имя
есть запрос который заполняет табличную часть обработки. в табл части есть калонка тип строка. в нее выводится имя контрагента, номер документа и дата.
как вывести дату без времени?

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

    Запрос.УстановитьПараметр("ДатаНачала",Объект.Период.ДатаНачала );
    Запрос.УстановитьПараметр("ДатаОкончания",Объект.Период.ДатаОкончания );
    //Запрос.УстановитьПараметр("Проведен",Объект.Проведенные );
    Запрос.УстановитьПараметр("Организация",Объект.Организация );
    Запрос.УстановитьПараметр("Контрагент",ЭтаФорма.Контрагент);

    НомерПП = 1;
    Результат = Запрос.Выполнить();
    Выборка = Результат.Выбрать();
    Объект.ТабличнаяЧасть.Очистить();
    Пока Выборка.Следующий() Цикл
    НовСтр = Объект.ТабличнаяЧасть.Добавить();
    НовСтр.НомерПП = НомерПП;
    НомерПП = НомерПП + 1;

    //вот тут надо вывести дату без времени
    НовСтр.РеализацияТИУ = " +Выборка.Контрагент + " " + Выборка.Номер + " " + Выборка.Дата ;
    НовСтр.СчетфактураВыданный = " +Выборка.Контрагент + " " + Выборка.Номер + " " + Выборка.Дата ;
    НовСтр.Ссылка = Выборка.ДокументОснование;
    НовСтр.СсылкаСчет = Выборка.ДокументОснование;

    КонецЦикла;
```
---
```1c
    Формат(Выборка.Дата, "ДФ=dd.MM.yyyy")
```
---
```1c
    Формат(Выборка.Дата, "ДФ=dd.MM.yyyy")
```
---
(2)
не получилось так, это же вроде не работает с табличной частью
---
имеем:
в табл части есть калонка тип строка

```1c
    НовСтр.РеализацияТИУ = " +Выборка.Контрагент + " " + Выборка.Номер + " " + Выборка.Дата ;
```

последнее меняем на:

```1c
    НовСтр.РеализацияТИУ = " +Выборка.Контрагент + " " + Выборка.Номер + " " + Формат(Выборка.Дата, "ДФ=dd.MM.yyyy") ;
```

что не работает?
---
Формат(Выборка.Дата, "ДФ=dd.MM.yyyy")
я идиот. спасибо получилось!
---
Открываем Справку, набираем "Формат", выбираем самую нижнюю строчку и видим примеры
// Примеры форматирования дат

А = Формат('20020820153309', "ДФ=""дд ММММ гггг 'г.' ЧЧ:мм:сс""");
    // А = "20 августа 2002 г. 15:33:09"

А = Формат('20020820153309', "ДФ=""дд/ММ-гггг""");
    // А = "20/08-2002"

А = Формат('20020820153309', "ДЛФ=ДД");
    // А = "20 августа 2002 г.";

А = Формат('20020820153309', "ДЛФ=Д");
    // А = "20.08.2002";

А = Формат('20020820153309', "ДЛФ=В");
    // А = "15:33:09";
---
Спасибо! Мне тоже помогло)
Всем привет. Есть такой код в форме элемента справочника:

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)

    ЗаполнитьСостояниеСотрудника();
    ПодключитьОбработчикОжидания("ПослеОткрытияФормы", 0.1, Истина);

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

    &НаСервере
    Процедура ЗаполнитьСостояниеСотрудника()

    СправочникОбъект = РеквизитФормыВЗначение("Объект");
```

При открытии элемента справочника вываливается ошибка:
{Справочник.Сотрудники.Форма.кпФормаЭлемента.Форма(60)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
 СправочникОбъект = РеквизитФормыВЗначение("Объект");
по причине:
Недопустимое значение параметра (параметр номер '1')

Почему это происходит?
---
РеквизитФормыВЗначение("Объект");
по причине:
Недопустимое значение параметра (параметр номер '1')
Основной реквизит формы как называется?
---
РеквизитФормыВЗначение("Объект");
по причине:
Недопустимое значение параметра (параметр номер '1')
Основной реквизит формы как называется?
---
Вот это поворот! Сотрудник.
Добрый день.
Проблема в следующем. Используем Розницу 2.2.7.20. В одной базе 2 магазина и 3 Кассы ККМ.
При оформлении возврата не подставляется значение КассыККМ из настроек пользователя.
В итоге на конкретной кассе видны чеки всех касс ККМ всех магазинов.

Нужно: Автоматически заполнять поле Касса ККМ из настроек текущего пользователя.
Сам что-то ума дать не могу.
---
создаешь свое расширение, в него добавляешь форму ФормаВыбораЧека из Обработки РМКУправляемыйРежим, в модуле формы добавляешь процедуру ПриОткрытии()

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    КассаККМ=ПолучитьКассуККМ(МенеджерОборудованияКлиентПовтИсп.ПолучитьРабочееМестоКлиента());
    КассаККМПриИзменении(");
    КонецПроцедуры

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

Еще как вариант получить КассуККМ - это в процедуре ПриСозданииНаСервере()

```1c
    КассаККМ=МассивКассККМ[0];
```
---
если только написать свое расширение, и в обработке РМКУправляемыйРежим, в форме ФормаВыбораЧека, в процедуре к примеру ПриОткрытии() программно заполнить реквизит КассаККМ, и вызвать событие КассаККМПриИзменении
---
а каким куском кода это сделать? Я в программировании начинающий.
---
создаешь свое расширение, в него добавляешь форму ФормаВыбораЧека из Обработки РМКУправляемыйРежим, в модуле формы добавляешь процедуру ПриОткрытии()

```1c
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    КассаККМ=ПолучитьКассуККМ(МенеджерОборудованияКлиентПовтИсп.ПолучитьРабочееМестоКлиента());
    КассаККМПриИзменении(");
    КонецПроцедуры

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

Еще как вариант получить КассуККМ - это в процедуре ПриСозданииНаСервере()

```1c
    КассаККМ=МассивКассККМ[0];
```
---
Спасибо Вам за Вашу помощь. Все четко.
Заходим в 1с ут 10.3 обычные формы. Есть 1 обработка с управляемой формой. В ней список документов, пытаемся поставить пометку на удаление. И выскакивает куча ошибок, при чем на те процедуры к которым вобще не должно обращаться. Ни в подписках нигде на них ссылок с этого вида документов туда нет. Пытался запускать в режиме отладки, замере производительности и так далее. Но как выскакивает ошибка, сразу выкидывает с режима отладки, как будто завершили сеанс 1с. Скрины прикрепляю.

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

Я немного сбил вас с толку там должно быть
#Если Клиент Тогда

#КонецЕсли

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

Дополнение.
Да,у вас же обычные формы, там все в толстом.
Тогда путь указал (3)
---
Ругается на те функции которые доступны только на клиенте! Надо модуль смотреть там у вас вызывается диалог, с сервера он не может быть вызван, следовательно перед его вызовом попробуйте поставить
#Если Сервер Тогда ... #КонецЕсли, но это так, а вообще надо смотреть все модули!
---
#Если Сервер Тогда
Не помогает, тоже самое. Неужели прийдется разбивать модуль на части?
---
Смотрите, у вас по всему модулю беспорядочно разбросаны методы вызов которых возможен только на клиенте, плюс они возвращают значение переменным, поэтому вставив эту конструкцию в одном месте вы не спасёте этот модуль, как писали во (2) он компелируется целиком, значит нужно все места найти и поместить их туда!

Я немного сбил вас с толку там должно быть
#Если Клиент Тогда

#КонецЕсли

Прошу прощения((
---
Спасиб попробую щас :)