|
Установить владельца | ☑ | ||
---|---|---|---|---|
0
lamp
23.01.13
✎
11:31
|
В результате кривого переноса в документе Отражение зарплаты в регл учете поле ПодразделениеДт заполнилось подразделениями с пустым реквизитом Владелец. Пытаюсь заполнить этот реквизит:
Для Каждого ТекущаяСтрока Из ДокументОбъект.ОтражениеВУчете Цикл Если ТекущаяСтрока.СчетДт.Код = "20.01" Тогда // меняем объект в табличной части ТекущаяСтрока.ПодразделениеДт.ПолучитьОбъект().Владелец = ОсновнаяОрганизация; // для контроля Сообщить(ТекущаяСтрока.СчетДт.Код+" "+ТекущаяСтрока.ПодразделениеДт+" "+ТекущаяСтрока.ПодразделениеДт.Владелец) КонецЕсли КонецЦикла; Не работает. Что не так? |
|||
3
lamp
23.01.13
✎
11:32
|
ну да, конечно, выше стоит
ОсновнаяОрганизация = Справочники.Организации.НайтиПоКоду("000000001"); |
|||
4
Wobland
23.01.13
✎
11:32
|
(1) а зачем? реквизит заполняется, задача выполнена
|
|||
5
DrShad
23.01.13
✎
11:32
|
(3) что!?
|
|||
6
Alex S D
23.01.13
✎
11:32
|
Если ТекущаяСтрока.СчетДт.Код = "20.01" Тогда - это че за лабуда? пиши нормально
|
|||
7
Godofsin
23.01.13
✎
11:33
|
"ТекущаяСтрока.ПодразделениеДт.ПолучитьОбъект().Владелец = ОсновнаяОрганизация;"
бууэээ... |
|||
8
НафНаф
23.01.13
✎
11:33
|
а если в 20 строках будет это подразделение? 20 раз собрался записывать?
|
|||
9
lefthander
23.01.13
✎
11:34
|
а теперь ниже надо ДокументОбъект.ОтражениеВУчете.Записать();
|
|||
10
lamp
23.01.13
✎
11:34
|
за кривой код прошу не ругать, с 8кой знаком ещё мало
|
|||
11
Schwonder
23.01.13
✎
11:34
|
(0) Сегодня только среда!
|
|||
12
DrShad
23.01.13
✎
11:35
|
(9) а подразделение не нужно записывать!?
|
|||
13
lefthander
23.01.13
✎
11:36
|
(10) причем здесь кривой код? После цикла объект надо записать. Иначе в чем прикол менять в нем что то?
|
|||
14
lamp
23.01.13
✎
11:36
|
Прикол в том, что в отладчике вижу, что ТекущаяСтрока.ПодразделениеДт.Владелец не поменялся
|
|||
15
DrShad
23.01.13
✎
11:36
|
(13) читай еще раз (0) не после цикла, а после изменения владельца у подразделения
|
|||
16
НафНаф
23.01.13
✎
11:36
|
(13) ты о чем? он не тот объект меняет
|
|||
17
НафНаф
23.01.13
✎
11:37
|
(14) естественно, тут же никто еще не написал, что записывать надо объект
|
|||
18
DrShad
23.01.13
✎
11:37
|
(14) потому что изменил у объекта, а смотришь у ссылки
|
|||
19
lamp
23.01.13
✎
11:38
|
(17) как?
|
|||
20
lamp
23.01.13
✎
11:38
|
(18) смотрю у ТекущаяСтрока.ПодразделениеДт.ПолучитьОбъект().Владелец
|
|||
21
Schwonder
23.01.13
✎
11:39
|
(19) +мильён XD
|
|||
22
DrShad
23.01.13
✎
11:39
|
об = ТекущаяСтрока.ПодразделениеДт.ПолучитьОбъект();
об.Владелец = Орг; об.Записать() |
|||
23
Schwonder
23.01.13
✎
11:39
|
(19) Позвать программиста.
|
|||
24
lefthander
23.01.13
✎
11:39
|
Хм... ну да, тупанул. Сорри.
|
|||
25
lamp
23.01.13
✎
11:42
|
(22) так уже делал. В результате в справочнике Подразделения возникли дублирующие строчки. Не годится
|
|||
26
Wobland
23.01.13
✎
11:43
|
(25) чо? а программиста всё же позови
|
|||
27
НафНаф
23.01.13
✎
11:45
|
(25) не верю ))
|
|||
28
lamp
23.01.13
✎
11:48
|
(27) нужен скриншот? )))
фрагмент Объект = ТекущаяСтрока.ПодразделениеДт.ПолучитьОбъект(); Объект.Владелец = ОсновнаяОрганизация; Объект.Записать(); приводит к тому, что в справочнике подразделений возникают вторые строки, к примеру, было Хозслужба (1штука), а стало 2 |
|||
29
DrShad
23.01.13
✎
11:49
|
(28) наглейшая ложь!!!!!
|
|||
30
Wobland
23.01.13
✎
11:49
|
(28) нужен. ибо ты врёшь
|
|||
31
lamp
23.01.13
✎
11:50
|
Ладно, сейчас перезагружу конфу и повторю всё заново с этим фрагментом кода
|
|||
32
НафНаф
23.01.13
✎
11:51
|
(29)(30) ну а вдруг там при событии на запись идет проверка смены владельца и создание дубля с прежним, ведь может быть?
|
|||
33
DrShad
23.01.13
✎
11:52
|
(32) ну если кто подшутил так, то возможно
|
|||
34
НафНаф
23.01.13
✎
11:54
|
(33) ждем "перезагрузки" и свежих лулзов
|
|||
35
фросия
23.01.13
✎
11:56
|
было однажды такое, сделала так:
Объект.владелец = Владелец; Объект.ОбменДанными.Загрузка = Истина;// вот без этого не работало Объект.Записать(); |
|||
36
Wobland
23.01.13
✎
11:57
|
(35) а дубли были, дубли??
|
|||
37
DrShad
23.01.13
✎
11:58
|
(35) а все реквизиты, по которым проверка при обычной записи, были заполнены!?
|
|||
38
фросия
23.01.13
✎
11:58
|
(36)не, дублей вроде не было, просто при попытке поменять владельца изменений никаких не было
|
|||
39
фросия
23.01.13
✎
11:59
|
(37) аха.
|
|||
40
DrShad
23.01.13
✎
11:59
|
(38) врешь
|
|||
41
Schwonder
23.01.13
✎
11:59
|
Бывает, портвешку стакан вмажешь и двоится начинают элементы справочников))
|
|||
42
DrShad
23.01.13
✎
12:00
|
(41) с одного-то стакана!? слабовато
|
|||
43
Schwonder
23.01.13
✎
12:01
|
(42) Ты моего стакана не видел!
|
|||
44
фросия
23.01.13
✎
12:01
|
(40) не вру
|
|||
45
DrShad
23.01.13
✎
12:02
|
(44) а я говорю врешь
|
|||
46
фросия
23.01.13
✎
12:03
|
(45)зачем мне врать?
|
|||
47
Wobland
23.01.13
✎
12:04
|
(44) просто ты кроме этого добавила ЗавершитьТранзакцию
|
|||
48
lamp
23.01.13
✎
12:06
|
Справочник исходный
http://savepic.ru/3925077.jpg Обработка отработала http://savepic.ru/3907669.jpg В результате http://savepic.ru/3919957.jpg |
|||
49
lamp
23.01.13
✎
12:06
|
интересно, что у дублей такие же коды
|
|||
50
Schwonder
23.01.13
✎
12:07
|
Убейте его... он невменяемый!
|
|||
51
lamp
23.01.13
✎
12:07
|
(32) конфигурация стандартная
|
|||
52
фросия
23.01.13
✎
12:07
|
(47)нет. про транзакцию ни слова.
|
|||
53
DrShad
23.01.13
✎
12:08
|
что-то ты в своей обработке намудрил в другом месте
|
|||
54
НафНаф
23.01.13
✎
12:08
|
ну показывай уже ВСЮ обработку
|
|||
55
DrShad
23.01.13
✎
12:09
|
либо при повторной загрузке он не находит по полям поиска подразделение и создает новые :))))
|
|||
56
DrShad
23.01.13
✎
12:10
|
ИМХО нужно не следствие обмена лечить, а причины некорректного обмена и тогда дублей не будет - 146%
|
|||
57
Schwonder
23.01.13
✎
12:10
|
У него уже бардак в справочнике. Перечитайте (0).
|
|||
58
DrShad
23.01.13
✎
12:11
|
(57) и что там!?
|
|||
59
Schwonder
23.01.13
✎
12:11
|
(0) Для начала надо понимать что нужно сделать, а уж потом думать как.
|
|||
60
НафНаф
23.01.13
✎
12:11
|
так они и были, просто ты смотришь без отбора по владельцу, а вначале с отбором
|
|||
61
DrShad
23.01.13
✎
12:12
|
(59) он то понял что не так, но решение придумал корявое
|
|||
62
Schwonder
23.01.13
✎
12:12
|
Короче... Резюмирую.
ЗОВИ ПРОГРАММИСТА!!!111адынадын |
|||
63
lamp
23.01.13
✎
12:13
|
(54)
Процедура КнопкаСформироватьНажатие(Кнопка) ДокументОбъект = Документ.ПолучитьОбъект(); ОсновнаяОрганизация = Справочники.Организации.НайтиПоКоду("000000001"); // перебираем строки документа Для Каждого ТекущаяСтрока Из ДокументОбъект.ОтражениеВУчете Цикл Если ТекущаяСтрока.СчетДт.Код = "20.01" Тогда // меняем объект в табличной части Объект = ТекущаяСтрока.ПодразделениеДт.ПолучитьОбъект(); Объект.Владелец = ОсновнаяОрганизация; Объект.Записать(); // для контроля Сообщить(ТекущаяСтрока.СчетДт.Код+" "+ТекущаяСтрока.ПодразделениеДт+" "+ТекущаяСтрока.ПодразделениеДт.Владелец) КонецЕсли КонецЦикла; ДокументОбъект.Записать() КонецПроцедуры |
|||
64
DrShad
23.01.13
✎
12:13
|
(62) нет уж, объясняй что ты в (0) увидел такого, что не увидели все остальные?
|
|||
65
Wobland
23.01.13
✎
12:13
|
а теперь сделай запрос к справочнику
|
|||
66
DrShad
23.01.13
✎
12:14
|
(63) этот код не дает задвоения ни при каких раскладах
|
|||
67
Schwonder
23.01.13
✎
12:14
|
НафНаф тоже увидел. Нормальный одинесник должен уметь понимать идиотов.)
|
|||
68
Schwonder
23.01.13
✎
12:14
|
(67) к (64)
|
|||
69
Schwonder
23.01.13
✎
12:18
|
Из (0) понятно, что база не пустая и как-то работала, а значит с подразделениями было всё ништяк. После переноса стало плохо.. Угадайте как переносились данные и что реально происходит в справочнике. А теперь попробуйте совместить то, что хочет ТС с тем что есть и получите удовольствие. XD
|
|||
70
lamp
23.01.13
✎
12:18
|
(60)
До выполнения обработки http://savepic.ru/3890260.jpg После выполнения обработки http://savepic.ru/3873876.jpg |
|||
71
DrShad
23.01.13
✎
12:18
|
(68) ну как бы слив засчитан!
|
|||
72
DrShad
23.01.13
✎
12:19
|
(69) [что база не пустая и как-то работала, а значит с подразделениями было всё ништяк.]
не было никаких ништяков! |
|||
73
DrShad
23.01.13
✎
12:20
|
(70) еще раз - тот код что ты привел не дает такого эффекта
|
|||
74
lamp
23.01.13
✎
12:20
|
(69) Данные переносились не один месяц. Отвечал за это... кто-то другой. Теперь, типа, я. Может тот, другой, руками перевыбирал подразделения в документе - я проверил, такой метод работает, но это же не нормально... Поэтому решил для начала исправить всё обработкой, а потом уже разбираться с переносом
|
|||
75
lamp
23.01.13
✎
12:21
|
(73) ...однако я наблюдаю этот эффект и даже скриншоты выложил в (70)
|
|||
76
DrShad
23.01.13
✎
12:22
|
(75) продолжайте наблюдения!
|
|||
77
Schwonder
23.01.13
✎
12:22
|
(72) Не слушай ТС, подумай чуть-чуть. И всё поймешь.
|
|||
78
Wobland
23.01.13
✎
12:23
|
увидели, что дубли без подчинённых элементов? таки кто-то в подписке или в при записи сидит ;))
|
|||
79
DrShad
23.01.13
✎
12:24
|
(77) я всегда думаю, а вы по ходу под грибами
|
|||
80
lamp
23.01.13
✎
12:25
|
Да, кажется понял. При переносе элементы-дубли создались, но они не имели подчинения. Запустив обработку я такое подчинение создал, поэтому в справочнике при соответствующем подчинении всё и задвоилось )))
|
|||
81
DrShad
23.01.13
✎
12:25
|
(80) не задвоилось, а переподчинилось
|
|||
82
Godofsin
23.01.13
✎
12:25
|
(80) Бинго!
|
|||
83
lamp
23.01.13
✎
12:26
|
Видимо, нужно сделать по-другому. Проходя по документу, нужно заменить подразделения на одноименные, но находящиеся в нужном подчинении. А эти, неподчиненные, пометить типа на удаление...
|
|||
84
Godofsin
23.01.13
✎
12:27
|
(83) Нет, выстави всем подчинение, а затем восползуйся поиском и заменой дублирующихся элементов
|
|||
85
lamp
23.01.13
✎
12:30
|
(84) что за поиск и замена дублирующихся? что-то стандартное? или тоже самому писать придется?
|
|||
86
Schwonder
23.01.13
✎
12:30
|
(81) Ну чё? Кто теперь под грибами?
|
|||
87
Godofsin
23.01.13
✎
12:36
|
(85) Стандартное. в сервисе ищи
|
|||
88
cw014
23.01.13
✎
12:38
|
А после этого человек увольняется, прихожу я, вижу это и понимаю, что жизнь закончилась... Ну за что мне такое...??? :'(
|
|||
89
Schwonder
23.01.13
✎
12:41
|
(88) Терпение, друг мой. Всё победимо. XD
|
|||
90
DrShad
23.01.13
✎
12:43
|
убрать дубли и после следующей загрузки повторять?
|
|||
91
DrShad
23.01.13
✎
12:43
|
+(90) они то появляются при загрузке
|
|||
92
DrShad
23.01.13
✎
12:45
|
и кто из нас под грибами!?
|
|||
93
Godofsin
23.01.13
✎
12:46
|
(91) Не, ну конечно обмен править надо
|
|||
94
Schwonder
23.01.13
✎
12:48
|
(92) Ну точно не я. Я не искал проблему там, где её нет.
|
|||
95
DrShad
23.01.13
✎
12:48
|
(93) и не обмен, а синхронизировать владельцев
|
|||
96
DrShad
23.01.13
✎
12:48
|
(94) а она есть!
|
|||
97
Schwonder
23.01.13
✎
12:53
|
(96) В данных! А не в быдлокоде из (0). Вы вообще читали о чем я написал?
|
|||
98
DrShad
23.01.13
✎
12:54
|
(97) именно что в данных, но не в подразделениях, а во владельцах нет синхронизации
|
|||
99
Schwonder
23.01.13
✎
12:56
|
(98) XD Я это с первого поста понял. Зачем Вы мне это рассказываете? о.О
|
|||
100
DrShad
23.01.13
✎
12:57
|
(99) где-ты именно об этом написал!? :))))
|
|||
101
Schwonder
23.01.13
✎
13:02
|
(100) Намекал в (69), да Вы не обратили внимание.
|
|||
102
lamp
23.01.13
✎
13:15
|
Коллеги, всем спасибо.
За участие, за советы и особенно за позитивный настрой ))) Так держать ;) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |