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

Автор Тема: СКД  (Прочитано 1808 раз)

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

Оффлайн lezhek

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-07
  • Сайт: 
  • Профессия: Ученик 1С
СКД
« Первое сообщение: 27 Авг 2015, 13:35 »
Подскажите пожалуйста, можно ли в СКД создать 2 набора данных, сравнить их между собой и вывести те значения которые различаются?


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

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

Оффлайн lezhek

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-07
  • Сайт: 
  • Профессия: Ученик 1С
Re: СКД
« Ответ #2: 27 Авг 2015, 13:51 »
А Как в СКД две Временные таблицы можно сравнить?

Оффлайн Kironten

  • *****
  • Сообщений: 902
  • РЕПУТАЦИЯ: 185
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
Re: СКД
« Ответ #3: 27 Авг 2015, 14:04 »
А Как в СКД две Временные таблицы можно сравнить?

Первое, что мне приходит в голову:
Полное соединение и условия ВЫБОР КОГДА ТОГДА через ЕСТЬ NULL.
А следующим шагом ВЫБРАТЬ РАЗЛИЧНЫЕ из всего этого.
Наверно есть какое-то более изящное решение.

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

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

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Re: СКД
« Ответ #5: 27 Авг 2015, 17:29 »
Во время полного соединения таблиц в пустые строки в какое то поле ставить единичку, а потом отбирать строки с единичками.
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн lezhek

  • *
  • Сообщений: 26
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-07
  • Сайт: 
  • Профессия: Ученик 1С
Re: СКД
« Ответ #6: 28 Авг 2015, 11:06 »
ВЫБРАТЬ  
ПартииТоваровНаСкладахБухгалтерскийУчет.Регистратор КАК Регистратор,
ПартииТоваровНаСкладахБухгалтерскийУчет.Номенклатура,
ПартииТоваровНаСкладахБухгалтерскийУчет.ХарактеристикаНоменклатуры,
ПартииТоваровНаСкладахБухгалтерскийУчет.Количество как количество1,
0 как количество2,
ПартииТоваровНаСкладахБухгалтерскийУчет.Период
ИЗ
РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет КАК ПартииТоваровНаСкладахБухгалтерскийУчет
    ОБЪЕДИНИТЬ
ВЫБРАТЬ
ТоварыНаСкладах.Регистратор КАК Регистратор,
ТоварыНаСкладах.Номенклатура,
ТоварыНаСкладах.ХарактеристикаНоменклатуры,
0 как Количетсво1,
ТоварыНаСкладах.Количество как количество2,
ТОварыНаСкладах.Период
ИЗ
РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах

   
Подскажите пожалуйста, как можно убрать одинаковые количества?
   

Последний раз редактировалось: Klyacksa; 28 Авг 2015, 11:46. Причина: Используйте, пожалуйста, тег КОД

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Re: СКД
« Ответ #7: 28 Авг 2015, 11:40 »
ВЫБОР 
    ЕСТЬNULL(ПерваяТаблица.Номенклатура,1) КАК Номенклатура1,
    ПерваяТаблица.Количество КАК Количество1,
    ЕСТЬNULL(ВтораяТаблица.Номенклатура,1) КАК Номенклатура2,
    ВтораяТаблица.Количество КАК Количество2
ПОМЕСТИТЬ ВТ
ИЗ Таблица1 КАК ПерваяТаблица
ПОЛНОЕ СОЕДИНЕНИЕ
ТАБЛИЦА2 КАК ВтораяТаблица
ПО ПерваяТаблица.Номенклатура = ВтораяТаблица.Номенклатура И
ПерваяТаблица.Количество = ВтораяТаблица.Количество
ГДЕ
    ПерваяТаблица.Номенклатура = 1 ИЛИ ВтораяТаблица.Номенклатура = 1
;
//////////////////////////////////////////////
ВЫБРАТЬ
    Таблица.Номенклатура1,
    Таблица.Количество1,
ИЗ
    ВТ КАК Таблица
ГДЕ
    Таблица.Номенклатура2 = 1

Объединить

Выбрать
    Таблица.Номенклатура2,
    Таблица.Количество2
Из
    ВТ КАК Таблица
ГДЕ
    Таблица.Номенклатура1 = 1
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Re: СКД
« Ответ #8: 28 Авг 2015, 11:55 »
Что значит убрать одинаковые количества? Одинаковые в Количество1 и Количество2, или где? Чтобы не задваивались одинаковые строки или ищем различия в таблицах?

2Дмитрий@: зачем единицы? Зачем объединение? Зачем временные таблицы? Зачем выбирать номенклатуру из обеих таблиц, если по ней соединяете? Намного проще:

ВЫБОР 
    ЕСТЬNULL(ПерваяТаблица.Номенклатура,ВтораяТаблица.Номенклатура) КАК Номенклатура,
    ЕСТЬNULL(ПерваяТаблица.Характеристика,ВтораяТаблица.Характеристика) КАК Характеристика,
    ЕСТЬNULL(ПерваяТаблица.Количество, ВтораяТаблица.Количество) КАК Количество
ИЗ Таблица1 КАК ПерваяТаблица
ПОЛНОЕ СОЕДИНЕНИЕ
ТАБЛИЦА2 КАК ВтораяТаблица
ПО ПерваяТаблица.Номенклатура = ВтораяТаблица.Номенклатура И
ПерваяТаблица.Характеристика = ВтораяТаблица.Характеристика И
ПерваяТаблица.Количество = ВтораяТаблица.Количество
ГДЕ
    ПерваяТаблица.Номенклатура есть null ИЛИ ВтораяТаблица.Номенклатура есть null
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн Дмитрий@

  • *****
  • Сообщений: 735
  • РЕПУТАЦИЯ: 134
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Re: СКД
« Ответ #9: 28 Авг 2015, 12:28 »
Цитировать
2Дмитрий@: зачем единицы? Зачем объединение? Зачем временные таблицы? Зачем выбирать номенклатуру из обеих таблиц, если по ней соединяете? Намного проще:
Я написал первое что пришло в голову.
Спасибо за интересный вариант.
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
170 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal