8.х Объединение 2 таблиц значений

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем NewLife89, 23 дек 2014.

  1. TopicStarter Overlay
    NewLife89
    Offline

    NewLife89 Опытный в 1С

    Регистрация:
    4 дек 2014
    Сообщения:
    63
    Симпатии:
    1
    Баллы:
    29
    Добрый день!
    Простейший вроде бы вопрос, но что то с утра туплю.

    Есть 2 тз, у обоих одинаковый набор параметров. В первой сделал пустые строки для заполнения из второй. Как найти по главному параметру ( например наименование и записать в эти пустые строки данные из второй таблицы) .
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну Вы в теме же решение написали. Запросом
    Создайте менеджер временных таблиц в первую временную таблицу передайте 1ю ТЗ, во вторую вторую и объедените их.

    Ну или метод ТЗ НайтиСроки()
  3. TopicStarter Overlay
    NewLife89
    Offline

    NewLife89 Опытный в 1С

    Регистрация:
    4 дек 2014
    Сообщения:
    63
    Симпатии:
    1
    Баллы:
    29
    Объединение не подойдет, я из первой выгружаю колонку и делаю отбор во второй. еще раз городить не хотелось бы запрос
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну говорю же тогда курите метод таблицы значение НайтиСтроки()
  5. TopicStarter Overlay
    NewLife89
    Offline

    NewLife89 Опытный в 1С

    Регистрация:
    4 дек 2014
    Сообщения:
    63
    Симпатии:
    1
    Баллы:
    29
    Спасибо!
  6. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а можете привести пример таблиц?
  7. TopicStarter Overlay
    NewLife89
    Offline

    NewLife89 Опытный в 1С

    Регистрация:
    4 дек 2014
    Сообщения:
    63
    Симпатии:
    1
    Баллы:
    29
    Что то теперь не получается заполнить колонку, какой метод? Заполнить Значения создает только колонки из второй таблицы.

    Пример ниже. Повторюсь не запросом.

    Поле сорт создал и в первой таблице как " "

    Вложения:

    • 12.jpg
      12.jpg
      Размер файла:
      31,3 КБ
      Просмотров:
      8
  8. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    запрос на объединение ваше все
  9. TopicStarter Overlay
    NewLife89
    Offline

    NewLife89 Опытный в 1С

    Регистрация:
    4 дек 2014
    Сообщения:
    63
    Симпатии:
    1
    Баллы:
    29
    Написал же выше, можно ли как то без запроса??!! И если можно, то как?
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну я же вам написал
    У Вас в ТЗ1 есть колонки Номенклатура, Сорт и Количество
    У Вас есть ТЗ2, где те же самые колоки тольк Кол- во надо заполнить

    Ну и напишите
    Код:
        Для каждого стр из ТЗ1 Цикл
        Отбор = Новый Структура();
        Отбор.Вставить("Номенклатура",стр.Номеклатура);
        Отбор.Вставить("Сорт",стр.Сорт);
       
        Строки = ТЗ2.НайтиСтроки(Отбор);
        Если Строки.Количество() > 0 Тогда
            Строки[0].Количество=стр.количество;
        КонецЕсли;
    
        КонецЦикла;
  11. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    не хотите городить запрос (имхо это проще), городите кучу условий для обхода таличек в цикле
  12. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Не ну я то же за запрос. Ну раз человек хочет. Просто я бы наоборот понял когда спросили бы как запросом, а не наоборот.
  13. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    Свернуть() не предлагали ?
  14. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а чем это тут поможет?
  15. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    ну как же.. две таблицы друг за другом...

    только добавляем новую колонку...
    и из второй таблицы значение количество пишем в новую колонку...
    а далее свернуть..ссумировав кол1 и кол2 ... :)
  16. Tiger86
    Offline

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    просто судя по скрину, ему не количество а сорт например надо, а свернуть только с числовыми прокатит
  17. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну тут много вопросов, еще сначало отсортировать надо. + если допустим в первой таблице строк больше чем во второй (или наоборот (допустим надо получить сумм того что на складе + продали, мы же не все можем продать, а тольк часть)) и эта строка посередине где то ...... То что вы предлагаете это когда таблицы по числу строк одинаковы и по набору данных
  18. KrivosheevEV
    Offline

    KrivosheevEV Новичок в 1С

    Регистрация:
    3 мар 2014
    Сообщения:
    35
    Симпатии:
    2
    Баллы:
    4
    А, может, есть возможность сделать шаг назад и получать не две таблицы, а одну?
  19. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Здравствуйте.
    Я только осваиваю 8-ку, поэтому приведу пример, как я решила подобную задачу, а вы мне подскажите, правильно это или нет:

    Для Каждого стр Из Таблица1 Цикл
    НайденныеСтроки =Таблица2.НайтиСтроки(Новый Структура("Фрукт",стр.Фрукт));
    Если НайденныеСтроки.Количество() > 0 Тогда
    Последняя = НайденныеСтроки[НайденныеСтроки.Количество()-1];
    стр.Сорт = Последняя.Сорт;
    КонецЕсли;
    КонецЦикла;

    У меня ищется последняя, т.к. возможны несколько одинаковых записей.
  20. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну я этот же код в 10 посте и написал. и все время писал про НайтиСтроки.
    Запросм просто красивее

Поделиться этой страницей