|
Существует ли в 1с косвенная адресация?
| ☑ |
0
Storm03
08.07.19
✎
09:54
|
Не крутой спец по 1С.
Есть ТЗ, в которой Номенклатура, Контрагент, Склад и остатки.
Необходимо в зависимости от Контрагента и Склада распихать строки по разным документам ВводОстатковНоменклатуры.
Что-то типа:
Контрагенты = Новый Массив;
Склады = Новый Массив;
Нов = 0;
Стр = ТЗ.ПрочитатьСтроку();
Пока Стр <> Неопределено Цикл
Если Найти(Контрагенты, Стр.Контрагент) = Неопределено Тогда
Контрагенты.Вставить(Стр.Контрагент);
Нов = 1;
КонецЕсли;
Если Найти(Склады, Стр.Склад) = Неопределено Тогда
Склады.Вставить(Стр.Склад);
Нов = 1;
КонецЕсли;
//////////// А вот дальше то, что мне нужно, но в фантазиях:
Индекс = Найти(Контрагенты, Стр.Контрагент) + "_" + Найти(Склады, Стр.Склад);
Если Нов = 1 Тогда
Док+Индекс = Документы.ВводОстатковНоменклатуры.СоздатьДокумент();
КонецЕсли;
////////// Заполняем ТекСтр ...
Док+Индекс.ТЧ.Вставить(ТекСтр);
Ну, как-то так...
|
|
1
Cyberhawk
08.07.19
✎
09:56
|
Нет
|
|
2
dka80
08.07.19
✎
09:58
|
Док = Новый Массив;
Док[Индекс] = Документы.ВводОстатковНоменклатуры.СоздатьДокумент();
|
|
3
dka80
08.07.19
✎
09:59
|
точнее
Док.Добавить(Документы.ВводОстатковНоменклатуры.СоздатьДокумент())
|
|
4
Кирпич
08.07.19
✎
10:04
|
Для складов и контрагентов догадался создать массив, а для документов чота вдруг осенило какой то косвенной адресацией.
|
|
5
Storm03
08.07.19
✎
10:11
|
Ага, значит, массив документов создать можно? Ок, это поможет! Всем спасибо!))))
|
|
6
Кирпич
08.07.19
✎
10:13
|
(5) лучше соответствие создай. и ключ чтобы был Склад+Контрагент
|
|
7
Storm03
08.07.19
✎
10:39
|
(6) А что, 1С ещё и ассоциативные массивы поддерживает? Офигеть!
|
|
8
Кирпич
08.07.19
✎
10:50
|
(7) см. раздел "Универсальные коллекции значений"
|
|
9
Salimbek
08.07.19
✎
11:09
|
Нахрена это вот все? Сортируешь выборку и в обходе - как поменялось Склад+Контрагент - записываешь текущий документ и создаешь новый.
|
|
11
Storm03
09.07.19
✎
12:49
|
(9) Это было б зашибись, если б было бы так просто. В обработке нужно перетасовывать товар по другим складам. Какие-то объединять, какие-то разделять.
|
|
12
Salimbek
09.07.19
✎
14:30
|
(11) Дык, создавай колонку новую в ТЗ и перетасовывай, как перетасуешь - сортируй и далее (9)
|
|
13
Salimbek
09.07.19
✎
14:32
|
+(12) Хотя, тебе на месте виднее, может действительно удобнее все обходить. Я лишь предложил один из вариантов.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший