Имя: Пароль:
1C
 
Переписать некоторые элементы справочника 1с8.3
0 Casper211
 
26.02.16
13:02
Как переписать элементы справочника если название не совпадает с той которой нужна. Идем по справочнику и по коду смотрел, такой код - тогда проверяем название. Если название не совпадает то перезаписать элемент (название, вес, телефон). Как это сделать?

НайденаяСсылка = Справочники.ОтделенияСлужбДоставки.НайтиПоРеквизиту("Рефка", ПосиланняRef.Ref, НайденРодитель, Справочники.СлужбыДоставки.НоваПошта);
                Если НайденаяСсылка = Справочники.ОтделенияСлужбДоставки.ПустаяСсылка() Тогда                  
                    НоваяЗапись = Справочники.ОтделенияСлужбДоставки.СоздатьЭлемент();
                    НоваяЗапись.Родитель = НайденРодитель;
                    НоваяЗапись.Владелец = Справочники.СлужбыДоставки.НоваПошта;
                    НоваяЗапись.Наименование = Отделение.Description;
                    НоваяЗапись.Телефон = ТелефонPhone.Phone;
                    НоваяЗапись.ВесГруза = ВесГрузаTotalMaxWeightAllowed.TotalMaxWeightAllowed;
                    НоваяЗапись.Рефка = ПосиланняRef.Ref;
                    НоваяЗапись.Записать();
                    Записано = Записано + 1;
                    //состояние("обработано "+Обработано+" записано"+Записано);
                Иначе
                    НоваяЗапись.Родитель = НайденРодитель;
                    Если Справочники.ОтделенияСлужбДоставки.НайтиПоНаименованию("Наименование", Истина, НайденРодитель, Справочники.СлужбыДоставки.НоваПошта)<>Отделение.Description Тогда
                        НоваяЗапись.Наименование = Отделение.Description;
                    КонецЕсли;
                    Если Справочники.ОтделенияСлужбДоставки.НайтиПоРеквизиту("ВесГруза", ВесГрузаTotalMaxWeightAllowed.TotalMaxWeightAllowed, НайденРодитель, Справочники.СлужбыДоставки.НоваПошта)<>Отделение.Description Тогда
                        НоваяЗапись.ВесГруза = ВесГрузаTotalMaxWeightAllowed.TotalMaxWeightAllowed;
                    КонецЕсли;
                    Если Справочники.ОтделенияСлужбДоставки.НайтиПоРеквизиту("Телефон", ТелефонPhone.Phone, НайденРодитель, Справочники.СлужбыДоставки.НоваПошта)<>Отделение.Description Тогда
                        НоваяЗапись.Телефон = ТелефонPhone.Phone;
                    КонецЕсли;
                    НоваяЗапись.Записать();
                    Записано = Записано + 1;
                
                КонецЕсли;
1 DDwe
 
26.02.16
13:04
(0) Русский не родной? Или в школе плохо учился?
2 Casper211
 
26.02.16
13:05
(1) двоечник я)
3 lubitelxml
 
26.02.16
13:05
ПосиланняRef - сильно! ))
4 DDwe
 
26.02.16
13:05
(2) Плохо, иди учись, тут не любят двоечников.
5 lubitelxml
 
26.02.16
13:06
НоваПошта - вообще убило ))
6 Casper211
 
26.02.16
13:10
ВыборкаОтделений = Справочники.ОтделенияСлужбДоставки.Выбрать(,Справочники.СлужбыДоставки.НоваПошта);
                    Пока ВыборкаОтделений.Следующий() Цикл
                        Если ВыборкаОтделений.ЭтоГруппа  Тогда
                        Иначе
                        ОтделенияОбъект = ВыборкаОтделений.ПолучитьОбъект();
                          и вот тут их записать?
                        ОтделенияОбъект.Записать();                             
                        КонецЕсли;
                      
                    КонецЦикла;
7 Casper211
 
26.02.16
13:12
этот код не я писал, мне его надо переделать
8 DDwe
 
26.02.16
13:12
(7) Не трогай. Иди домой.
9 lubitelxml
 
26.02.16
13:19
(6) ну и в чем трабл? Все правильно, получил объект по найденной ссылке, присвоил реквизиты (ОтделенияОбъект.ТвойРеквизит = ЗначениеКакоеТо) и записал объект
10 Casper211
 
26.02.16
13:21
(9) ВыборкаОтделений = Справочники.ОтделенияСлужбДоставки.Выбрать(,Справочники.СлужбыДоставки.НоваПошта);
                    Пока ВыборкаОтделений.Следующий() Цикл
                        Если ВыборкаОтделений.ЭтоГруппа  Тогда
                        Иначе
                        ОтделенияОбъект = ВыборкаОтделений.ПолучитьОбъект();
                        Если ОтделенияОбъект.Наименование<>Отделение.Description Тогда
                            ОтделенияОбъект.Наименование = Отделение.Description;
                        КонецЕсли;
                        Если ОтделенияОбъект.Наименование<>Отделение.Description Тогда
                            ОтделенияОбъект.ВесГруза = ВесГрузаTotalMaxWeightAllowed.TotalMaxWeightAllowed;
                        КонецЕсли;
                        Если ОтделенияОбъект.Наименование<>Отделение.Description Тогда
                            ОтделенияОбъект.Телефон = ТелефонPhone.Phone;
                        КонецЕсли;
                        ОтделенияОбъект.Записать();                             
                        КонецЕсли;
                      
                    КонецЦикла

?
11 Casper211
 
26.02.16
13:23
ну там поменять Description
12 hhhh
 
26.02.16
13:25
СокрЛП(Отделение.Description)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший