Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 14:16
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Таблица значений 8.2  (Прочитано 3128 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
Есть 2 ТЗ:
ТЗ1
Колонка1, Колонка2, Колонка3
ручка1      ---             10
ручка2      ----               2
ручка2     Германия      20
ручка3     Китай            30
ручка1     Китай            40

ТЗ2
Колонка1, Колонка2, Колонка3
ручка1     красная        10
ручка2     синяя            20
ручка3     зеленая        30
ручка1     синяя            40
Как в ТЗ1 найти все номенклатуры (с пустыми Колонками2) которые содержатся в ТЗ2
Из ТЗ1 удалить эти строки, а в ТЗ2 добавить
В итоге чтобы получилось 2 ТЗ:
ТЗ1
Колонка1, Колонка2, Колонка3

ручка2     Германия      20
ручка3     Китай            30
ручка1     Китай            40

ТЗ2
Колонка1, Колонка2, Колонка3
ручка1     красная        10
ручка2     синяя            20
ручка3     зеленая        30
ручка1     синяя            40
ручка1      ----             10
ручка2    ----               2


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
СтруктураПоиска = Новый Структура("Колонка2", <<ПустоеЗначение>>);
НайденныеСтроки = ТЗ31.НайтиСтроки(СтруктураПоиска);
Для каждого СтрокаТЗ31 Из НайденныеСтроки Цикл
      НайденнаяСтрока = ТЗ32.Найти("Колонка1", СтрокаТЗ31.Колонка1);
     Если НайденнаяСтрока <> Неопределено Тогда
НоваяСтрока = ТЗ32.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЗ31);
КонецЕсли;
КонецЦикла;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
СтруктураПоиска = Новый Структура("Колонка2", <<ПустоеЗначение>>);
НайденныеСтроки = ТЗ31.НайтиСтроки(СтруктураПоиска);
Для каждого СтрокаТЗ31 Из НайденныеСтроки Цикл
      НайденнаяСтрока = ТЗ32.Найти(СтрокаТЗ31.Колонка1, "Колонка1");//
     Если НайденнаяСтрока <> Неопределено Тогда
    НоваяСтрока = ТЗ32.Добавить();
    НоваяСтрока.Колонка1 = СтрокаТЗ31.Колонка1;//
    НоваяСтрока.Колонка2 = СтрокаТЗ31.Колонка2;//
    НоваяСтрока.Колонка3 = СтрокаТЗ31.Колонка3;//

ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаТЗ31);
КонецЕсли;
КонецЦикла;
подписала 3 строчки, без них добавляются пустые строки в тз
А так получилось добавить данные в ТЗ32.
а из ТЗ31 строки не удаляются?!


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Использовал ЗаполнитьЗначенияСвойств() из расчета что в обоих ТЗ имена колонок совпадают.
В противном случае действительно простое присвоение.

а из ТЗ31 строки не удаляются?!

попробуйте перед "КонецЦикла;" написать
ТЗ31.Удалить(СтрокаТЗ31);

т.е. что-то вроде

СтруктураПоиска = Новый Структура("Колонка2", <<ПустоеЗначение>>);
НайденныеСтроки = ТЗ31.НайтиСтроки(СтруктураПоиска);
Для каждого СтрокаТЗ31 Из НайденныеСтроки Цикл
      НайденнаяСтрока = ТЗ32.Найти(СтрокаТЗ31.Колонка1, "Колонка1");//
     Если НайденнаяСтрока <> Неопределено Тогда
    НоваяСтрока = ТЗ32.Добавить();
    НоваяСтрока.Колонка1 = СтрокаТЗ31.Колонка1;//
    НоваяСтрока.Колонка2 = СтрокаТЗ31.Колонка2;//
    НоваяСтрока.Колонка3 = СтрокаТЗ31.Колонка3;//

КонецЕсли;
ТЗ31.Удалить(СтрокаТЗ31);
КонецЦикла;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
Использовал ЗаполнитьЗначенияСвойств() из расчета что в обоих ТЗ имена колонок совпадают.
В противном случае действительно простое присвоение.

а из ТЗ31 строки не удаляются?!

попробуйте перед "КонецЦикла;" написать
ТЗ31.Удалить(СтрокаТЗ31);

т.е. что-то вроде

СтруктураПоиска = Новый Структура("Колонка2", <<ПустоеЗначение>>);
НайденныеСтроки = ТЗ31.НайтиСтроки(СтруктураПоиска);
Для каждого СтрокаТЗ31 Из НайденныеСтроки Цикл
      НайденнаяСтрока = ТЗ32.Найти(СтрокаТЗ31.Колонка1, "Колонка1");//
     Если НайденнаяСтрока <> Неопределено Тогда
    НоваяСтрока = ТЗ32.Добавить();
    НоваяСтрока.Колонка1 = СтрокаТЗ31.Колонка1;//
    НоваяСтрока.Колонка2 = СтрокаТЗ31.Колонка2;//
    НоваяСтрока.Колонка3 = СтрокаТЗ31.Колонка3;//

КонецЕсли;
ТЗ31.Удалить(СтрокаТЗ31);
КонецЦикла;

так удаляются все позиции где "Колонка2" = <<ПустоеЗначение>>

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
СтруктураПоиска = Новый Структура("Колонка2", <<ПустоеЗначение>>);
НайденныеСтроки = ТЗ31.НайтиСтроки(СтруктураПоиска);
Для каждого СтрокаТЗ31 Из НайденныеСтроки Цикл
      НайденнаяСтрока = ТЗ32.Найти(СтрокаТЗ31.Колонка1, "Колонка1");//
     Если НайденнаяСтрока <> Неопределено Тогда
    НоваяСтрока = ТЗ32.Добавить();
    НоваяСтрока.Колонка1 = СтрокаТЗ31.Колонка1;//
    НоваяСтрока.Колонка2 = СтрокаТЗ31.Колонка2;//
    НоваяСтрока.Колонка3 = СтрокаТЗ31.Колонка3;//
    ТЗ31.Удалить(СтрокаТЗ31);
КонецЕсли;
КонецЦикла;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
СтруктураПоиска = Новый Структура("Колонка2", <<ПустоеЗначение>>);
НайденныеСтроки = ТЗ31.НайтиСтроки(СтруктураПоиска);
Для каждого СтрокаТЗ31 Из НайденныеСтроки Цикл
      НайденнаяСтрока = ТЗ32.Найти(СтрокаТЗ31.Колонка1, "Колонка1");//
     Если НайденнаяСтрока <> Неопределено Тогда
    НоваяСтрока = ТЗ32.Добавить();
    НоваяСтрока.Колонка1 = СтрокаТЗ31.Колонка1;//
    НоваяСтрока.Колонка2 = СтрокаТЗ31.Колонка2;//
    НоваяСтрока.Колонка3 = СтрокаТЗ31.Колонка3;//
    ТЗ31.Удалить(СтрокаТЗ31);
КонецЕсли;
КонецЦикла;

ура! благодарю! вроде работает!:zebzdr:

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
в первой таблице в строках с пустой Колонка2 могут быть повторы в Колонка1?
При положительном ответе - может быть косяк ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн 1cka

  • ***
  • Сообщений: 154
  • РЕПУТАЦИЯ: 1
  • КПД: 1%
  • Регистрация: 2014-01-04
  • Сайт: 
  • Профессия: Ученик 1С
в первой таблице в строках с пустой Колонка2 могут быть повторы в Колонка1?
При положительном ответе - может быть косяк ;)
нет, не могут...я там уже все данные сгруппировала.
;) :btbzdb:

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Вот и славно )
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.


Теги:
 

Ошибка - Обнаружено дублирование ключевых значений в колонке "Ссылка". Отображение данных в списке не возможно.

Автор welldoneРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 4680
Последний ответ 24 Ноя 2015, 15:38
от welldone
"Проверка мутабельных значений на заполненность не поддерживается"

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 20746
Последний ответ 13 Фев 2011, 17:36
от proofet
Почему реквизит типа "список значений" может оказаться недоступным для изменения

Автор VdegРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 6217
Последний ответ 28 Июл 2011, 23:55
от Dethmontt
1C ЗУП 2.5 Помогите с отчетом "Списки сотрудников организации" Объединение значений ячеек

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 1059
Последний ответ 10 Фев 2017, 10:49
от ksander-fars
Обход дерева значений на клиенте / развернуть многоуровневое дерево на клиенте

Автор virtusРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 5177
Последний ответ 01 Ноя 2015, 10:07
от Азиман

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
47 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 261
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal