Как объединить две таблицы значений? #483618


#0 by Оля_КТ
1. Ненавижу язык 1С. Тупой и безграмотный. 2. А теперь задание. Есть справочник_1 -шаблон, т.е. эталон. И есть справочник_2 -то_что_ввели. Требуется: Найти то, чего не внесено. Т.е. из справочника_1 вычесть справочник_2. Решение. Т.к. никакой возможности вычесть не нашла, пошла в обход. 1) запрос_1 по справочнику_1 вывожу в таблицу_значений_1 + ставлю в дополнительное поле цифру 1 2) запрос_2 по справочнику_2 вывожу в таблицу_значений_2 + ставлю в дополнительное поле 2. 3) объединяю таблицы значений воедино 4) сворачиваю по нужным мне колонкам, суммируя дополнительные поля. 5) если дополнительное_поле=2, то следовательно, нет введенной информации - печатаю. ВОПРОС: не могу объединить таблицы значений. КАК??? П.с.: я родом из Оракла, плююсь ядом каждый день, когда открываю конфигуратор. Help me please
#0 by Оля_КТ
1. Ненавижу язык 1С. Тупой и безграмотный. 2. А теперь задание. Есть справочник_1 -шаблон, т.е. эталон. И есть справочник_2 -то_что_ввели. Требуется: Найти то, чего не внесено. Т.е. из справочника_1 вычесть справочник_2. Решение. Т.к. никакой возможности вычесть не нашла, пошла в обход. 1) запрос_1 по справочнику_1 вывожу в таблицу_значений_1 + ставлю в дополнительное поле цифру 1 2) запрос_2 по справочнику_2 вывожу в таблицу_значений_2 + ставлю в дополнительное поле 2. 3) объединяю таблицы значений воедино 4) сворачиваю по нужным мне колонкам, суммируя дополнительные поля. 5) если дополнительное_поле=2, то следовательно, нет введенной информации - печатаю. ВОПРОС: не могу объединить таблицы значений. КАК??? П.с.: я родом из Оракла, плююсь ядом каждый день, когда открываю конфигуратор. Help me please
#1 by Rie
1. Так может, сменить профессию? 2. Можно взять 1С++ - и писать запросы прямо на SQL. А можно выгрузить Справочник_2 в СписокЗначений (назовём этот список СписокСпр2), и написать: Или даже лучше(?) Условие(СписокСпр2.Принадлежит(Элем)=0);
#2 by 2S
да, он такой
#3 by Оля_КТ
1. К сожалению, Оракл никому не нужен. Стать бухом? Фу... Кароч, я в раздумьях. 2.Кажется, я вас уже люблю... Если конечно все так, как вы написали.
#4 by Любитель XML
если хочешь перейти с оракла на 1с, то начинай сразу с 8.1/8.2, т.к. 7.7 уже умирает... там запросы похожи на скл, сделать элементарно...
#6 by fisher
#7 by fisher
Оракл не нужен? Не там ищите, наверно. +1 7.7, конечно, довольно грустная штука в части запросов к БД
#8 by Оля_КТ
Я уже вас всех люблю... - к сожалению, выбор ВЕСЬМА ограничен. так делаю то, что требуется, а не то, что хочется. На 8-ке запросы и вправду на запросы похожи, но стоит задача по 7-ке. Теперь я специалист широкого профиля - Оракл и др. СУБД высокого уровня, Дельфи, 1с7 и 1с8. Читай - не специалист нигде. Мрак полный. Ладно, выкрутимся как-нить, опыт не пропьешь. Всем спс, буду пробовать.
#9 by DigitalDolphin
То что в каком то языке нету конкретных функций или фреймверков вашего любимого языка это еще не повод его называть тупым. Языки бывают разные с разным назначением. У нас программисты уже как пользователи, одни любят только кнопки нажимать, а другие плюсоватьминусовать таблицы. Особенно если за написание программ на этих языках беруться "специалисты широко профиля" которые как сами верно подмечают "Читай - не специалист нигде. Мрак полный." .... звыняюсь за ремарочку, но чет захотелось сказать. Честно говоря не совсем до конца понял смысл задачи т.к. было озвучено не столько конечная цель, сколько сам ход решения. Может в вашей задачи вообще не надо набирать эти таблицы и потом их плюсовать?
#10 by ДенисЧ
а я думал, что это 1сники тупые... Оказывается, есть такие же ораклоиды... :-(
#11 by SmallDog
мне нужен, а еще чел нужен... грамотный, но во всем сразу... вот centos хочу запустить )))
#12 by Оля_КТ
Не, не состыкуемся Вот за что люблю Мисту - за прямоту. Обложат по самые уши. Милый, я сама в курсе, что НЕ ЗНАЮ. А если б знала, поверьте, я бы лично Вас ни о чем не просила. Vous compronez pas? Понимаете, если есть опыт в одном, то сложно не перенести его на другое. Ну Вы вряд ли поймете. Обычно обкладывают те, кто не отличаются особым умом и сообразительностью. Mille pardon. Тысяча извинений, надо было добавить ИМХО. Чисто мое мнение. ни на чем не основанное, кроме как на личных эмоциях. А смысл задачи я довольно ясно. на мой взгляд описала ДО решения. Как для первоклассников "дано, найти". Или все равно не понятно?
#13 by ДенисЧ
Вы правы, дорогая, я типичный 1сник. Тупой и жадный. Но только такие же могут обкладывать руганью то, чего не понимают.
#14 by ДенисЧ
Кстати, 1с - вполне себе тьюринг-полный язык, если Вам это хоть что-то говорит. В отличие от Оракля, кстати.
#15 by Оля_КТ
Вау! Неужели и я 1Сник??? Правда??? Соответствую?
#16 by Оля_КТ
Шо-то говорит, но я с Вами в корне не согласна. ИМХО, однако...
#17 by SmallDog
нет, так нет но в уж больно эмоциональное начало )) - неоправдано, как то не надо забывать - 1с довольно узкозаточена, и переносить... имхо неправильно
#18 by ДенисЧ
нет, Вы не 1сник. Но... С чем не согласны? С тьюринг-полнотой? Ну так Вы очень глубоко заблуждиваетесь... Кстати, личная карточка заполнена не полностью, а без этого на полноценную помощь тут рассчитывать не стоит :-)
#19 by Оля_КТ
Блин, далось Вам мое начало )))) Я 2-й день бьюсь лбом. кроме как "сравнить в цикле" ниче в голову не пришло. понятное дело, от незнания языка. Отсюда эмоции. Сделайте скидку на женскую эмоциональность, не судите строго )))
#20 by zak555
что это ?
#21 by Chai Nic
Если не стоит задача писать в "чистой семерке", то используйте расширение 1с++, значительно облегчит работу и повысит скорость. Там sql-запросы можно использовать. Плюс для 1с есть примочки по визуальному построению запросов и интеллектуальный редактор кода, с автодополнением.
#22 by ДенисЧ
Я вот, например, плюсб на оракль после мсскл... Эта сволочь заставляет писать insert INTO обязательно...
#23 by Оля_КТ
Милый Денисыч, я уже неоднократно поясняла, что считаю заполнение личной карточки не относящейся к делу. Я считаю, что помогает тот, кто хочет помочь, а не тот, кому нужно фото девушек. Инет полон всяких фото, я не худший экземпляр, хотя и не лучший. Мне хочется получить помощь программеров 1С, а не ценителей женских прелестей.
#24 by ДенисЧ
Это процедура :-)
#25 by ДенисЧ
Вечером субботы? Помощь программеров? Теперь я вижу, что Вы действительно женщина :-)
#26 by Оля_КТ
Хиииии А я с MSSQL через терку. тоже все не так как надо, на мой взгляд. Пальцы набьют одно, а "оно№ не понимает ))))))))))))
#27 by zak555
не вижу + а где по колонкам заполнение ?
#28 by SmallDog
задача тривиальна, но увы, больше сказать состояние алкоопьянения не позволяет )))
#29 by Оля_КТ
а до этого были сомнения? )))))) Абсолютно точно, 100% - женщина.
#30 by Chai Nic
И еще совет - не тратьте своё время на изучение стандартных семерочных запросов.. "черных", как их здесь называют.
#31 by ДенисЧ
Ага. Кстати, про 1с++ уже упомянули. В нём есть очччень хорошь класс ИндексированнаяТаблица. Там есть полезные методы. Рекомендую.
#32 by ДенисЧ
где-то в районе тзКуда.Заполнить(тзОткуда,начСтрока,конСтрока);
#33 by Злобный гном
Обычная дерготня начинающего 1С-ника, терпение и труд, Мадам, не ищите в тихом омуте спасения, со временем все получится, раза с 10 быть может.
#34 by Оля_КТ
Заполнить работат не так, как надо. Если мне не изменяет память, она переписывает тзОТКУДА, не добавляет, а перезаписывает. Кароч, я пробовала все методы, результат удивительный, но не подходящий.
#35 by Chai Nic
Да, у 1сv7 есть весьма удивительные вещи. Скажем, неявное преобразование типов, или использование неинициализированных значений может ооочень интересный результат выдать.
#36 by SmallDog
не плоди сущности, заполняй в цикле
#37 by ДенисЧ
хехехе. А мужики-то и не знают... У мужиков всё нормально заполняется, а тут пришла 100% женщина и всё сломала...
#38 by Оля_КТ
Не переворачивайте. Женщины СТРОЯТ, это мужики все разрушают, а потом строят. Женщины же подгребают ВСЕ под себя, и этот процесс называют строительством. ИТОГ: Я считаю, что строю. А что на сей счет думают мужики - значения не имеет. Лучше б помогли камни таскать, чем курить в сторонке и прикалываться.
#39 by Оля_КТ
Так значит цикл - это не так уж и плохо?.. Ох...
#40 by ДенисЧ
Цикл - это не плохо, когда задержек нет :-) Но всё-таки сильно рекомендую на ИндексированнуюТаблицу посмотреть
#41 by Chai Nic
Главные затраты времени в коде 1с - на обращение к данным в базе. Перебор таблички - мелочь.. Разумеется, когда в табличке не сотня тысяч строк.
#42 by DigitalDolphin
Ну.. тоже тысяча извенений за то что большими буквами не указал ИМХО, правда в посте я тоже это не разглядел после фразы "1С тупая система". По поводу задачи.. Хочу заметить что выкладки для первокласников не требуют размышения, а просто преподносят результат. Так если ты сама все написала, так зачем тут мы и наша помощь?? Я вообще не вижу в этой твоей "обобщенной задачи" смысл в сливании двух таблиц и потом их объедининия... ты могла бы ответить что будте  ключем объединения если у тебя два разных справочника... по чем ты объединяешь??
#43 by ДенисЧ
по рублю за строчку :-)
#44 by Злобный Йожег
Милая, за такие слова можно и бан получить. И нечего других обвинять в том, что у вас кривые руки.
#45 by Оля_КТ
Индексированная - это в 1С++? Откуда взять? С инета? Вас понял, значит иду заданным маршрутом, перебирая все значения Таблицы_Значений в цикле.
#46 by ДенисЧ
1cpp.ru
#47 by Оля_КТ
Справочники полностью идентичны. Только в одном - эталон, а в другом - то. что внесли. Задача - найти разницу и вывести на экран. Т.е. соединяю по одинаковым полям. За остальное - спасибо.
#48 by Злобный гном
Если бы задача была поставлена более конкретно, можно было бы почесать репу на эту тему, что за справочники, какие поля ?
#49 by Оля_КТ
Лично Ваше мнение меня мало интересует. Помогает всегда лишь тот, кто хочет помочь. Если сие покажется и админу - что ж, инет большой. Интересно, а что именно Вам показалось столь оскорбительным? Прям прикольно.
#50 by Злобный Йожег
Еще одна ТП на мисте?
#51 by DigitalDolphin
Даже если а в таблице будет ключем реквизит "Наименование", то при сворачивании ты все равно потеряешь связь с элементами, поэтому этот метод тут вряд ли подойдет. Так. как других подробростей задачи ты опускаешь, могу только посоветовать набрать одну таблицу по справочнику, а второй по циклу сверить, и недостающие элементы набрать в список.. Для этой задачи на мой взгляд не нужны ни 1С++ ни другие дополнения. Так как обычных средств хватит для ее выполнения. Думаю разница в скорости в 20 -30 секунд в этой задаче не принципиален.. ИМХО
#52 by Оля_КТ
Справочники написаны лично мной. Конфа тоже моя. Задача такая. Есть список неких данных, которые надо загрузить в 1С. И есть справочник_2, в котором отмечается, какие же именно  данные загрузили. Надо найти, чего не загрузили в 1С. На мой тупой взгляд, ТП - это технологический процесс. Или не так?
#53 by DigitalDolphin
+51 Даже не по циклу перебрать, а используя метод ТаблицыЗначений.НайтиЗначение
#54 by Оля_КТ
никакая затрата времени в 20-30 с никем не считается. Так что - абы сделать правильно.
#55 by DigitalDolphin
Вот не пойму зачем для загрузки в один справочник, создаеться другой для отслеживания... вот не понимаю? что во втором такое приниципиальное храниться? Ну я так и понял по начальному описанию
#56 by SmallDog
на мой "тупой" взгляд 1с - среда программирования, со своими "заморочками", которые придется учитывать... )
#57 by Оля_КТ
чему и учимся, "вашими молитвами", как говорится...  А Вы случаем не родились ли 1_Сником? Вот Вам повезло-то! Но поверьте, в основном людям приходится обучаться, и иногда с помощью Мисты и лично Вас )))
#58 by SmallDog
я учился, когда у нас не тока мисты...) инета нормального не было (((
#59 by DigitalDolphin
Кстати это хитрое описание задачи случайно не связано с написанием обработки по синхронизации разных баз с одинаковой конфигурацей??
#60 by Оля_КТ
Есть список клиентов, которым ставится некое программное обеспечение - это справочник_1. Это программное обеспечение требует ПОСТОЯННОГО обновления. Т.е. есть справочник_2 - это то, что реально обновили. Надо вывести, чего же не обновили.
#61 by skiller3000
эхх... в скуле так просто делается :)
#62 by Оля_КТ
Так. Все, раскрываю карты. Есть список клиентов, у которых стоит программное обеспечение_№Х (ПО). Это справочник_1. Далее с течением времени в 1С загружаются файлы XML, содержащие данные по обновлению этих ПО. Вопрос в том, чтоб вывести не обновленные ПО за заданный период.
#63 by Оля_КТ
и я плакаю...
#64 by Оля_КТ
Быть может, я моложе Вас. А может - просто недавно жизнь ткнула мордой по 1С. И я нашла Мисту и лично Вас.
#65 by skiller3000
прямо ирония судьбы не удержался :)
#66 by Chai Nic
Начинающие 1сники часто делают ужасный код, по неопытности. За который через пару лет им становится стыдно. НО это нормально.
#67 by skiller3000
подключай 1С++, делай прямые SQL запросы и будет тебе счастье... самого недавно перевели на 1С 7.7 - учу по ходу копания в коде...
#68 by SmallDog
плакать смысла нет... 1с это узкозаточенная сп, которая с скуель имеет весьма опосредованное отношение
#69 by skiller3000
было стыдно за свой первый отчет... там чего-то не сходилось - переписал полностью под запросы... а старый код закомментил на память :)
#70 by SmallDog
+ сп - это среда программирования (так, на всякий случай)
#71 by Капитан Смоллет
С проклаба, сравнение планов счетов двух баз с выводом найденных различий:
#72 by Злобный гном
Не проще ли это сделать используя регистры ?  В v8 ,к примеру, есть такая штука как ПустаяСсылка, насчет v7 не знаю, если есть, можно попробовать от этого плясать
#73 by Оля_КТ
какие регистры в 7-ке? Или я снова не в курсе дел
#74 by ДенисЧ
оппа.. В 77 отменили регистры? Когда?
#75 by SmallDog
ага, точно так )
#76 by Оля_КТ
Снова здорова. Конфа - ЛИЧНО МОЯ. понимаете. я ЭТИ данные в регистрах НЕ ХРАНЮ. Я... понятно изъясняюсь? (с)
#77 by Злобный Йожег
Девушка, а вы какой-нибудь учебник по 1С для начала почитать не пробовали? Ну вот этот хотя бы А уже потом лезли бы на форум с вопросами.
#78 by skiller3000
стало интересно - вы давно в 1С вообще?
#79 by Оля_КТ
Там алгоритм следующий. Выгрузили в ТЗ_1, выгрузили в ТЗ_2. В цикле ходим по ТЗ_1 и ищем значения в ТЗ_2. И с результатом делаем то, что нам надобно. Т.е. вычитания таблиц значений не происходит, и объединения тоже. Тупо выгрузили в одно множество, в другое, и по циклу сравниваем эти 2 множества. Хотелось бы изящнее. Цикл - последнее средство (ИМХО, чтоб тапками не закидали)
#80 by DigitalDolphin
ПРи сравнении с ХML да теперь вижу смысл метода Свернуть.. Только зачем две таблицы. Одна таблица с тремя колонками КОд_Клиента, Код_Программы, Обновленно. Заполняешь сначала из справочнка, потом из файла, сворачиваешь, ищещь Обновлено = 0 и по коду находишь клиента и выводишь.. помойму все
#81 by Злобный Йожег
Честно говоря, не понимаю, в чем проблема. По-моему, ее уже давно решили ответом в . Или автору ветки использовать 1с++ религия не позволяет?
#82 by Оля_КТ
В очередной раз пишу, что помогает лишь тот, кто желает оказать помощь. Прочие рассказывают утопающему о собственной тупости, о том, что надо было учиться вовремя плавать, что теперь ничто не поможет и т.д. Помогающий же протягивает руку. Аналогия ясна? Мне Ваши увещевания не помогут, чесслово. для любопытных. Около 1 года. И? Будете оценивать профпригодность?
#83 by DigitalDolphin
Вопрос в том что не знаем где же все таки впехнуть объединение двух таблиц.. все время не получается использовать :-))
#84 by Злобный Йожег
А что это вы сама с собой разговариваете? :)
#85 by DigitalDolphin
Ну что же год уже совсем не плохо, помойму уже можно было за год понять что 1С это не VisualStudio и решения Enterpise тут не пишуться (по доброму подмигиваю и улыбаюсь)
#86 by Оля_КТ
я заполняю из запроса, а не бегая по справочнику. Соответственно, мне удобнее результат запроса выгрузить в ТЗ. Запроса два - один по справочнику, другой по данным с XML. И мне было бы очень удобно объединить эти 2 таблицы и свернуть потом. Но возможно это не самый лучший вариант в разрезе 1С77.
#87 by skiller3000
код покажи уже
#88 by Оля_КТ
Да уж, Ежик, простите, это был ответ лично Вам на .
#89 by DigitalDolphin
Ну если честно не помню в 7.7 запросы по ХML... ну если выуживаешь спорить не буду
#90 by Оля_КТ
XMl выгружаются в 1С-ный справочник перед тем как...
#91 by Злобный Йожег
Нет, не прощу...
#92 by DigitalDolphin
Оля, помойму уже можно было понять что в данном случае решение с двумя таблицами не являеться "коньком" этого алгоритма, и есть простые решения. Или тебе принципиально надо увидеть в 1С сложение таблиц, или ты хочешь принципиально поставить Oracle, выгружать туда данные и решать задачу в любимой среде?? вот не пойму. решение уже озвучено, чем оно тебе не подходит? Заполняя одну таблицу по 2 справочникам не больше накладывает времени, чем твои 2 и потом их еще сливание.
#93 by Оля_КТ
Пошла заполнять одну таблицу. Спасибо за вразумление. :)))
#94 by Оля_КТ
Блин, опять вместо написала . Наверное, спать пора, а не таблицы заполнять. Все равно всем спс.
#95 by DigitalDolphin
Приятного творчества :-))
#96 by Шурик71
Главное, в и в был абсолютно точный ответ, причем в решение длиной 2 строчки... но автор и миста дотянули почти до 100 постов, и разошлись, недовольные друг другом :)
#97 by Дык ё
опять же ДенисЧ дурного не посоветовал: но спать, конечно, лучше, чем таблицы заполнять.. :-)
#98 by zak555
так в типовой тиса тоже кажись есть
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С