Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 дек 2025, 17:35

вывести колонку по значению Истина

Автор sali, 09 окт 2025, 08:25

0 Пользователей и 1 гость просматривают эту тему.

sali

antoneus, будет сильно отличаться от того этого?

Запрос = Новый Запрос("ВЫБРАТЬ
| ЭДОН_ПараметрыРегламентныхЗаданий.ПолноеНаименование КАК ПолноеНаименование,
| ЭДОН_ПараметрыРегламентныхЗаданий.ТорговоеОборудование КАК ТорговоеОборудование,
| ЭДОН_ПараметрыРегламентныхЗаданий.СохраненныеНастройки КАК СохраненныеНастройки
|ИЗ
| РегистрСведений.ЭДОН_ПараметрыРегламентныхЗаданий КАК ЭДОН_ПараметрыРегламентныхЗаданий
|ГДЕ
| ЭДОН_ПараметрыРегламентныхЗаданий.ТорговоеОборудование = &ТорговоеОборудование
| И ЭДОН_ПараметрыРегламентныхЗаданий.ПолноеНаименование = &ПолноеНаименование");

Запрос.УстановитьПараметр("ТорговоеОборудование", ТекущийОбъект.ТорговоеОборудование);
Запрос.УстановитьПараметр("ПолноеНаименование", ТекущийОбъект.ПолноеНаименование);

РезультатЗапроса = Запрос.Выполнить();
ВыборкаЗапроса = РезультатЗапроса.Выбрать();
Пока ВыборкаЗапроса.Следующий() Цикл   
Если  ВыборкаЗапроса.СохраненныеНастройки <> ТекущийОбъект.СохраненныеНастройки Тогда
Возврат ВыборкаЗапроса.ПолноеНаименование;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецЦикла;


antoneus

Несильно, в условии запроса выразить полное наименование.

sali

Цитата: antoneus от 13 окт 2025, 14:03Несильно
ну да , единственно по трем параметрам можно получить окончательный результат , а по моему варианту получаю результат который еще нужно проверить на настройки

sali

antoneus, можно ли такой код
Если ЗначениеЗаполнено(ПланыОбмена.Б_ОбменССайтом.НайтиПоНаименованию(ТекущийОбъект.Наименование,Истина)) И НЕ ЗначениеЗаполнено(ТекущийОбъект.Ссылка) тогда

Сообщить("Уже существует настройка с таким именем. Сохранение невозможно.");
Отказ = Истина;
Возврат;

КонецЕсли;

поменять на свои проверки , по типу , проверить на заполненность наименования и изменения идентификатора
с 00000000-0000-0000-0000-000000000000 на 3de72ee8-f8b2-11e4-92f1-0050568b35ac
к примеру
если значениезаполнено(наименование) и не идентификатор = "00000000-0000-0000-0000-000000000000" - такому значению то задание еще не сформировалось полностью , со всеми настройками  и можно продолжить???

sali

antoneus, в регистре сведений можно ли написать похожий код?
// код в модуле объекта План обмена


Процедура ПередЗаписью(Отказ)

    ЭтоНовый = ЭтоНовый();

Если ПустаяСтрока(Код) Тогда
УстановитьНовыйКод();
КонецЕсли;

НайденныйУзел = ПланыОбмена.Б_ОбменССайтом.НайтиПоНаименованию(Наименование);

Если ЗначениеЗаполнено(НайденныйУзел) и НайденныйУзел.Ссылка <> ЭтотОбъект.Ссылка тогда
Сообщить("Уже существует такое наименование настройки обмена. Укажите новое наименование");
Отказ = Истина;

КонецЕсли;

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


antoneus

Код, который что должен сделать?

sali

antoneus, создается регламентное задание с настройками для выгрузки заказов, номенклатуры
первая (точнее вторая) страница формы, задаются главные параметры куда выгружать, с чего
Снимок экрана 2025-10-15 105305.png

следующая страница, для настроек выгрузки. как только нажимаешь на кнопку "Настроить" - ТекущийОбъект создается и записывается в список регламентных заданий, ему присваивается ссылка. После того как настройка выгрузк сделалась и нажимаешь Записать, проходит проверка и объект либо записывается, либо говорит "Уже существует настройка с таким именем" или "Настройка была изменена" . в модуле объекта (план обмена) -есть еще код
 
Снимок экрана 2025-10-15 105256.png
Перем ЭтоНовый;

#Область ОбработчикиСобытий

Процедура ПередЗаписью(Отказ)

    ЭтоНовый = ЭтоНовый();

Если ПустаяСтрока(Код) Тогда
УстановитьНовыйКод();
КонецЕсли;

НайденныйУзел = ПланыОбмена.Б_ОбменССайтом.НайтиПоНаименованию(Наименование);

Если ЗначениеЗаполнено(НайденныйУзел) и НайденныйУзел.Ссылка <> ЭтотОбъект.Ссылка тогда
Сообщить("Уже существует такое наименование настройки обмена. Укажите новое наименование");
Отказ = Истина;

КонецЕсли;

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

Процедура ПриЗаписи(Отказ)

Если ЭтоНовый тогда
НоваяЗапись = РегистрыСведений.Б_ИнформацияОНастройкахОбменаССайтом.СоздатьМенеджерЗаписи();
НоваяЗапись.НастройкаОбмена = ЭтотОбъект.Ссылка;
НоваяЗапись.ВидСостояния = "Принудительная полная выгрузка";
НоваяЗапись.ПринудительнаяПолнаяВыгрузка = Истина;
НоваяЗапись.Записать();
КонецЕсли;

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

я пытаюсь сделать похожее только через РС. но не знаю как делать проверки  при/перед записями

sali

antoneus, проще говоря наладить проверку в РС при/перед записью
как я понимаю , когда начинаешь настраивать настройки выгрузки создается запись , после того как все настроили нажимаем Записать и Закрыть проходим код в модуле объекта , Объект назначается как новый и на проверке Если ЗначениеЗаполнено(ПланыОбмена.Б_ОбменССайтом.НайтиПоНаименованию(ТекущийОбъект.Наименование,Истина)) И НЕ ЗначениеЗаполнено(ТекущийОбъект.Ссылка) тогда

ссылка новая что ли

antoneus

ПриЗаписи объект уже записан в базу данных, да.

sali


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск