|
Добрый день. Нужна помощь в создании новой записи регистра | ☑ | ||
---|---|---|---|---|
0
jinny84
18.11.20
✎
13:00
|
Добрый день. Создал обработку чтобы поменять у всех контрагентов кто есть в определенной групу счета учета, выходи ошибка :{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(12)}: Итератор для значения не определен
для каждого эллемент из Контрагент цикл Подскажите как исправить? &НаКлиенте Процедура Сформировать(Команда) СформироватьНаСервере(Объект.Группа,объект.Организация,объект.СчетУчетаАвансовПолученных,объект.СчетУчетаРасчетовСПокупателем); КонецПроцедуры &НаСервере Процедура СформироватьНаСервере(Группа, Организация, СчетУчАв, СчетУчРас) НаборЗаписей = РегистрыСведений.СчетаУчетаРасчетовСКонтрагентами.СоздатьНаборЗаписей(); НоваяЗапись = НаборЗаписей.Добавить(); Контрагент = Справочники.Контрагенты.ПолучитьСсылку(); для каждого эллемент из Контрагент цикл Если эллемент.Родитель = Группа Тогда НоваяЗапись.Контрагент = эллемент; НоваяЗапись.Организация = Организация; НоваяЗапись.СчетУчетаРасчетовСПокупателем = СчетУчРас; НоваяЗапись.СчетУчетаАвансовПолученных = СчетУчАв; НаборЗаписей.Записать(); КонецЕсли; КонецЦикла КонецПроцедуры |
|||
1
ДенисЧ
18.11.20
✎
13:08
|
Контрагент = Справочники.Контрагенты.ПолучитьСсылку();
для каждого эллемент из Контрагент цикл Это вообще что было??? |
|||
2
jinny84
18.11.20
✎
13:13
|
(1) обойти всех контрагентов
|
|||
3
ДенисЧ
18.11.20
✎
13:15
|
(2) Таким способом можно обойти только все места, куда посылают грубыми словами.
Справочник обходится через .Выбрать() |
|||
4
youalex
18.11.20
✎
13:16
|
>>выходи ошибка :
если на продуктиве, то можно сказать, повезло |
|||
5
Волшебник
18.11.20
✎
13:22
|
Тут всё серьёзнее.
у НаборЗаписей не установлен отбор. Он каждый раз будет переписывать весь регистр сведений |
|||
6
Волшебник
18.11.20
✎
13:22
|
Ещё раз. Весь регистр СчетаУчетаРасчетовСКонтрагентами будет очищен
|
|||
7
ДенисЧ
18.11.20
✎
13:23
|
(6) Не будет. У неё код не запускается ))
|
|||
8
Волшебник
18.11.20
✎
13:23
|
(6)+ по всем контрагентам
|
|||
9
Волшебник
18.11.20
✎
13:24
|
(7) Вы сейчас поможете исправить Ссылка на Выборка и код сработает.
|
|||
10
Малыш Джон
18.11.20
✎
13:45
|
ну и по мелочи: НоваяЗапись = НаборЗаписей.Добавить() находится перед циклом
|
|||
11
youalex
18.11.20
✎
13:58
|
(7) еще немного брутфорса и запустится)
|
|||
12
jinny84
18.11.20
✎
14:13
|
(6) Мне его нужно весь переписать
|
|||
13
jinny84
18.11.20
✎
14:13
|
и добавить новых контрагентов
|
|||
14
Волшебник
18.11.20
✎
14:15
|
(12) Если пишете в регистр сведений, то лучше писать одну запись
|
|||
15
jinny84
18.11.20
✎
14:20
|
(14) можно пример?
|
|||
16
Волшебник
18.11.20
✎
14:36
|
(15) МенеджерЗаписи.Записать();
|
|||
17
jinny84
18.11.20
✎
15:03
|
(16) Через Менеджер, только одну запись создает, а мне нужно ко всем контрагентам создать(
|
|||
18
Капитан Джек Воробей
19.11.20
✎
10:29
|
(0) Мои глазы...
&НаСервере Процедура СформироватьНаСервере(Группа, Организация, СчетУчАв, СчетУчРас) НаборЗаписей = РегистрыСведений.ДанныеСКУД.СоздатьНаборЗаписей();//СчетаУчетаРасчетовСКонтрагентами.СоздатьНаборЗаписей(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.Ссылка КАК Контрагент |ИЗ | Справочник.Контрагенты КАК Контрагенты |ГДЕ | НЕ Контрагенты.ЭтоГруппа | И НЕ Контрагенты.ПометкаУдаления | И Контрагенты.Родитель = &Группа"; Запрос.УстановитьПараметр("Группа",Группа); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл НаборЗаписей.Отбор.Контрагент.Установить(Контрагент); НаборЗаписей.Отбор.Организация.Установить(Организация); НоваяЗапись.Контрагент = Выборка.Контрагент; НоваяЗапись.Организация = Организация; НоваяЗапись.СчетУчетаРасчетовСПокупателем = СчетУчРас; НоваяЗапись.СчетУчетаАвансовПолученных = СчетУчАв; НаборЗаписей.Записать(); КонецЦикла; КонецПроцедуры |
|||
19
Капитан Джек Воробей
19.11.20
✎
10:29
|
(18) +
НаборЗаписей = РегистрыСведений.СчетаУчетаРасчетовСКонтрагентами.СоздатьНаборЗаписей(); |
|||
20
hhhh
19.11.20
✎
10:31
|
(17) НоваяЗапись.Контрагент = Группа;
|
|||
21
Капитан Джек Воробей
19.11.20
✎
10:31
|
(18)+
забыл) Пока Выборка.Следующий() Цикл НаборЗаписей.Отбор.Контрагент.Установить(Контрагент); НаборЗаписей.Отбор.Организация.Установить(Организация); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Контрагент = Выборка.Контрагент; НоваяЗапись.Организация = Организация; НоваяЗапись.СчетУчетаРасчетовСПокупателем = СчетУчРас; НоваяЗапись.СчетУчетаАвансовПолученных = СчетУчАв; НаборЗаписей.Записать(); КонецЦикла; |
|||
22
Волшебник
19.11.20
✎
10:36
|
Регистр уже уничтожили?
|
|||
23
Капитан Джек Воробей
19.11.20
✎
10:43
|
(22) я надеюсь он делает на тестовой), но проверять это, я конечно же не буду...
|
|||
24
Михаил Козлов
19.11.20
✎
10:52
|
(22) Надеюсь, да. А как еще учиться?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |