|
myw2011
|
||||||
Перенос элемента17.03.2010, 06:25. Показов 28584. Ответов 22
Метки нет (Все метки)
1С ЗиК,7.7. Хочу программно перенести сотрудника в группу.
Это вообще программно реализовывается? |
||||||
| 17.03.2010, 06:25 | |
|
Ответы с готовыми решениями:
22
Перенос элемента
Перенос элемента списка в другую позицию |
|
0 / 0 / 0
Регистрация: 14.09.2007
Сообщений: 428
|
||||||
| 17.03.2010, 09:05 | ||||||
0
|
||||||
|
1 / 1 / 0
Регистрация: 24.07.2008
Сообщений: 658
|
|
| 17.03.2010, 09:08 | |
|
New2011,
1. Не вижу где написано СпрСотр.Записать() 2. В отладчике смотрели чему равно тэ если остановиться на строке СпрСотр.ТекущийЭлемент().Родитель=тэ; ? 3. И еще мелочь, но все же: зачем использовать СокрЛП, если написана в кавычках конкретная строка?
0
|
|
|
0 / 0 / 0
Регистрация: 14.09.2007
Сообщений: 428
|
|
| 17.03.2010, 09:26 | |
|
:gifts:
0
|
|
|
myw2011
|
||||||||
| 17.03.2010, 11:04 | ||||||||
2. да все верно тэ-именно та группа, в которую нужно перенести элемент. 3.исправлено |
||||||||
|
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
|
|
| 17.03.2010, 11:05 | |
|
А справочник сотрудники не подчиненный случаем? Если так то может произойти ситуация когда у группы один владелец, а у элементов другой - здрасвуй ошибочка!
Вариант номер два - а какой тип значения поле num в БД? Есжли он число, то сокрлп его превратит в строку, а искать число по строке не выйдет - надо привести типы к одному.
0
|
|
|
1 / 1 / 0
Регистрация: 24.07.2008
Сообщений: 658
|
||
| 17.03.2010, 11:11 | ||
СпрСотр.НайтиПоКоду(СокрЛП("57380"),0); то и СпрСотр.НайтиПоКоду(СокрЛП(Код),0) должно работать Тем более оно стоит в условии "Если", то есть если не найдет то и родителя менять не будет
0
|
||
|
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
| 17.03.2010, 11:36 | |
|
А так ? ВыбратьЭлементы - совсем лишнее, но, вроде, не мешает
СпрСотр.НайтиПоКоду(СокрЛП("57380"),0); тэ=СпрСотр.ТекущийЭлемент(); Пока БД.ВКонце()=0 Цикл Код=БД.NUM; Если СпрСотр.НайтиПоКоду(СокрЛП(Код),0)=1 Тогда СпрСотр.Родитель=тэ; сообщить(СпрСотр.ТекущийЭлемент()); СпрСотр.Записать() КонецЕсли; БД.Следующая(); КонецЦикла;
0
|
|
|
myw2011
|
||
| 17.03.2010, 11:44 | ||
|
||
|
0 / 0 / 0
Регистрация: 07.07.2008
Сообщений: 1,401
|
|
| 17.03.2010, 12:10 | |
|
СпГр = СоздатьОбъект("Справочник.Сотрудники");
СпГр.НайтиПоКоду("57380",0); Пока БД.ВКонце()=0 Цикл Код=БД.NUM; Если СпрСотр.НайтиПоКоду(СокрЛП(Код),0)=1 Тогда СпрСотр.Родитель=СпГр.ТекущийЭлемент(); СпрСотр.Записать(); Сообщить(СпрСотр.Родитель); КонецЕсли; БД.Следующая(); КонецЦикла; У меня так работает - родитель один объект, элементы - второй.
0
|
|
|
myw2011
|
|||||||
| 17.03.2010, 12:15 | |||||||
|
|||||||
|
1 / 1 / 0
Регистрация: 24.07.2008
Сообщений: 658
|
|||
| 17.03.2010, 12:17 | |||
Добавлено:
хотя, если не критично...
0
|
|||
|
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
| 17.03.2010, 12:43 | |
|
А то, что я привел час назад никто не попробовал проверить ?
Думаю, основная загвоздка в том, что СпрСотр.ТекущийЭлемент().Родитель=тэ; надо заменить на СпрСотр.Родитель=тэ; Желающие могут посмотреть аналогичный код в обработке "ГрупповаяОбработкаНоменклатуры" в ТиС, например Перебирать элементы - это кошмар, хоть и работает :gifts:
0
|
|
|
1 / 1 / 0
Регистрация: 24.07.2008
Сообщений: 658
|
||
| 17.03.2010, 12:53 | ||
0
|
||
|
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
| 17.03.2010, 13:50 | |
|
Так перебирать-то не надо !
Нашли элемент - поменяли родителя, вот и все
0
|
|
|
1 / 1 / 0
Регистрация: 24.07.2008
Сообщений: 658
|
|
| 17.03.2010, 13:55 | |
|
Я это и имел ввиду: вариант с перебором заработал скорее всего не из-за перебора, а потому что используется СпрСотр.Родитель= ГруппаРодитель;
0
|
|
|
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
| 17.03.2010, 14:02 | |
|
Ну да, девушка поправила ошибку, а потом изобрела перебор :gifts:
Хорошо хоть справочник у нее не сумасшедшего размера, а было бы там 30-40 тысяч позиций ? :(
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
|
||
| 20.03.2010, 15:28 | ||
|
А если так?
0
|
||
|
0 / 0 / 1
Регистрация: 22.06.2013
Сообщений: 9
|
|
| 20.03.2010, 15:33 | |
|
А где здесь улучшение ? Или оптимизация ?
СпрСотр.НайтиПоКоду(СокрЛП("57380"),0); тэ=СпрСотр.ТекущийЭлемент(); Пока БД.ВКонце()=0 Цикл Код=БД.NUM; Если СпрСотр.НайтиПоКоду(СокрЛП(Код),0)=1 Тогда СпрСотр.Родитель=тэ; сообщить(Спр.ТекущийЭлемент()); Спр.Записать() КонецЕсли; БД.Следующая(); КонецЦикла; и короче, и экономичнее
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2008
Сообщений: 1,399
|
|
| 20.03.2010, 15:34 | |
|
Если работает, то да.
0
|
|
| 20.03.2010, 15:34 | |
|
Помогаю со студенческими работами здесь
20
Перенос последнего элемента списка в начало Перенос значения элемента строкового массива Перенос элемента Listboxa в статический элемент Перенос максимального элемента в последнюю позицию строки Перенос элемента при изменении размеров окна Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|