|
Вытащить данные из одной таблицы в другую. | ☑ | ||
---|---|---|---|---|
0
NikOtsutstvuet
01.02.22
✎
13:36
|
Доброго времени суток, уважаемые форумчане) Столкнулся с задачей, но из-за совсем начальных навыков не знаю как её выполнить. Суть:
Есть две таблицы, Первая содержит номенклатуру товара, имя товара, количество и ГУИД, вторая только Номенклатуру поставщика и ГУИД. Надо сделать так, что б при нажатии "расчитать" в первой таблице заполнялся ГУИД из второй таблицы, если Номенклатура в Таблице1=Номенклатуре поставщика из Таблицы2, ну и естественно, надо что б ГУИД в первой таблице не проставлялся рандомно по строкам, а проставлялся относительно номенклатуры. Надеюсь вы меня поняли, и жду ваших советов и наставлений) |
|||
1
Amra
01.02.22
✎
13:38
|
Чтото студентов набежало последнее время
|
|||
2
NikOtsutstvuet
01.02.22
✎
13:40
|
Развиваемся) Но совсем студенты наверное даже не знают слово Форум)))
|
|||
3
acht
01.02.22
✎
13:44
|
(0) > жду ваших советов и наставлений
Можно начать с https://uc1.1c.ru/course/osnovy-programmirovaniya-v-sisteme-1c-predpriyatie-8-3/ |
|||
4
NikOtsutstvuet
01.02.22
✎
13:46
|
Надо просто хотя бы направление, куда копать, какими операторами воспользоваться в данной задаче, дальше думаю разберусь)
|
|||
5
acht
01.02.22
✎
13:47
|
(4) > какими операторами воспользоваться в данной задаче
Тогда лучше https://uc1.1c.ru/course/osnovy-programmirovaniya-v-1s/ |
|||
6
Ёпрст
01.02.22
✎
13:48
|
(4)
Либо цикл по первой и поиск во второй, либо запросом, через left join |
|||
7
FIXXXL
01.02.22
✎
13:49
|
(4) цикл Для Каждого по одной таблице и НайтиСтроки во второй таблице
цикл Для Каждого в найденных строках и присвоение ГУИДА вариант с запросом лениво расписывать :) |
|||
8
NikOtsutstvuet
01.02.22
✎
13:53
|
(6) (7) Спасибо, сейчас буду пробовать
|
|||
9
NikOtsutstvuet
01.02.22
✎
18:13
|
(7) Извиняюсь, но не могли бы вы поподробнее расписать метод, сижу, туплю, ничего не выходит(
|
|||
10
rphosts
01.02.22
✎
18:17
|
(0) запросом, разумеется
|
|||
11
Базис
naïve
01.02.22
✎
18:18
|
(9) Покажи код-то, расскажи что конкретно не получается.
|
|||
12
azernot
01.02.22
✎
18:25
|
А я вот не понимаю, что значит "надо что б ГУИД в первой таблице не проставлялся рандомно по строкам, а проставлялся относительно номенклатуры". И непонятно, что делать если во второй таблице несколько строк с одной номенклатурой и разными ГУИДами, допустима ли такая ситуация.
Втупую, без всяких проверок и защит от неожиданностей, это выглядит так: Для Каждого СтрокаТаблицы1 Из Таблица1.Строки Цикл СтрокаТаблицы2 = Таблица2.Найти(СтрокаТаблицы1.Номенклатура, "Номенклатура"); СтрокаТаблицы1.ГУИД = СТрокаТаблицы2.ГУИД; |
|||
13
NikOtsutstvuet
01.02.22
✎
18:28
|
(11) РассчитатьНаСервереМатрицу() Экспорт
Для Каждого СтрокаТЗ Из ЗаказПоставщику.Товары Цикл ЗаполнитьЗначенияСвойств(Таблица.Добавить(), СтрокаТЗ); КонецЦикла; Для Каждого СтрокаТЗ Из Таблица Цикл ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("НоменклатураПоставщика",ТаблицаМатрица); Таблица = ТаблицаМатрица.Вставить(ПараметрыОтбора); КонецЦикла; По итогу ругается на несоотвествие типов параметр 1, да и вообще мне кажется данный код не приведёт к искомому результату. Начал постигать 1с недавно, не кидайте тапками, все когда-то такими были))) |
|||
14
azernot
01.02.22
✎
18:38
|
Давай начнём с самого очевидного.
ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("НоменклатураПоставщика",СтрокаТЗ.Номенклатура); МассивСтрокМатрицы = ТаблицаМатрица.НайтиСтроки(ПараметрыОтбора); МассивСтрокМатрицы - это МАССИВ строк, в которых встречается нужная номенклатура |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |