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

Хранилище

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

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



> Перенос выбраного элемента справочника , По нажатию кнопки сформировать перенос выбраного элемента справочника          
Vanquish Подменю пользователя
сообщение 21.03.11, 12:21
Сообщение #1

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

Есть Обработка ПереносЭлемента. На форму добавлен реквизит Элемент (тип СправочникСсылка.Контрагенты), и реквизит Группа(тип СправочникСсылка.Контрагенты).
Необходимо при выборе элемента справочника на поле реквизита, по нажатию кнопки, перенести выбраный элемент в выбраную групу справочника из второго поля реквизита.

Вот код, к сожалению, не отрабатывает, и не сильно понятно почему. Просьба откликнутся.


Процедура КнопкаВыполнитьНажатие(Кнопка)
предупреждение("При Выполнении нажатия");
СтандартнаяОбработка = Ложь;

Форма2 = Обработки.а.ПолучитьФорму(ЭтаФорма.ЭлементыФормы.Элемент.Данные);

Форма1 = Обработки.а.ПолучитьФорму(фФорма.ЭлементыФормы.Группа.Данные);
Выборка = Справочники.Контрагенты.Выбрать();
     Пока Выборка.Следующий() Цикл;
      Если (НЕ Выборка.ЭтоГруппа) И (НЕ ЗначениеЗаполнено(Выборка.Родитель)) Тогда        
          форма2= Выборка.ПолучитьОбъект();
          Форма2.Родитель=Форма1;
Форма2.Записать();

    КонецЕсли;
    КонецЦикла;

КонецПроцедуры
Причина редактирования: Выделяем код!

Vofka Подменю пользователя
сообщение 21.03.11, 12:36
Сообщение #2

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

А зачем форму записывать? Нужно записывать элемент с типом "справочник.контрагенты"

Vanquish Подменю пользователя
сообщение 21.03.11, 12:41
Сообщение #3

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

Цитата(Vofka @ 21.03.11, 13:36) *
А зачем форму записывать? Нужно записывать элемент с типом "справочник.контрагенты"


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

Vofka Подменю пользователя
сообщение 21.03.11, 12:48
Сообщение #4

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

Родитель = ЭлементыФормы.Родитель // здесь выбрана группа
Выборка = Справочники.Контрагенты.Выбрать()
Пока Выборка.Следущий() Цикл
   Объект = Выборка .ПолучитьОбъект();
   Объект.Родитель = Родитель;
   Объект.Записать();
КонецЦикла;


На работоспособность не проверял, писал сразу сюда.

Ziam Подменю пользователя
сообщение 21.03.11, 12:49
Сообщение #5

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Из: Харцызск
Спасибо сказали: 62 раз
Рейтинг: 0

Я правильно задачу понял?
Котнтрагенту на форме (тип СправочникСсылка.Контрагенты) нужно поменять родителя на Группа(тип СправочникСсылка.Контрагенты)?

Vanquish Подменю пользователя
сообщение 21.03.11, 12:57
Сообщение #6

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

Цитата(Ziam @ 21.03.11, 13:49) *
Я правильно задачу понял?
Котнтрагенту на форме (тип СправочникСсылка.Контрагенты) нужно поменять родителя на Группа(тип СправочникСсылка.Контрагенты)?

не совсем...
есть форма, на ней есть два поля -- одно для выбора элемента справочника контрагенты, второе для выбора группы (родителя), в которую этот элемент должен быть записан, и есть еще кнопка для выполнения этого действия

но в целом правильно, я перечитал

Vanquish Подменю пользователя
сообщение 21.03.11, 13:13
Сообщение #7

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

я не много переработал, но всё равно пока не раблотает (

Поле2 = ЭлементыФормы.Группа.Значение.Родитель; // здесь выбрана группа
Выборка = Справочники.Контрагенты.Выбрать();
Пока Выборка.Следующий() Цикл;
    Если (НЕ Выборка.ЭтоГруппа) И (НЕ ЗначениеЗаполнено(Выборка.Родитель)) Тогда;    
   Объект = Выборка .ПолучитьОбъект();
   Объект.Родитель = Поле2;
   Объект.Записать();
    КонецЕсли;    
    КонецЦикла;
Причина редактирования: Ну выделяйте ж код!!

Ziam Подменю пользователя
сообщение 21.03.11, 13:23
Сообщение #8

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Из: Харцызск
Спасибо сказали: 62 раз
Рейтинг: 0

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


З.Ы. Проверку на заполнение реквизитов, тоже можете добавить.

Ziam Подменю пользователя
сообщение 21.03.11, 13:25
Сообщение #9

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Из: Харцызск
Спасибо сказали: 62 раз
Рейтинг: 0

Это ж можно и в форме элемента справочника сделать.

logist Подменю пользователя
сообщение 21.03.11, 13:27
Сообщение #10

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

Цитата(Vanquish @ 21.03.11, 13:13) *
Поле2 = ЭлементыФормы.Группа.Значение.Родитель; // здесь выбрана группа

Это только мне кажется, что данный код выбирает родителя родителя?


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

Ziam Подменю пользователя
сообщение 21.03.11, 13:30
Сообщение #11

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Из: Харцызск
Спасибо сказали: 62 раз
Рейтинг: 0

Вроде ЭлементыФормы.Группа.Значение.Родитель = Группа.Родитель в пределах модуля формы. Хотя не проверял.
З.Ы. Это не код, а предположение ))) Выделять не буду.

logist Подменю пользователя
сообщение 21.03.11, 13:46
Сообщение #12

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

Цитата(Ziam @ 21.03.11, 13:30) *
Вроде ЭлементыФормы.Группа.Значение.Родитель = Группа.Родитель в пределах модуля формы. Хотя не проверял.

Ну я тогда прав? - код выбирает родителя группы а не саму группу, а у группы возможно нет родителя, поэтому ничего не происходит.


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

Vanquish Подменю пользователя
сообщение 21.03.11, 13:52
Сообщение #13

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

Цитата(logist @ 21.03.11, 14:46) *
Ну я тогда прав? - код выбирает родителя группы а не саму группу, а у группы возможно нет родителя, поэтому ничего не происходит.

а как, тогда, будет правильно написать выбор группы, напишите пожалуйста.

Ziam Подменю пользователя
сообщение 21.03.11, 14:00
Сообщение #14

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 234
Из: Харцызск
Спасибо сказали: 62 раз
Рейтинг: 0

Мой вариант пробуйте. Проверял на УТП 8.2

Vanquish Подменю пользователя
сообщение 21.03.11, 15:13
Сообщение #15

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

Спасибо, большое, заработал )

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

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

Vanquish, http://pro1c.org.ua/index.php?showtopic=2314

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


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

 

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