можно ли так жестоко поступать со Справочниками?! :))) #146418


#0 by Crazy1c
Есть Справочник. Есть документ, реквизитом кот. явл. Справочник,конкретное значение котого выбирается в форме документа...вопрос в том, можно ли как-то передать Справочник документу по ссылке???!
#1 by Страпот
Ниче не понял :).
#2 by Дурочка 1С
А документ обратно должен отдавать этот справочник? Или он в нем остается весь?
#3 by Любоч
Какое-то невнятное описание...ты точнее напиши - а то сейчас все дружно скажут, что о тебе думают ;-)
#4 by Crazy1c
Страпот, :))) постараюсь более понятно... Например,есть справочник СПРАВ, в нем реквезит ЗНАЧЕНИЕ.Есть Документ,реквезитом которого являеться СПРАВ.Создаю элемент справочника СПРАВ, ЗНАЧЕНИЕ = 777В Документе выбираю этот СПРАВ и в ОбработкаПроведения документа хочу поменять СПРАВ.ЗНАЧЕНИЕ = 666НО ЗНАЧЕНИЕ СПРАВОЧНИКА НЕ МЕНЯЕТСЯ!!! как = 777, так и есть!вот и спрашиваю,мона ли передать СПРАВ Документу по ссылке...
#5 by Crazy1c
3, н-да... я даже догадываюсь почему вы меня непонимаете... :))2, ну можно назвать это словом и "отдавать"...
#6 by Страпот
Можно :).Вроде и через ОбработкаПроведения должно работать.Делал через ПриЗаписи - работает..Может ты забыл Записать?Приведи код.
#7 by ValeriTim
А теперь код в студию
#8 by Crazy1c
НАВЕРНО МОЙ ВОПРОС К ЛЮДЯМ,КОТОРЫЕ СНАЧАЛО ИЗУЧАЛИ С++, А ПОТОМ 1С... :)) ОНИ БЫ ПОНЯЛИ...
#9 by Железяка
Не надо кричать.
#10 by Страпот
#11 by Любоч
в обработке проведенияспр=СоздатьОбъект("СПРАВ");спр.Записать;но неэстэтично как-то делать такие вещи при проведении документа :)
#12 by ValeriTim
Спр.НайтиЭлемент(НашРеквизит.ТекущийЭлемент); попробуй
#13 by AlexPalych
Вот здесь ты не прав............Прог должен быть универсален и уметь мыслить в разных языках.Надо сделать примерно вот так:
#14 by Любоч
#15 by Mikki
Млин, 1С, чтоб Вы знали, вообще все передает по ссылке
#16 by Crazy1c
Страпот, на Записать ругаеЦЦа... и разве Записать не идет с паре с Новый ??
#17 by Mikki
ндя...
#18 by Страпот
Нда...Хоть скажи как ругается."Мы с Тамарой ходим парой ..."(С)Нет не парой :)..
#19 by Crazy1c
AlexPalych, нет, я думаю,что прав... ТАК КАК ЛОГИКА ДОЛЖА БЫТЬ ОДНА... этот код я сейчас и сделал, но,понимаешь, логичней бы было, если конечно это предусмотрено в языке, сразу передать СПРАВ по ссылке и написать Спр.ЗНАЧЕНИЕ = 666 ведь так? чем писать....Mikki, да ну?! :)
#20 by Mikki
(0, 8) А Вы С++ тоже только изучали?
#21 by AlexPalych
Однако, вынудили потрудиться и написать красивый код? :-)
#22 by Макс 1С
интересно, а автор понимает разницу между СПРАВОЧНИКОМ и ЭЛЕМЕНТОМ СПРАВОЧНИКА?.....
#23 by Crazy1c
Mikki, что ты хочешь этим сказать? :))AlexPalych, я не считаю громоздкость красотой... уж язык программирования должен быть лаконичным! так считал,пока не познакомиться с 1с... :)))
#24 by Страпот
Познакомься с FoxPro или с другой СУБД, может так хаять 1С не будешь :).
#25 by Mikki
я хочу узнать, Вы понимаете разницу между private и public.
#26 by Crazy1c
Макс 1С, пониает... ;)) но может тут что-то мистичное скрыто? :)) объяснишь новичку 1с ?:)))
#27 by Crazy1c
Mikki, может мне,как новичку 1с, объяснишь какое это имеет значение для моего случая?... понимаю, я ДОПУСКАЮ,что я где-то не прав, поэтому и зашел на форум... ЗА СОВЕТОМ...
#28 by Макс 1С
что объяснить то....? как поменять значение реквизита элемента справочника?.... тебе этот код привели уже раз 10..... что тут еще можно добавить
#29 by Страпот
Так скажи, заработало или нет?И для чего такое понадобилось?
#30 by Mikki
в терминах С++: назовем справочник классом. Все реквизиты этого класса имеют модификатор доступа private. У класса есть ряд функция, членов этого класса. С модификатором public. Это конечно очень приближенно и возможно не совсем верно, но для ответа на вопрос почему нельзя сделать как Вы хотите в - покатит.p.s. ни в коей мере не отношу себя ни к большим, ни к даже малым знатокам С++ и ООП
#32 by Mitrich
ОФФ , Если Вы умеете думать на разных языках, это делает Вас лингвистом... Но не программистом :)Так, музыкой навеяло. Заработало?
#33 by Bot
Поддерживаю .Не совсем понятно, почему мы пытаемся объяснить то, в чем сами не разбираемся...;)
#34 by Mikki
И че заработает?
#35 by Дурочка 1С
Очуметь!
#36 by Crazy1c
Страпот, да,заработало! так и работало... я просто логичней хотел... ;)Mikki , не-а, не покатит!;) да,пусть всё так, не буду поправлять... отталкиваясь от ваших слов, чтоб изменить реквизит(private) должна быть функция(public),член класа... да, всё так и есть, но к моему случаю никакого отношения,как я думаю! т.к. записать то получаеться,просто запись не фикс. в справочнике... т.к. как я считаю, он передаеться по значению, т.е. при создании докум. создаеться копия объекта, а я хочу получить ссылку на сам объект... если мои мысли не ясны,завтра попытаюсь подетальней(поясней) описать, ща времени нет...
#37 by Страпот
Правильно!!! Как я сам не додумался :))))).Будет записываться одной командой.Может это даже правильное решение, но для определения надо бы задачу узнать :).
#38 by Crazy1c
Дурочка 1С, ага, эт тебе не плюшки у бабушки воровать (с) :)))))
#39 by Crazy1c
Bot, ;)Кассир, попытаюС найти эту галочку... :))
#40 by AAAChel
Прикольная тема) ничего не понял, хотя и на С++ много пописал, а про FoxPro, на который несправедливо наехали, уж молчу.
#41 by AAAChel
А надо в архив программистской мысли, по силе и ясности изложения!!!
#42 by Mikki
Ок :-)) Только никакой передачи в данном случае как раз и нет. И Вы абсолютно правы в том, что "т.е. при создании докум. создаеться копия объекта". И как раз здесь и работает "чтоб изменить реквизит(private) должна быть функция(public),член класа", которая считывает значения реквизитов из копии, и записывает.
#43 by Страпот
Я не наезжал :).Просто посоветовал другие СУБД посмотреть, а Фокс к слову пришелся.
#44 by Kp
Я тоже сначала не понял. А потом стало доходить, что Crazy1c - крутой программер.Он хотел наверное без содания Спр = СоздатьОбъект("Справочник.ХХХХ"); а только через выбранный реквизит документа (типа этого справочника) сразу поменять один из рекизитов элемента справочника.Только как быть если реквизит документа не выбран. У кого тогда движок 1С будет чего менять интересно.
#45 by Kp
Можно конечно свои правила придумывать, так ты и движок свой пиши.
#46 by AlexPalych
Ниффика вы тут разбуянились, однако....Вот только есть ли в этом смысл?
#47 by Страпот
Нет, потому тема и популярна :).
#48 by AlexPalych
Пришел с перекура, прочитал твой пост и "улыбнуло" :-)
#49 by Crazy1c
Кассир, твой метод - поставить галочку не помог, т.к. её можно поставить только для переодических реквизитов, а чтоб менять таким реквизитам значение нужно использовать метод Установить, кот. используеться только для объектов полученных через СоздатьОбъект... такие,блин, пироги...
#50 by Макс 1С
это где ты такое вычитал: " чтоб менять таким реквизитам значение нужно использовать метод Установить, кот. используеться только для объектов полученных через СоздатьОбъект".... у меня в СП написано:Назначение:Записать значение периодического реквизита справочника с привязкой к проведению документа.Параметры:<ЭлементСправочника> - элемент справочника, в который будет запись;<НазваниеРеквизита> - название периодического реквизита справочника;<Значение> - новое значение периодического реквизита;<ДатаУстановки> - дата установки нового значения периодического реквизита. Дата установки имеет смысл только для не оперативных документов.<ИмяТипа> - необязательный параметр. Строковое выражение - название типа данных (или Вид субконто);<Длина> - необязательный параметр. Число - длина числового или строкового значения;<Точность> - необязательный параметр. Число знаков после десятичной точки.Замечание:Параметры <ИмяТипа>, <Длина> и <Точность> следует указывать при установке значения периодического реквизита справочника, имеющего неопределенный тип.Замечание:Метод доступен только в Модуле документа в предопределенной процедуре ОбработкаПроведения.и где тут про Установить и СоздатьОбъект?
#51 by Crazy1c
50, Назначение чего?... эт функция чтоЛь какая?...
#52 by Страпот
Опять Нда... :)Ты сколько 1С занимаешься?Приведи наконец задачу полностью, для чего тебе надо в модуле проведения менять реквизит справочника...+50Называется эта процедура:УстановитьРеквизитСправочника(<?>,,,,,,);
#53 by Макс 1С
сорри при копированнии верхняя строчка не скопировалась..... см
#54 by Crazy1c
Для чего? ну какая разница?... пишу махонькую;)) конфу для автотранспортного цеха... вотЬ,есть справочник Машина,в кот. реквезит Спидометр. Есть докум. ПутевойЛист, в кот. фиксир. пройденные км, вот их и прибавляя к спидом...Макс 1С, пасиба, уже использую ;)
#55 by Страпот
Месяц и уже конфы пишешь!? Смотри аккуратней, а то наворотишь там :)..."Машина,в кот. реквезит Спидометр. Есть докум. ПутевойЛист, в кот. фиксир. пройденные км, вот их и прибавляя к спидом...".Так бы сразу и сказал :), тогда УстановитьРеквизитСправочника(<?>,,,,,,) для тебя.
#56 by Вадя
Посмотри работу со справочником Сотрудники в Зарплате или с Основными Средствами в бухне. Там документы реквизиты периодические у справочника меняют. Тебе ведь интересно показания спидометра на конкретный момент времени?
#57 by Parcan
я тоже когда с с++ на 1с переходил, думал господи что за убожество :)а потом поработал и понял нормальная система лаконичности сишной конечно не хватает так и язык другой всеже.
#58 by Parcan
я бы через месяц не советовал писать правильно говорит ты там сейчас со своим сишным подходом такого наворотишь :) надобы систему изучить для начала.
#59 by Сте rva
Да уж ;)
#60 by Kp
Обратили бы свой взор на регистры остатков, для решения задачи учета км по машинам. А то будут исправления задними числами документа "ПутевойЛист" и надо будет или всё перепроводить или неверный итог реквезита "Спидометр"
#61 by Crazy1c
57, эт точно! ;) Глупостей здесь предостаточно! Какой-то логике всё подчинено... женской :)))58, думаю,что ничего не делая, трудно будет изучуть систему...
#62 by Сте rva
ты б на кошках потренировлся что ли сначала, спидометр ;)
#63 by Crazy1c
62, тебя как-нибудь развили эксперементы с кошками? ;)
#64 by Сте rva
не всем нужно, у некоторых мозги сразу имеются ;)
#65 by Crazy1c
64, оно и заметно... какое ты чудо!:)))гы)))
#66 by Kp
Как только родилась, так сразу потянулась к компу, своими кривыми ручками автоматизацию ваять, да всё сразу ловко да складно!
#67 by Сте rva
Да, я знаю Ну да, только ручки у меня прямые, в отличие от ;)
#68 by Kp
Ну я рад за вас, хотя и не видел ваших ручек.
#69 by Crazy1c
60, думаешь с "регистры остатков" будет лучше?... я вообще наверно запрещу перепроводить этот док, та и это скорей всего не понадобиться...68, братишка,не опускайся до уровня "прямых ручек",ведь кто еще,кроме этого нечто,заметит,что оно родилось с мозгами?! ;))
#70 by Kp
Я думаю это будет правильнее и удобнее и вам и пользователям, не надо будет запрещать перепроводку не сильно изголяясь программно. Регистры для того и создавались чтобы в них учет вести. Заодно на простейшем примере и познакомитесь с ними поближе. А в справочниках информация условно-постоянная.
#71 by Сте rva
братишка, тебе, кстати дело советует, у него то видно с мозгами все в порядке ;)
#72 by lebedj
Самое весёлое будет, когда твои километры при восстановлении последовательности и пакетном перепроведении будут всё прибавляться и прибавляться...Или ты про руки пришёл спорить?
#73 by Proximo
мдя.... ты б хоть в типовой какой порылся бы что-ли...посмотрел цего к чему, а потом автотранспортный цех мучал :)
#74 by Crazy1c
72, я сюдя пришел с конкретным вопросом,на кот. получил уже ответ! а что нужно вам???
#75 by lebedj
- Слюшай, што она хочет?- Ничево не хочет, танцует! (с) Мимино
#76 by Valery
Ужас...! И это все Вы, уважаемые Мастера 1С.Где это видано, чтобы, пусть самый хороший, специалист в области программирования решал постановочную задачу. Ведь после налаживания учета пробега наступит черед на этом параметре строить массу процедур (от списания ГСМ и резины до формирования структуры себестоимости). Человек играется с языком программирования, как первоклассник со складным ножичком.У Евтушенко есть эпиграф: «Поэт в России больше, чем поэт». Наверное, к программистам это тоже относится.Бедный наниматель. Он еще почувствует всю пагубность своего подхода к автоматизации.
#77 by ТПП
: "Где это видано, чтобы, пусть самый хороший, специалист в области программирования решал постановочную задачу".В нашей стране почему-то так принято.А работодатель не бедный, нет. Уроды они, такие работодатели.
#78 by ТПП
Прогноз такой: через пару месяцев, когда полезут вышеуказанные проблемы, будет орать: "1с-гуано", а его работодатель: "все программеры - кАзлы".Так вот и живем...
#79 by 0xFFFFFF
Ему нужно, чтобы ты перепровел док и посмотрел что получилось.
#80 by romix
Сорри всю ветку не читал., Правилами сертификации специалистов по 1С это явно запрещено.http://www.1c.ru/rus/partners/training/questions.htmссылкаhttp://www.1c.ru/rus/partners/training/files/1c_tor77.zip
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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