Имя: Пароль:
1C
1С v8
Как в процедуре при копировании отчистить несколько колонок Табл. части?
,
0 redding
 
10.09.13
11:13
В модуле Документа в процедуре при копировании нужно нужно очистить 3 реквизита ТЧ, которые имеют тип Справочник.Ссылка, подскажите, как реализовать?
1 mzelensky
 
10.09.13
11:14
Сверни ТЧ
2 mzelensky
 
10.09.13
11:15
(1) хотя не, лучше не надо. Просто обойди и очисти.

+ еще вариант создаешь массив пустых значений и загружаешь его в ТЧ через "Загрузить колонку"
3 redding
 
10.09.13
11:20
(2) Обходом не получается.
Выбираю данные запросом ПолучаюОбъект ТЧ и пытаюсьприравнять пустой ссылке:
Стр.Водитель=Справочники.СотрудникиОрганизаций.ПустаяСсылка();
4 chelentano
 
10.09.13
11:24
(3) как ты выбираешь данные запросом, если объект ещё не записан?
5 redding
 
10.09.13
11:25
(4) Записываю Объект в начале процедуры.
6 chelentano
 
10.09.13
11:25
(3) и почему не получается обходом?
7 mzelensky
 
10.09.13
11:26
(5) Чет ты тамявно намутил. Нафига записывать принудительно? Оно тебе надо?

Что конкретно не получается с обходом?
8 Defender aka LINN
 
10.09.13
11:27
(5) О_О
9 chelentano
 
10.09.13
11:28
(7), (8) ну записывает и записывает, что вы пристали к человеку? :)
10 mzelensky
 
10.09.13
11:29
(8) ну ток не ругайся, не кричи...тишь, тишь...не надо нервничать, спокойно!!!
11 redding
 
10.09.13
11:29
(7) (6) Вот так намутил, как оформить не знаю, поэтому просто код.

Дата=ТекущаяДата();    
ЭтотОбъект.Записать();
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ЗаявкаНаВыходТранспортаНаЛиниюТранспортНаЛинии.Ссылка
        |ИЗ
        |    Документ.ЗаявкаНаВыходТранспортаНаЛинию.ТранспортНаЛинии КАК ЗаявкаНаВыходТранспортаНаЛиниюТранспортНаЛинии
        |ГДЕ
        |    ЗаявкаНаВыходТранспортаНаЛиниюТранспортНаЛинии.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Ссылка);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        ОбъектВозврат=ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
        Тч=ОбъектВозврат.ТранспортНаЛинии;
        Для каждого СТР из ТЧ Цикл
            Стр.Водитель=Справочники.СотрудникиОрганизаций.ПустаяСсылка();
        Конеццикла;
        ОбъектВозврат.записать();
    КонецЦикла;
12 mzelensky
 
10.09.13
11:30
(9) то. что это делать не нужно (в 99% случаев).
13 mzelensky
 
10.09.13
11:32
(11) БОЖЕ, такого бреда я давно не видел...
14 chelentano
 
10.09.13
11:32
(11) и что не получается то?
15 mzelensky
 
10.09.13
11:33
(8) Все, можешь убить его...
16 mzelensky
 
10.09.13
11:33
(14) Ты что, совсем слепой??? Ты не видишь что он ДЕЛАЕТ?
17 Галахад
 
гуру
10.09.13
11:33
Что за истерика?
18 chelentano
 
10.09.13
11:34
(16) ты это... поспокойнее что ли...
19 redding
 
10.09.13
11:34
(13) Ну объясни, как надо то, если знаешь, чего орать то просто так?
20 Галахад
 
гуру
10.09.13
11:35
Кстати, вроде должно работать. Как ни странно.
21 redding
 
10.09.13
11:35
(14) Данные так и остаются, то есть пустая ссылка не записывается, хотя отладчиком смотрел в цикл заходит

Для каждого СТР из ТЧ Цикл
            Стр.Водитель=Справочники.СотрудникиОрганизаций.ПустаяСсылка();
        Конеццикла;
22 redding
 
10.09.13
11:36
(20) Угу, пробовал и запросом и просто выборкой документов, но чет нифига...
23 chelentano
 
10.09.13
11:36
(19)
Чем не устраивает просто:
Для каждого СТР из ТранспортНаЛинии Цикл
Стр.Водитель=Справочники.СотрудникиОрганизаций.ПустаяСсылка();
Конеццикла;
?
24 Галахад
 
гуру
10.09.13
11:37
Насколько я понял. В базе оно уже должно быть с пустыми ссылками. А в форме нет.
25 mzelensky
 
10.09.13
11:37
(19) ладно, описываю ситуацию:

1) Ты взял объект, записал его.
2) Получил ссылку на этот объект.
3) передал эту ссылку в запрос и в запросе выбрал опять ссылку на этот же самый объект.
4) Потом ты получил объект по ссылке (т.е. получил то ,что у тебя было в пункте 1)
5) Потом получил табличную часть этого объекта и пытаешься ее обойти.

Мне одному кажется, что пункты со 2 по 4 можно просто удалить???
26 chelentano
 
10.09.13
11:38
(25) и не просто получил ссылку в запросе, а столько ссылок, сколько строк в ТЧ
27 redding
 
10.09.13
11:39
(25) Можно и пропустить, ток как сделать, что бы работало?))
28 mzelensky
 
10.09.13
11:39
(21) Мне кажется ,что ты это изменяешь в объете, но не записываешь свои изменения.
29 chelentano
 
10.09.13
11:39
(27) см (23)
30 chelentano
 
10.09.13
11:40
ну и ещё вопрос: в какой момент ты это всё делаешь?
31 redding
 
10.09.13
11:45
(29) ппц, спс). Все норм. При копировании документа.
32 mzelensky
 
10.09.13
11:48
(31) ты из какого франча?
33 chelentano
 
10.09.13
11:49
(31) ну и не надо записывать всё-таки
34 redding
 
10.09.13
11:49
(32) о_0, кто тебе сказал, что я из франча?
35 redding
 
10.09.13
11:50
(33) Да я и не записываю уже), там это просто ни к чему.
36 mzelensky
 
10.09.13
11:52
(34) просто только так я могу объяснть твои вопросы и запросы.
37 Infsams654
 
10.09.13
11:56
(25) утверждаю, что к ТЧ нужно обязательно через запрос :))
39 Infsams654
 
10.09.13
12:40
(38) ну уж определись как лучше (2) "Просто обойди и очисти" или запросом ?