Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Форма списка команда Переместить в группу. Какое событие?          
Sharki Подменю пользователя
сообщение 24.12.13, 14:10
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 47
Спасибо сказали: 12 раз
Рейтинг: 0

Доброго времени суток.
В форме списка есть стандартная команда Переместить в группу которая вызывает форму выбора группы и выделенные элементы переносит в соответствующую группу.
Хочется отловить этот момент, задать албанский вопрос и в зависимости от ответа дополнительно обработать изменяемые элементы.

Собственно какое событие поможет делу?

на данный момент в голове самому сделать эту команду и выполнить этот функционал.. но это более трудоемко.

варианты о модуле объекта не предлагать ибо албанские вопросы пользователю с сервера не задашь.

з.ы. дополнительно обрабатываю перетаскивание элемента в группу но заказчик хочет воспользоваться такой командой.

logist Подменю пользователя
сообщение 24.12.13, 14:26
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(Sharki @ 24.12.13, 15:10) *
Собственно какое событие поможет делу?

ПриСменеТекущегоРодителя


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Sharki Подменю пользователя
сообщение 24.12.13, 14:39
Сообщение #3

Общительный
**
Группа: Пользователи
Сообщений: 47
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(logist @ 24.12.13, 15:26) *
ПриСменеТекущегоРодителя

это событие возникает при выборе в текущих данных группового элемента.

точнее даже при раскрытия группы в форме списка

logist Подменю пользователя
сообщение 24.12.13, 14:50
Сообщение #4

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Второй и последний вариант "ПередНачаломИзменения", если и это не то, значит в форме списка никак не отловите.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Sharki Подменю пользователя
сообщение 24.12.13, 14:58
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 47
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(logist @ 24.12.13, 15:50) *
Второй и последний вариант "ПередНачаломИзменения", если и это не то, значит в форме списка никак не отловите.

( такое к сожалению тоже не катит.. ладно буду делать свою команду..

Sharki Подменю пользователя
сообщение 24.12.13, 16:22
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 47
Спасибо сказали: 12 раз
Рейтинг: 0

Вот наваял.. самое простое исполнение данной команды:
&НаКлиенте
Процедура ПереместитьВГруппу(Команда)
    
    лФорма = ПолучитьФорму("Справочник.ВашСправочник.ФормаВыбораГруппы");
    лНовыйРодитель = лФорма.ОткрытьМодально();
    
    Если лЗначение <> Неопределено Тогда//выбрано какое-то значение
        Для Каждого лЭлемент Из Элементы.Список.ВыделенныеСтроки Цикл
            ИзменитьНаСервере(лЭлемент, лНовыйРодитель);
        КонецЦикла;
    КонецЕсли;    
    
    Элементы.Список.Обновить();
    
КонецПроцедуры

&НаСервере
Процедура ИзменитьНаСервере(пЭлемент, пНовыйРодитель);
    
    лОбъект = пЭлемент.ПолучитьОбъект();
    лОбъект.Родитель = пНовыйРодитель;
    лОбъект.Записать();
    
КонецПроцедуры


ну а дальше делаем что хотим.

может кому пригодится

Vofka Подменю пользователя
сообщение 24.12.13, 16:26
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7

Sharki, единственное что, я бы цикл полностью вынес в серверную (кстати, безконтекстную) процедуру, чтоб не гонять каждый раз данные клиент-сервер-клиент:

&НаКлиенте
Процедура ПереместитьВГруппу(Команда)
    
    лФорма = ПолучитьФорму("Справочник.ВашСправочник.ФормаВыбораГруппы");
    лНовыйРодитель = лФорма.ОткрытьМодально();
    
    Если лЗначение <> Неопределено Тогда//выбрано какое-то значение
         ИзменитьНаСервере(Элементы.Список.ВыделенныеСтроки, лНовыйРодитель);
    КонецЕсли;    
    
    Элементы.Список.Обновить();
    
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ИзменитьНаСервере(Элементы, пНовыйРодитель);
    
    Для Каждого пЭлемент ИЗ Элементы Цикл
       лОбъект = пЭлемент.ПолучитьОбъект();
       лОбъект.Родитель = пНовыйРодитель;
       лОбъект.Записать();
   КонецЦикла;
    
КонецПроцедуры


Сообщение отредактировал Vofka - 24.12.13, 16:26

Sharki Подменю пользователя
сообщение 24.12.13, 16:39
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 47
Спасибо сказали: 12 раз
Рейтинг: 0

ну тогда я бы поместил Элементы.Список.ВыделенныеСтроки в отдельную переменную типа лМассив потому что нельзя элементы формы отправлять на сервер.. Выдает ошибку
{Справочник.ВашСправочник.Форма.ФормаСписка.Форма(83)}: Поле объекта недоступно для записи (ВыделенныеСтроки)
ИзменитьНаСервере(Элементы.Список.ВыделенныеСтроки, лЗначение);
Финальный код;)
Процедура ПереместитьВГруппу(Команда)
    
    лФорма = ПолучитьФорму("Справочник.ВашСправочник.ФормаВыбораГруппы");
    лНовыйРодитель = лФорма.ОткрытьМодально();
    
    Если лЗначение <> Неопределено Тогда//выбрано какое-то значение
         лМассив = Элементы.Список.ВыделенныеСтроки;
         ИзменитьНаСервере(лМассив, лНовыйРодитель);
    КонецЕсли;    
    
    Элементы.Список.Обновить();
    
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ИзменитьНаСервере(Элементы, пНовыйРодитель);
    
    Для Каждого пЭлемент ИЗ Элементы Цикл
       лОбъект = пЭлемент.ПолучитьОбъект();
       лОбъект.Родитель = пНовыйРодитель;
       лОбъект.Записать();
   КонецЦикла;
    
КонецПроцедуры

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.24, 6:15
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!