Изменение ТЗ справочника = изменение Регистра
Всем доброго времени суток, есть у меня следующий код вызываемый процедурой ПриИзменении:
ТекущиеДанные = Элементы.ТаблицаРесурсыИзделия.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ПризнакОсновногоРесурса = ТекущиеДанные.ПризнакОсновногоРесурса;
Для Каждого СтрокаТЧ Из ТаблицаРесурсыИзделия Цикл
СтрокаТЧ.ПризнакОсновногоРесурса = Ложь;
КонецЦикла;
Код не дает пользователю выставлять два значения типа: Булево (флажок) в колонке табличной части. Но столкнулся с тем что в ТЗ у меня фактически отображается Регистр сведений, который приповторном открытии справочника отображает и убранные флажки и новый.
Вопрос: как можно это исправить? (чтобы при изменении данные изменялись и в регистре)
P.S. В 1С новенький, если возможно то желательно кодом.
ТекущиеДанные = Элементы.ТаблицаРесурсыИзделия.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ПризнакОсновногоРесурса = ТекущиеДанные.ПризнакОсновногоРесурса;
Для Каждого СтрокаТЧ Из ТаблицаРесурсыИзделия Цикл
СтрокаТЧ.ПризнакОсновногоРесурса = Ложь;
КонецЦикла;
Код не дает пользователю выставлять два значения типа: Булево (флажок) в колонке табличной части. Но столкнулся с тем что в ТЗ у меня фактически отображается Регистр сведений, который приповторном открытии справочника отображает и убранные флажки и новый.
Вопрос: как можно это исправить? (чтобы при изменении данные изменялись и в регистре)
P.S. В 1С новенький, если возможно то желательно кодом.
По теме из базы знаний
- Версионирование справочников, документов и регистров сведений на SQL-сервере
- Доработка проведения в ERP 2.5. (Регистры накопления, Регистры сведений)
- Синхронизация справочников или импорт данных через HTTP-сервис
- ТЗ как обязательный атрибут в автоматизации. Реальные кейсы из 16-ти летнего опыта
- Блокировка изменения объектов через обмен данными в базе приемнике - для обменов в формате EnterpriseData
Найденные решения
(26) Если у тебя уже записаны две записи, они в одну не превратятся. Очисти отбор, потом запиши новый:
РС = РегистрыСведений.Ресурсы.СоздатьНаборЗаписей();
РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
РС.Прочитать();
РС.Очистить();
Для Каждого Строка Из ТекущиеДанные Цикл
СтрокаРС = РС.Добавить();
СтрокаРС.Изделие = Строка.Изделие;
СтрокаРС.РесурсыИзделия = Строка.РесурсыИзделия
Для всех - ЕдиницыИзмерения,СпособыХранения,СрокСлужбы,СрокХранения,УстановленныйРесурс,ПризнакОсновногоРесурса,Примечание
СтрокаРС.ПризнакОсновногоРесурса = Ложь;
КонецЦикла;
РС.Записать();
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
ПризнакОсновногоРесурса - в РС это ресурс или измерение?
РС непериодический? не подчинен регистратору?
РС непериодический? не подчинен регистратору?
Было по отбору в РС: https://forum.infostart.ru/forum9/topic53989/
посмотрите. Должно подойти.
посмотрите. Должно подойти.
Для Каждого СтрокаТЧ Из ТаблицаРесурсыИзделия Цикл
РС = РегистрыСведений.ВашРС.СоздатьНаборЗаписей();
РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
РС.Прочитать();
Для Каждого Строка Из РС Цикл
СтрокаТЧ.ПризнакОсновногоРесурса = Ложь;
КонецЦикла;
РС.Записать();
КонецЦикла;
Показать&На клиенте
Процедура ПриИзменении()
ТекущиеДанные = Элементы.ТаблицаРесурсыИзделия.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ВыполнитьСервер(ТекущиеДанные);
КонецПроцедуры
&НаСервереБезКонтекста
Процедура ВыполнитьСервер(ТекущиеДанные);
Для Каждого СтрокаТЧ Из ТекущиеДанные Цикл
РС = РегистрыСведений.ВашРС.СоздатьНаборЗаписей();
РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
РС.Прочитать();
Для Каждого Строка Из РС Цикл
СтрокаТЧ.ПризнакОсновногоРесурса = Ложь;
КонецЦикла;
РС.Записать();
КонецЦикла;
КонецПроцедуры
Показать
(26) Если у тебя уже записаны две записи, они в одну не превратятся. Очисти отбор, потом запиши новый:
РС = РегистрыСведений.Ресурсы.СоздатьНаборЗаписей();
РС.Отбор.Изделие.Установить(СтрокаТЧ.Изделие);
РС.Отбор.РесурсыИзделия.Установить(СтрокаТЧ.РесурсыИзделия);
РС.Прочитать();
РС.Очистить();
Для Каждого Строка Из ТекущиеДанные Цикл
СтрокаРС = РС.Добавить();
СтрокаРС.Изделие = Строка.Изделие;
СтрокаРС.РесурсыИзделия = Строка.РесурсыИзделия
Для всех - ЕдиницыИзмерения,СпособыХранения,СрокСлужбы,СрокХранения,УстановленныйРесурс,ПризнакОсновногоРесурса,Примечание
СтрокаРС.ПризнакОсновногоРесурса = Ложь;
КонецЦикла;
РС.Записать();
Показать
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот