Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 4, свеженьких 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )

> Системная функция "ТипЗнч()" - не вопрос, а просто мнение , 1С:Предприятие 8.3 (8.3.5.1517) - управляемое приложение 4 страниц V  « < 2 3 4          
Batchir Подменю пользователя
сообщение 21.11.19, 14:23
Сообщение #61

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3486
Из: Одесса
Спасибо сказали: 1340 раз
Рейтинг: 987.3

Gigi, Земля плоская и стоит на трех китах

Vofka Подменю пользователя
сообщение 21.11.19, 14:26
Сообщение #62

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13178
Из: Киев
Спасибо сказали: 4001 раз
Рейтинг: 3136.2

Цитата(andr_andrey @ 21.11.19, 12:24) *
Почему в С#, Go, Python, Бейсик - "нет готовой функции, которая склонят ФИО?"

Потому что это такие же недоязыки, как и 1С crazy.gif

Спасибо сказали: demon14,

andr_andrey Подменю пользователя
сообщение 21.11.19, 18:31
Сообщение #63

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 500
Спасибо сказали: 119 раз
Рейтинг: 95.5

Цитата(Gigi @ 21.11.19, 12:35) *
И для своей не простой и гениальной задачи точно не пользовался бы тем языком программирования который даже склонять НЕ УМЕЕТ!

Назовите пожалуйста хоть один язык программирования, который умеет склонять?
Эту тему надо делать "Пятничной".

Цитата(Gigi @ 21.11.19, 13:44) *
Я сравнивал 1С с Акссес просто небо и земля. 1С лучше и быстрее работает. Акссес не так удобен как 1С и вообще сильно тормозит. Короче полный отстой.

Я не понимаю, как вы такое сочиняете, это же тролинг высшей пробы. 12201689.gif


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Gigi Подменю пользователя
сообщение 25.11.19, 9:26
Сообщение #64

Оратор
*****
Группа: Пользователи
Сообщений: 460
Спасибо сказали: 5 раз
Рейтинг: 2

Цитата(andr_andrey @ 21.11.19, 19:31) *
Я не понимаю, как вы такое сочиняете, это же тролинг высшей пробы.

Короче уважаемые ... вижу что дискуссия чуть накалилась. И вот вот уже, не дай бог перейдет в личные знаки "уважения". Не хотелось бы этого. Потому что это НЕ ДОПУСТИМО! В таком случае лучше прекратить весь этот диалог.
Поэтому знаете как поступим?
Давайте пожалуйста возьмем и отбросим все что связанно с эмоциональным восприятием вопроса. И очистим голову от этого. Имею ввиду то, что я тут неоднократно слышал упрек в том, что я свободно высказывая свое мнение, не помню дословно но примерная цитата: "оскорбляю чувства благоговения перед этим калькулятором 1С".
Именно поэтому иногда не знаю как поступить. С одной стороны у меня есть некие выводы и я знаю что высказав их, это может некоторым не понравится и будут обвинять что оскорбляю. При том, что честно Вам говорю у меня нет такой цели. Поверьте .. "тролить" и заниматься этим пустым и никчемным безобразием. Так что, высказав мнение я боюсь что кому то оно не понравится. Именно поэтому с одной стороны лучше конечно помалкивать, и свое мнение держать при себе. Но дело в том, что на то и мне нравится этот сайт, что я тут могу говорить то что думаю. Именно за это и уважаю ... за его демократичность. Так что, свое мнение можно держать при себе, но не знаю, просто есть вопросы на которые где то есть свой же ответ а где то нет. И мне просто интересно услышать мнение.
Поэтому давайте отбросим вопрос "благоговения" и то, что тут много последователей системы 1С. Очистим голову от этого.
Лично у меня нет никаких чувств к любой среде разработки. НИКАКИХ! У меня разум абсолютно свободен от этого. И поэтому то что 1С это бренд мне это безразлично.
Потому, что бренд иногда бывает результатом не качества а пиара. Я щас не об 1С. Так что, я исхожу только из того, что на деле.
Так что, я абсолютно тут беспристрастен!
Поэтому давайте порассуждаем на холодную и беспристрастную голову.
Я хочу всего лишь говорить то что думаю. И при этом даже не думать о том, нравится это кому то или нет. Чем и нравиться мне этот сайт.
Цитата(andr_andrey @ 21.11.19, 19:31) *
Назовите пожалуйста хоть один язык программирования, который умеет склонять?
Эту тему надо делать "Пятничной"

Вы знаете, на ум приходит такая страна как Америка. На мой взгляд, знаете почему она такая мощная. И занимает такое лидирующее положение в мире. Думаете потому что ее граждане умнее чем другие? Ничего подобного! Дело в менталитете и в отношении к делу. Т.е. в отличие от нас они не стремятся постоянно кого то догонять. Ну типа раз в других языках нет функции склонения то нам тоже незачем это предусматривать. А стремятся быть всегда ПЕРВЫМИ! И быть первыми ВО ВСЕМ! Именно поэтому они и лидеры.
Цитата(Vofka @ 21.11.19, 15:26) *
Потому что это такие же недоязыки, как и 1С

"Недоязыки" это всего лишь определение. И всего лишь чей то вывод. Я вообще не об этом. Я уже говорил что у меня вопросы возникают в 5-ти процентов случаев. А на 95% у меня нет никаких вопросов равно как и никаких нареканий.... при чем тут "недоязык"... Поэтому в целом 1С работает превосходно!
Просто есть вопросы... И тут возвращаюсь опять к теме заглавия. По которому я так и не услышал внятный ответ.
Функция ТипЗнч().
Объясните мне уважаемые следующее... что просто не укладывается у меня в голове ... что за чушь.
ПОЧЕМУ ЭТА НЕСЧАСТНАЯ ФУНКЦИЯ НЕ МОЖЕТ ВЫДАТЬ ПОЛНОЕ ИМЯ ЗНАЧЕНИЯ НА ПРИМЕР ССЫЛОЧНОГО ТИПА?
Извините за слово: "несчастная", но когда увидел такое был просто в шоке smile.gif Я просто не понимаю как можно было так сделать. И кто вообще эту функцию писал. О Господи!
Еще называется "ТипЗнч" т.е. тип значения. Как можно было ее написать так неудобно.
На пример допустим полное имя значения ссылочного типа это "СправочникСсылка.Справочник1"
Поэтому тест:
Тип=ТипЗнч(ЗначениеСсылка);
Сообщить(Тип);

Выдаст не полное имя ссылки: "СправочникСсылка.Справочник1", а только ее часть т.е. напишет: "Справочник1".
ПОЧЕМУ? Почему так сделано... Так неудобно!
Т.е. в итоги эта несчастная функция: "ТипЗнч()" даже полное имя ссылочного значения не может выдать.
И Вы думаете я не в курсе того, что она возвращает тип как объект, а не как текстовые сведения. Я это понимаю, но не понимаю почему так коряво.
Вот мой вопрос по теме.
У меня все!

Gigi Подменю пользователя
сообщение 25.11.19, 11:39
Сообщение #65

Оратор
*****
Группа: Пользователи
Сообщений: 460
Спасибо сказали: 5 раз
Рейтинг: 2

Ладно Пока!

Vofka Подменю пользователя
сообщение 25.11.19, 11:52
Сообщение #66

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13178
Из: Киев
Спасибо сказали: 4001 раз
Рейтинг: 3136.2

Цитата(Gigi @ 25.11.19, 9:26) *
вижу что дискуссия чуть накалилась.

Скорее, зашла в тупик. Вы остались при своем мнении и отстаиваете его, это ваше право. За всех не скажу, но у меня мнение на этот счет другое и мне просто не интересно дальше с вами об этом говорить.

Цитата(Gigi @ 25.11.19, 9:26) *
И вот вот уже, не дай бог перейдет в личные знаки "уважения"

Это исключено. У нас приличное сообщество. mamba.gif

Gigi Подменю пользователя
сообщение 25.11.19, 12:47
Сообщение #67

Оратор
*****
Группа: Пользователи
Сообщений: 460
Спасибо сказали: 5 раз
Рейтинг: 2

Цитата(Vofka @ 25.11.19, 12:52) *
Это исключено. У нас приличное сообщество.

Не сомневаюсь ... Просто все равно сталкиваюсь с негативом.
Я ведь просто решил задать вопросы. И ничего личного!
Ладно! Видимо как не крути оппонент как бы ты не старался все равно вызывает негатив.
И это потому что я думаю не так как некоторые и многие тут.


И мне тоже уже надоело... ибо я в итоги тут ничего внятного не услышал. Только одни оскорбительные обвинения какой я типа "незнайка".
А они сами типа крутые. Сыт я по горло такими. Супер опытными ... Настолько опытными, что мне меньшим опытом потом нужно было переделывать ту хрень которую они намазюкали. Так что у меня от слова "опытный" уже аллергия. И знаю я таких ... кто они на деле.
Так что ладно... мне тоже не интересно и надоело. Тем более доказывать то, что 2+2 это НЕ ПЯТЬ!
Так что всем большое спасибо и пока!

pablo Подменю пользователя
сообщение 25.11.19, 14:35
Сообщение #68

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1069
Из: Одесса-Луганск
Спасибо сказали: 180 раз
Рейтинг: 138.9

Цитата
Тип=ТипЗнч(ЗначениеСсылка); 
Сообщить(Тип);
Здесь проблема не в функции ТипЗнч, а в сериализации значения типа ТипДанных. Вы таки путаете понятия.
В других языках есть такие же функции typeof(), которые тоже выдают "неудобные" значения. В тех языках "неудобность" компенсируют внешними библиотеками функций (иногда эти библитеки включают в поставку продуктов), но никогда это не решали средствами языка.
В новых языках (как правило, полностью объектно-ориентированных), подобные функции могут выдавать текст, который Вам желательно видеть, но это малая часть от всех языков программирования. А Вы по-прежнему требуете, чтобы язык соответствовал именно Вашему видению по составу.

Сообщение отредактировал pablo - 25.11.19, 14:36


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Спасибо сказали: Gigi,

Gigi Подменю пользователя
сообщение 28.11.19, 12:58
Сообщение #69

Оратор
*****
Группа: Пользователи
Сообщений: 460
Спасибо сказали: 5 раз
Рейтинг: 2

Цитата(pablo @ 25.11.19, 15:35) *
Здесь проблема не в функции ТипЗнч, а в сериализации значения типа ТипДанных. Вы таки путаете понятия.
В других языках есть такие же функции typeof(), которые тоже выдают "неудобные" значения. В тех языках "неудобность" компенсируют внешними библиотеками функций (иногда эти библитеки включают в поставку продуктов), но никогда это не решали средствами языка.
В новых языках (как правило, полностью объектно-ориентированных), подобные функции могут выдавать текст, который Вам желательно видеть, но это малая часть от всех языков программирования. А Вы по-прежнему требуете, чтобы язык соответствовал именно Вашему видению по составу.

Гууу ... Наконец-то услышал внятный ответ на прямой вопрос. Просто ответ на заданный вопрос, а не вопрос на вопрос ... т.е. без лишних расспросов для чего мне это нужно и зачем. Что обычно мое личное дело для чего.
Так что, не хочу никого обидеть, но это самый лучший ответ в этой теме. Самый внятный!

И по тематике напечатал комментарий на этот ответ, который, опять получился слишком длинный.
И раз так думал, стоит ли публиковать этот комментарии, тут вообще, раз опять 1000 букв, которые было не охота сокращать и укорачивать.
Но ладно, черт с ним. Решил опубликовать. И тем самым вообще опять поделиться мнением. В особенности по поводу того, в чем вижу подвох, когда кто-то говорит о моем типа «непонимании» разных вопросов. Пытаясь все и вся списать на это.

Комментарий

Цитата(pablo @ 25.11.19, 15:35) *
Здесь проблема не в функции ТипЗнч, а в сериализации значения типа ТипДанных. Вы таки путаете понятия.

Ну да, я догадывался, что, так … что тут дело в типе данных. И в том, как он смотрится в текстовом формате, и как сериализуется. Но это лишь причина того, что выдает ТипЗнч(). И не знаю как это воспринимают другие, но я считаю что так не должно быть. И это даже при этом аргументе:
Цитата(pablo @ 25.11.19, 15:35) *
В других языках есть такие же функции typeof(), которые тоже выдают "неудобные" значения. В тех языках "неудобность" компенсируют внешними библиотеками функций (иногда эти библитеки включают в поставку продуктов), но никогда это не решали средствами языка.

Т.е. мне без разницы как в других языках. А волнует только то, что так «неудобно» и это факт. Поэтому, внешние библиотеки функций и т.д. это все хорошо, но … не знаю…., на мой взгляд, это все равно что бы для вбития гвоздя молотком предлагать еще какой-то дополнительный инструмент, между молотком и гвоздем. На пример клин. Который непонятно для чего нужен, когда есть молоток. Которому, для вбития гвоздя, вроде бы не нужен посредник. Поэтому по поводу: «никогда это не решали средствами языка». Непонятно почему. Так же как и то, для чего молотку и гвоздю нужен посредник. Именно поэтому касательно:
Цитата(pablo @ 25.11.19, 15:35) *
А Вы по-прежнему требуете, чтобы язык соответствовал именно Вашему видению по составу.

Не знаю, но мне кажется, что это не то что соответствует моему личному видению, а то, что вообще удобно в объективном смысле. Ну, по крайней мере, мне так кажется.
Ибо, как только недавно прямо тут понял, полное имя значения ссылочного типа системным путем можно получить вот так:
    
ПроверяемыйТип = ТипЗнч(Значение);    
ТипПолноеИмя=Метаданные.НайтиПоТипу(ПроверяемыйТип).ПолноеИмя();
Сообщить("Тип - Полное имя: "+ТипПолноеИмя);

Но Вы знаете, сколько времени потратил, что бы это узнать. Вначале рыл в сети и где то говорилось что это возможно через XML. И написал даже функцию для этого. Ту самую, которая вначале данной темы указана.
Я эту функцию, позже у себя переименовал на «СведЗнч». И еще и доработал ее. И текущий вариант функции выглядит вот так:
СведЗнч(Значение,Сведения,Проверка)

И я тем самым сделал так, что бы на пример с помощи этой одной функции про значение было известно все что возможно! Вот как… Т.е. что бы для получении нужных сведений, вообще не была такая необходимость писать дополнительные строки кода, такие как на пример: «НайтиПоТипу» и т.д. Эта функция объединяет разные функционалы по значению. Как и то что выдает ТипЗнч(), так и вообще текстовые сведения, на пример по принадлежности к метаданным и т.д. Короче все, что возможно по максимуму. И все это в зависимости от того, что указано в аргументе «Сведения». Плюс еще и функционал подтверждения. Для чего добавил еще и аргумент «Проверка», для возврата булевых значений.
Короче постарался, что бы все было в одном. И это для одной цели! Так УДОБНЕЕ! Вот для чего.
Но при этом понимаю, что некоторые скажут, подумаешь «неудобство» в процедурах прописать не одну строку, а всего лишь, две или три. Для чего нужно для этого создавать функции? Для того, что бы строки кода были, всего лишь, на одну или две строки меньше?
Согласен! Но дело в том, что в самом языке подобных неудобств масса. Поэтому где то вместо одной строки написал две, где то четыре, где то пять и т.д. И вот так и набирается километровый объем кода в процедурах. Что лично меня не устраивает. Поэтому в данный момент я вообще тем и занимаюсь, что работаю над созданием исходника конфигурации. Который для программиста намного удобнее, чем если пользоваться только системными функциями. И в этом плане слишком много общих модулей набралось с аффиксом: «Config_».
При чем, многое из того, что хотел сделать в исходнике, для более легкой и удобной работы в среде 1С оказалось НЕВОЗМОЖНЫМ! Например по авто-заполнению данных в форме по шаблону значений. Эту возможность хотел прописать в глобальном контексте на пример для форм объекта по всем документам. И сделать так, через возможность общих команд. Но в итоги возникла проблема, как скрыть эти кнопки в формах нового объекта. Ибо при нажатии на кнопки глобальных команд по новым объектам выходит одна не нужная для данной цели, хрень. От которой невозможно избавиться. Хрень диалога сохранять или нет. И при этом, раз такое дело, еще и не возможно эти кнопки для нового объекта просто скрыть. Это тоже невозможно в глобальном смысле. Короче, не так не сяк невозможно. Именно из-за этого уже думаю, а не отказаться ли от идеи вообще? Потому, что в 1С в некоторых местах сделано все для того, что бы программист физический не смог облегчить себе жизнь. Просто удивляюсь, как местами сделано все именно для этого. Для того, что бы программист ну просто даже при большом желании не смог упростить работу в этой среде. Да хоть лопни! Т.е. кое где сделано по принципу сами не сделали и другим тоже не даем. И наверно в этом разработчики, уважаемые наши «герои», местами постарались просто на «славу».
И самое смешное, что прямо тут сама идея авто-заполнения была названа «тривиальной». Надо же?
Если идея на самом деле так банальна то, че ж тогда сами разработчики не учли эту «тривиальную» возможность, интересно? И че ж тогда всего этого в 1С нет в готовом виде? В таком случае и мне не пришлось бы париться, и тогда одной проблемой стало бы меньше.
Но ладно это отступление, поэтому возвращаюсь к функции СведЗнч, которую прописал с применением XML. Так вот, уже теперь раз, слава богу, оказывается, есть команда: Метаданные.НайтиПоТипу().ПольноеИмя()» то, получается что XML не нужен. И можно обойтись без него. Отлично! Поэтому придется функцию видоизменить. И я может, в другой новой теме выставлю ее. На всякий пожарный. Что бы узнать все ли учел или есть недостатки. О чем и спрошу.
Но я в итоги все равно считаю, что так не должно быть. И мне без разницы как в других языках. Имею ввиду то, как сериализуется тип ссылочного типа. И то, что он сериализуется не в формате полного имени. Именно поэтому и получается, что функция: «ТипЗнч()» полное имя ссылки толком не может выдать. Так же как другая функция типа по реквизиту. И для того что бы получить полное имя, оказывается нужно еще писать доп. строки на пример: «НайтиПоТипу ..». Это малый нюанс, но смотрится в стиле мазохизма. Не понимаю, зачем так сделали? ТипЗнч() должна выдать ПОЛНОЕ ИМЯ!
Если она это не может то тогда что она может. И неужели она для значений ссылочных типов, годиться только для возврата булевых значений. Т.е. только для этого:
 ИстинаЛожь=ТипЗнч(Ссылка)=Тип(СправочникСсылка.Справочник1);

Да уж, «Круто». Да на кой черт она нужна как, видишь ли, отдельная функция, если это единственное на что она годна.
И мне без разницы как в других языках. Почему я в этой теме говорил что «не верю». Не верю тем, которые утверждают, что это так должно быть, а иначе сделать было типа «невозможно». И типа именно поэтому основатели языка так и сделали. А любое мое недовольство списывают на мое типа непонимание. Знаете, почему я усматриваю подвох в таких утверждениях?
Для этого приведу пример компаний создающих антивирусы. Думаете, они работают только надо разработкой антивирусов? Нет не только. Они еще работают, знаете над чем? smile.gif Над созданием самих вирусов. Вот над чем. smile.gif И тут ведь все просто. Что бы продавать свои антивирусы, ведь нужно еще и создавать сами вирусы. Вот так и получается, что компания, официально пишет антивирусы, а не официально их создает. И это потому, что так прибыльнее. И чисто по коммерческим соображениям.

Вот почему я не верю в то, когда кто-то утверждает, что в языке программирования должно быть, именно так и никак иначе. И почему вижу подвох. Ибо ведь понимаю, что язык программирования тоже создают люди. И понимаю, какими они иногда могут быть «честными». И как это они иногда могут делать на «совесть».
Гууу ... ладно! Всем спасибо!
У меня все!

pablo Подменю пользователя
сообщение 28.11.19, 14:44
Сообщение #70

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1069
Из: Одесса-Луганск
Спасибо сказали: 180 раз
Рейтинг: 138.9

Цитата
Не знаю, но мне кажется, что это не то что соответствует моему личному видению, а то, что вообще удобно в объективном смысле. Ну, по крайней мере, мне так кажется.
В этой фразе Вы сами себя опровергли. На основании собственного мнения Вы выводите объективное удобство. Без функции ТипЗнч() очень тяжело работать в языке с динамической типизацией. И с точки зрения компилятора интерпретатора (и программиста, соответственно) гораздо быстрее сравнивать типизированные значения, чем строки.



Signature
Правильно поставленный вопрос содержит до 90% ответа.

Спасибо сказали: Gigi,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


4 страниц V  « < 2 3 4
Ответить Новая тема
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 14.12.19, 7:02
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!