arefaste/1C_Forums huggingface dataset:
1С 8.3
Есть перечисление, используется в реквизите документа. Необходимо значения реквизита в запросе складывать с другим значением.
Когда используем ПРЕДСТАВЛЕНИЕ с перечислением то должна получатся строка. Но в запросе я эту строку прибавить не могу, а при использовании ВЫРАЗИТЬ КАК СТРОКА(50) ругается на несовместимые типы.

```1c
    ВЫБРАТЬ
    ВнутренниеДокументы.Ссылка КАК Ссылка,
    ПРЕДСТАВЛЕНИЕ(ВнутренниеДокументы.СтатусДействияДокумента) КАК СтатусДействияДокументаПредставление
    ПОМЕСТИТЬ втСтатусДокумента
    ИЗ
    Справочник.ВнутренниеДокументы КАК ВнутренниеДокументы
    ГДЕ
    ВнутренниеДокументы.СтатусДействияДокумента <> ЗНАЧЕНИЕ(Перечисление.СтатусыДействияДокумента.ПустаяСсылка)
    ;

    ////////////////////////////////////////////////////////////­////////////////////

    ...запрос в котором происходит сложение с полем СтатусДействияДокументаПредставление...
```
---
По-моему, это не совсем тип, это некий указатель 1С после выполнения запроса вызвать соотв. метод.
Если я ничего не напутал, то, вероятно, 1С все равно при обходе выборки вызывает это метод.
Возникает вопрос - можно ли как-то это обойти?
Наверное, да, например , не используем представление вообще, а используем ВЫБОР КОГДА ТОГДА "наша фигня".

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

Но, в общем случае, наверное, тут нужен метод Стива Джобса - "просто не делайте подобным образом"
---
Представление это несовместимый тип.
---
Как в таком случае поступить? Как мне получить совместимый тип из перечисления?
---
Например, можно подготовить таблицу значений с двумя колонками, в первой ссылка на перечисление, во второй нужное наименование. Добавить эту таблицу в запрос, соединиться с ней.
Либо пост обработкой запроса.
---
Это динамический список
---
По-моему, это не совсем тип, это некий указатель 1С после выполнения запроса вызвать соотв. метод.
Если я ничего не напутал, то, вероятно, 1С все равно при обходе выборки вызывает это метод.
Возникает вопрос - можно ли как-то это обойти?
Наверное, да, например , не используем представление вообще, а используем ВЫБОР КОГДА ТОГДА "наша фигня".

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

Но, в общем случае, наверное, тут нужен метод Стива Джобса - "просто не делайте подобным образом"
---
ВЫБОР КОГДА ТОГДА "наша фигня".

В перечислении всего 3 значения, поэтому в запросе можно через выбор сделать строковые представления значений. Так и поступлю.
Добрый день, есть задание (указанно на картинке), мне необходимо ввести документы, справочники, регистры накоплений. Но я так понял что мне надо в документе рассчитать сколько начислено амортизации и сумма износа с начало года, здесь я застрял, как мне надо посчитать все это и какие необходимы реквизиты для расчета? Заранее СПАСИБО!
---
каждый месяц документ "Начисление амортизации"
в нем список ОС
движение по регистру накопления Отчисления = Первоначальная стоимость : СПИ в месяцах
Сумма износа = сумма амортизации с начала года
амортизация = сумма за 1 месяц
---
так понял что мне надо в документе рассчитать сколько начислено амортизации и сумма износа с начало года
сумма износа с начала года берется из регистра для отчёта, хранить её в документе нет смысла.
---
Поизучайте, как происходит начисление амортизации и учет ОС в типовых конфигурациях. https://programmist1s.ru/nachislenie-amortizatsii-v-1s/
---
я же могу рассчитать все в документе передать в регистр, а от регистра уже в отчет?
---
что всё? вам нужно посчитать амортизацию текущего периода и записать ее в регистр.
---
а вот как ее посчитать?
---
а вот как ее посчитать? В соответствии с ФСБУ 6/2020, который предусматривает три разных метода начисления амортизации:
1. Линейный.
2. Способ уменьшаемого остатка.
3. Способ списания стоимости пропорционально объему продукции (работ).

Вы хотите, чтобы вам тут, на форуме растолковывали их все? Или потрудитесь самостоятельно погуглить?
---
каждый месяц документ "Начисление амортизации"
в нем список ОС
движение по регистру накопления Отчисления = Первоначальная стоимость : СПИ в месяцах
Сумма износа = сумма амортизации с начала года
амортизация = сумма за 1 месяц
Добрый день, есть отчет на СКД, один из отборов булевого типа ДА/НЕТ добавлен в пользовательские настройки. Как оставить пользователю возможность включения/выключения отбора и при этом убрать возможность выбора. Чтобы по умолчанию стояло НЕТ, а ДА нельзя было выбрать?
P.S. Управляемые формы, платформа 8.3.
P.P.S. Заранее спасибо за помощь.
---
Случайно нашел решение, если в настройках отчета, в вкладке отборы в представление нужного отбора выставить любую цифру или текст при другом типе, то пропадет выбор значения отбора. Будет доступно только включение отбора с значением по умолчанию. Всем спасибо за помощь.
---
http://joxi.ru/eAO8k0jCv9KZ1r оно?
---
Да, оно самое
---
Можно попробовать перенести отбор в параметры.
---
А в отборах не выйдет?
---
закладка "Параметры"
"Доступные значения" - значения, доступные для отбора.
"Ограничение доступности"- и перевыбрать не может
---
а если не через параметры, а отбор?
---
Тогда, на мой взгляд, нужно будет программно ограничивать доступность
---
Случайно нашел решение, если в настройках отчета, в вкладке отборы в представление нужного отбора выставить любую цифру или текст при другом типе, то пропадет выбор значения отбора. Будет доступно только включение отбора с значением по умолчанию. Всем спасибо за помощь.
Поставил точку останова в начале процедуры ДобавитьКомандыПечати в модуле менеджера заказа клиента. При открытии списка останавливается, при открытии документа останавливается. Но если закрыть обе формы и ещё раз их открыть, то уже не останавливается. Понятно что это кэширование, но вот информации по этому на ИТС не нашёл. Кто то может подсказать где про это почитать?
8.3.20.1674, УТ 11.5.7.351.
---
Наверно ДобавитьКомандыПечати вызывает процедура модуля с повторным использованием
---
Я не знал что у модулей есть такая возможность. Минусы убрал, сразу бы по человечески объяснили что это такое.
https://its.1c.ru/db/v8std/content/724/hdoc
---
Наверно ДобавитьКомандыПечати вызывает процедура модуля с повторным использованием
---
Какая процедура?
---
не знаю. посмотреть стек вызовов и узнать
---
ну да, как я и говорил: модуль с повторным использованием... Можно еще минус?)
---
Вам на мисту с такими ответами
---
Я не знал что у модулей есть такая возможность. Минусы убрал, сразу бы по человечески объяснили что это такое.
https://its.1c.ru/db/v8std/content/724/hdoc
---
Можно ж было спросить, если непонятно. Изначально ведь это было предположение, а не утверждение.
Добрый день,
возник вопрос - если мы добавляем какой-нибудь справочник в расширение, но не добавляем в расширение реквизиты этого справочника, то при обращении в модуле справочника будет выдаваться "Переменная не определена (ИмяПеременной)", но при этом в программе всё будет выполняться без ошибок.
Соответственно, ругательство на якобы несуществующие переменные в этом случае не совсем удобно. Можно ли избежать таких излишних "ругательств" кроме как добавлять реквизиты в расширение?
---
Как вариант к реквизиту можно обращаться
ЭтотОбъект.Реквизит или ТекущийОбъект.Реквизит
смотря где обращение идет.
Синтаксис помощник правда подсказывать не будет, но ошибки при сохранении не будет.
---
Из описания никакой ошибки не должно быть.
---
Обращаться к реквизитам через ОбщегоНазначения.ЗначениеРеквизитаОбъекта(), если конечно обращение не происходит в контексте объекта
---
Вариант хороший, только в модуле справочника действительно не со ссылкой идет работа, а с объектом.
Но, как вариант, можно попробовать обращаться к серверному модулю, к функции тупо реквизит объекта возвращающей.
---
в таком случае заимствовать и реквизиты. Сам с лишним заимствованием в расширении, но потом смирился. Хорошо хоть есть фильтр по "Измененные и добавленные в расширении"
---
Если не ошибаюсь, то правильнее заимствовать реквизиты. Вроде и в стандартах это указано
---
Как вариант к реквизиту можно обращаться
ЭтотОбъект.Реквизит или ТекущийОбъект.Реквизит
смотря где обращение идет.
Синтаксис помощник правда подсказывать не будет, но ошибки при сохранении не будет.
По поводу "Код ошибки: 5" не нахожу ничего в интернете,

```1c
    ИнПочта = Новый ИнтернетПочта;
    ИнПрофиль = Новый ИнтернетПочтовыйПрофиль;
    ИнПрофиль.ВремяОжидания = 280;
    ИнПрофиль.АдресСервераSMTP = "smtp.mail.ru";
    ИнПрофиль.АдресСервераPOP3 = "pop.mail.ru";
    ИнПрофиль.Пользователь = "murad208199@mail.ru";
    ИнПрофиль.ПользовательSMTP = "murad208199@mail.ru";
    ИнПрофиль.Пароль = "МойПароль";
    ИнПрофиль.ПарольSMTP = "МойПароль";
    ИнПрофиль.ПортSMTP = 465;
    ИнПрофиль.ИспользоватьSSLSMTP = Истина;
    ИнПрофиль.ПортPOP3 = 995;
    ИнПрофиль.ИспользоватьSSLPOP3 = Истина;
    //ИнПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
    ИнПрофиль.ТолькоЗащищеннаяАутентификацияSMTP = Истина;

    Сообщение = Новый ИнтернетПочтовоеСообщение;
    Сообщение.Отправитель.Адрес = "murad208199@mail.ru";
    Сообщение.Отправитель.ОтображаемоеИмя = "Выгрузка";
    Сообщение.Тема = "Выгрузка";
    Сообщение.Вложения.Добавить("C:\Users\Мурад\Documents\тест.xlsx");
    Получатель = Сообщение.Получатели.Добавить("dgd733@mail.ru");

    Попытка
    ИнПочта.Подключиться(ИнПрофиль);
    Исключение
    Сообщить("При подключении к серверу произошла ошибка! Проверьте учетные данные профиля почты." + ОписаниеОшибки(), СтатусСообщения.Важное);
    КонецПопытки;

    Попытка
    ИнПочта.Послать(Сообщение);
    Сообщить("Письмо отправлено!");
    Исключение
    Сообщить("При отправке возникли проблемы. Письмо не отправлено. Проверьте правильность заполнения профиля и почты." + ОписаниеОшибки(),СтатусСообщения.Важное)
    КонецПопытки;

    ИнПочта.Отключиться();
```

При отправке выходит ошибка "При подключении к серверу произошла ошибка! Проверьте учетные данные профиля почты.{ВнешняяОбработка.ВнешняяОбработка1.МодульОбъекта(79)}: Ошибка при вызове метода контекста (Подключиться): Произошла ошибка при работе с POP3. Код ошибки: 5 ". То есть не удается подключитмя к почтовому профилю, но письмо все же отправляется и приходит на указанный адрес.......
---
Уже разобрался, стандартный пароль от почты не подходит, нужно генерировать специальный пароль для внешнего приложения
---
Уже разобрался, стандартный пароль от почты не подходит, нужно генерировать специальный пароль для внешнего приложения
УТ. Мне нужно получить список всех документов по определенному условию. Проблема в том, что документы могут быть разных типов, а мне их нужно вывести в одну колонку.
---
смотря откуда.... если из регистра....регистратор....то выводим его....а доки разные
если собираем объединением, то поля соединяем
---
смотря откуда.... если из регистра....регистратор....то выводим его....а доки разные
если собираем объединением, то поля соединяем
---
Точно, забыл что существует объединение
Добрый Вечер!
Процедура по кнопке

Есть таблица с множеством строк. Есть Колонка "Номенклатура"

Необходимо найти строку в этой же таблице с аналогичной записью "Номенклатура" (из активной стр) и внести изменения

Пример:
 Номенклатура. Цена
Стул 500 это текущая строка
Стол 1000
Окно 20000
стул 600
В текущей строке

```1c
    Процедура ЧПЦенаПриИзменении(Элемент)
    ТекДанные = Элементы.Таблица.ТекущиеДанные;
    Если ТекДанные = Неопределено Тогда
    Возврат; //если пустая таблица
    КонецЕсли;
    ТекДанные.ЧистаяПрибыльТекущая = ТекДанные.ЦенаПродажи - ТекДанные.ЛогистикаВБ - (ТекДанные.ЦенаПродажи/100 * ТекДанные.КомиссияВБ) - ТекДанные.Себестоимость - (ТекДанные.ЦенаПродажи/100 * ТекДанные.Налог) - ТекДанные.Упаковка;
    ТекДанные.СогласованнаяСкидка__ = ((ТекДанные.ТекущаяРозн_Цена_доСкидки_ - ТекДанные.ЦенаПродажи)* 100) / ТекДанные.ТекущаяРозн_Цена_доСкидки_;
    ТекДанные.ЦенаПродажи = ТекДанные.ТекущаяРозн_Цена_доСкидки_ - (ТекДанные.ТекущаяРозн_Цена_доСкидки_/100 * ТекДанные.СогласованнаяСкидка__);
    ТекДанные.ЧистаяПрибыльТекущая = ТекДанные.ЦенаПродажи - ТекДанные.ЛогистикаВБ - (ТекДанные.ЦенаПродажи/100 * ТекДанные.КомиссияВБ) - ТекДанные.Себестоимость - (ТекДанные.ЦенаПродажи/100 * ТекДанные.Налог) - ТекДанные.Упаковка;
    КонецЦикла;
    КонецПроцедуры
```

Все отрабатывает
Нужно чтобы после этого по нажатию кнопки были найдены все строки где номенклатура "стол" и присвоено значение цена 500 и потом пересчитать остальные колонки по новой сумме/

ps я только 5 дней как стала разбираться в программировании/ поэтому вопрос может и не сложный но я не могу найти решение/

Спасибо за помощь
---
проще в ПередЗаписью Свернуть() ТЧ и пересчитать показатели.

А так, достаточно массивСтрок = ВашаТЧ.НайтиСтроки (Новый Структура("Номенклатура",ССылкаНаНоменклатуруИзТч));

Ну и дальше обход массива и присвоение показателей.
---
проще в ПередЗаписью Свернуть() ТЧ и пересчитать показатели.

А так, достаточно массивСтрок = ВашаТЧ.НайтиСтроки (Новый Структура("Номенклатура",ССылкаНаНоменклатуруИзТч));

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

Конф: УТ 11.5.
---
Добавил обработку в расширение, отредактировал запрос, вынес во внешнюю, и все заработало.
---
Добавил обработку в расширение, отредактировал запрос, вынес во внешнюю, и все заработало.
---
)) сам спросил, сам ответил, сам себя похвалил ...
---
Ахаха, в первый раз такое ))) но все по-факту, проблеме решена в считанные минуты, над которой бился полдня
Стоит задача создать внешнюю обработку с табличной частью, в которую записываются выбранные элементы справочника Партнеры, при нажатии на кнопку "Подбор" происходит множественный выбор элементов справочника Партнеры и записываются в табличную часть. Сама проблема: как записать выбранные элементы справочника в ТЧ формы внешней обработки?

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

    &НаКлиенте
    Процедура ПриЗакрытииФормыВыбора(Значение, ДопПараметры) Экспорт
    Счетчик = 0;
    Пока Значение.Количество() <> Счетчик Цикл
    Строка = Объект.СписокПерезаписываемыхЭлементов.Добавить();

    //Сообщить(Значение.Получить(Счетчик));
    Счетчик = Счетчик + 1;
    КонецЦикла;
    КонецПроцедуры
```
---
Например так:
Пока Значение.Количество() <> Счетчик Цикл
Строка = Объект.СписокПерезаписываемыхЭлементов.Добавить();

Строка.Партнер = Значение.Получить(Счетчик);
Счетчик = Счетчик + 1;
КонецЦикла;

Смотря что из формы подбора возвращается в параметре Значение, из него нужно считать значение
---
Например так:
Пока Значение.Количество() <> Счетчик Цикл
Строка = Объект.СписокПерезаписываемыхЭлементов.Добавить();

Строка.Партнер = Значение.Получить(Счетчик);
Счетчик = Счетчик + 1;
КонецЦикла;

Смотря что из формы подбора возвращается в параметре Значение, из него нужно считать значение
---
Большое спасибо
Доброго времени суток. Есть обработка с таблицей значений. Подскажите, пожалуйста, можно ли как то реализовать заполнение таблицы после открытия формы программно, не нажимая никаких кнопок? Или может быть можно каким то образом при открытии показывать индикатор выполнения загрузки данных?
---
можно.
НСТр = Объект.Таблица.Добавить();
НСтр.Номенклатура = Х;
НСтр.Количество = Y

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

а для заполнения табличной части очень удобно пользоваться запросом

ну собственно сама процедура загрузки таблицы будет выглядеть:

объект.Таблица.Загрузить(РезультатЗапроса.Выполнить().Выгрузить());

и да, еще момент имена полей запроса должны быть идентичны наименованиям колонок таблицы
---
Спасибо!
---
можно.
НСТр = Объект.Таблица.Добавить();
НСтр.Номенклатура = Х;
НСтр.Количество = Y

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

&НаСервере
Процедура ВыгрузитьНаСервереВExcel(НазваниеДокумента,ПутьКФайлуExcel)
    ApplicationExcel = Новый COMОбъект("Excel.Application");
    ApplicationExcel.Visible = Истина;
    ApplicationExcel.Workbooks.Open(ПутьКФайлуExcel);

    ApplicationExcel.Sheets(1).Cells(1,1).Value = "Номенклатура";
    ApplicationExcel.Sheets(1).Cells(1,2).Value = "Количество";
    ApplicationExcel.Sheets(1).Cells(1,3).Value = "ЦенаПоступления";
    ApplicationExcel.Sheets(1).Cells(1,4).Value = "Стоимость";

    ТЧ = Объект.ТабличнаяЧасть1;
    Сч = 2;
    Для каждого Строчка Из ТЧ Цикл
        Если Строчка.Галка = Истина Тогда
            ApplicationExcel.Sheets(1).Cells(Сч,1).Value = Строка(Строчка.Номенклатура);
            ApplicationExcel.Sheets(1).Cells(Сч,2).Value = Строка(Строчка.Количество);
            ApplicationExcel.Sheets(1).Cells(Сч,3).Value = Строка(Строчка.ЦенаПоступления);
            ApplicationExcel.Sheets(1).Cells(Сч,4).Value = Строка(Строчка.Стоимость);

            Сч = Сч +1;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры
---
```1c
    ApplicationExcel.Workbooks.Add();
```
---
```1c
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.Записать("Файл.xls", ТипФайлаТабличногоДокумента.XLS);
```
---
А где это надо писать? И надо что-то убирать из процедуры, которую я написал?
---
Сейчас нет необходимости работать с xls через COM, особенно актуально если используется linux. Можно через табличный документ все сделать. Поэтому ответ на ваш вопрос - вместо вашего кода.
---
А если в экселевском файле макрос для выгрузки в SAP, то что тогда делать? Если я этот файл пересохраню средствами 1С, то макрос сохранится?
---
Нет. Я у автора макрос не увидел?
---
Нет. Это я уже про свой случай решил спросить пользуясь случаем.
---
если в екселе какие-то формулы, макросы, форматы и прочие изыски, сохранение табличного документа в ексель никак не поможет.
Если в екселе нужен макрос, то я делаю шаблон екселя с нужным макросом, его открываю, заполняю и сохраняю в новый файл. Шаблон лежит в заданном месте постоянно.
---
```1c
    ApplicationExcel.Workbooks.Add();
```
---
А где это надо писать? И надо что-то убирать из процедуры, которую я написал?
---
ну вместо открытия файла - создание нового...

```1c
    ApplicationExcel.Workbooks.Open(ПутьКФайлуExcel);
    ApplicationExcel.Workbooks.Add();
```
---
Получилось,спасибо
вот такой вопрос. на прикрепленной фотографии необходимо реализовать автоматический подсчет оценок введенных пользователем, и вывести результат в "Итог". если делать через ТЧ, то вопросов нету, а надо без нее. помогите пж
---
вот решение
---
Вычислить("1+2"); // 3
---
а в чем проблема то ?

вот это запихнешь в процедуру ПриИзмененииПоказателя()
Итог = Показатель1+Показатель2+...ПоказательN;

И для каждого реквизита задашь обработчик ПриИзМенении в котором будет вызов ПриИзмененииПоказателя
---
проблема в том, что маленько не понятно как должно реализовано быть сбор введенных данных, как брать данные из фомы
---
открываешь свойство своего числового реквизита, например "оценка остроумия" ему задаешь обработчик ПриИзменении - указываешь что на клиенте - попадаешь в модуль формы в эту процу, унутре неё пишешь вызов ПриИзмененииПоказателя().
Аналогично для остальных контролов на форме.

И далее описываешь саму процедура ПриИзмененииПоказателя() в которой вычисляешь свой итог. Усё.

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

В 1С:ERP, разработчики релиза 2.5.7.226, удалили РегистрНакопления.ОбеспечениеЗаказов.

Пожалуйста, подскажите чем его заменили или чем его заменить?
---
Заменён на регистр сведений РаспределениеЗапасов.
Этим же регистром сведений заменили регистр накопления СвободныеОстатки.
---
возьмите старый релиз где этот регистр присутствует там найдите регистраторов этого регистра
в новом релизе найдите этот объект(регистратор) и увидите регистр который вам нужен.
под рукой нет erp рф так бы подсказал на какой именно регистр был сменен
---
Заменён на регистр сведений РаспределениеЗапасов.
Этим же регистром сведений заменили регистр накопления СвободныеОстатки.
---
Никто свободные остатки не убирал, они все так же есть в накоплениях. и дублируются в этом регистре сведений
---
неправду глаголишь
---
воистину