Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Нужен совет в конфигурировании на 7.7 (http://forums.kuban.ru/f1040/nuzhen_sovet_v_konfigurirovanii_na_7_7_a-6892948.html)

Ocean5 03.06.2015 20:28

Нужен совет в конфигурировании на 7.7
 
Уважаемые господа, подскажите пожалуйста в написании кода на Предприятие 7.7. в конфигурации зарплата и кадры
В справочнике Сотрудники есть реквизит Наименование. Данный реквизит содержит Фамилию, Имя и Отчество (одной строкой)
Строка кода БазаМаэстро.FIO = ТзВыплат.Сотрудник.Наименование;
возвращает нам Фамилию, Имя и Отчество в одну колонку таблицы (т.е. в одно поле). Вопрос: как сделать, чтобы Фамилию, Имя и Отчество возвращались в разные колонки. Добавить поле, это понятно, но как разделить ТзВыплат.Сотрудник.Наименование на три слова (или поля)?
Спасибо

Ткачик 03.06.2015 20:48

(0) "[em]как разделить ТзВыплат.Сотрудник.Наименование на три слова (или поля)?[/em]" - по пробелам. Если непонятно - зовите программиста.

Хотя где-то недавно обсуждался случай ФИО из [b]четырех[/b] слов.

DeiMos 03.06.2015 21:05

Я уж лет 10 как в ЗИК 7.7 не заглядывал....
Но сердцем чую, что аффтар лжот.
Не может быть в типовой ЗИК у сотра реквизита Наименование.


Ну, в принципе, вот такой сотрудник: Сунь ХКуй Ф Чай Вынь Су Хим.

DeiMos 03.06.2015 21:08

А вообще, в типовой ЗИК в глобальном модуле есть экспортная функция ГлРазделитьФИО... Как то так....

Jimbo 03.06.2015 21:11

(1) а если нет пробелов ? :)

DeiMos 03.06.2015 21:16

А если вместо пробелов - апострофы?
Ибн'Алла'ДжжаммбулатСолнцеликийРамзанИбнОхххмадГеройРоссии?

Странный аттрактор 03.06.2015 21:16

[quote=DeiMos;39181877]Не может быть в типовой ЗИК у сотра реквизита Наименование.[/quote]
Не может у 77 у справочника отсутствовать реквизит Наименование.
(0)глФамилияИмяОтчество

DeiMos 03.06.2015 21:17

Короче, увольняйте нафиг вашего системного аналитика.

DeiMos 03.06.2015 21:19

Профнепригоден 100%.
Любой аналитик (даже у меня девочко- припевочко работает) сразу и немедленно посылает Заказчика с такими заявками - НАКУЙ!!!!

DeiMos 03.06.2015 21:21

6-Странный аттрактор >
О!
Точно!
Спасибо!
глФамилияИмяОтчество().

Чучундер 03.06.2015 23:22

6-Странный аттрактор > в ына своем бентли уехали в какие-то мальдивы...
может быть
[url]http://screencast.com/t/nK8515WyMX[/url]

VZ 03.06.2015 23:35

6-Странный аттрактор > "Не может у 77 у справочника отсутствовать реквизит Наименование" - может-может.
И без кода может ;)
Функционал, правда, обрежется. До "больше не вырастет".

Странный аттрактор 04.06.2015 00:46

11-VZ >вроде как про типовой функционал речь шла

VZ 04.06.2015 02:37

12-Странный аттрактор > В типовом функционале ЩиК, в метаданных, итеются справочники не только без Наименования, но и без кода.
И активно используются.
Примеры:
ВычетыСотрудниковПоНДФЛ. Длина кода 0, длина наименования 0.
НачисленияУдержание. Так же.
НКДоходы
НКИтоги
ПрогрессивныйКоэффициент
ТарифыВзносовПоРезультатамСпециальнойОценкиУсловийТруда
.........
Хватит? Это только те, что без кодп, и без наименования.
И не уверен, что список полный.
Есть еще справочники без кола, и справочники без наименования.

EarlyBird 04.06.2015 07:54

туше!

Странный аттрактор 04.06.2015 08:26

13-VZ >Реквизита не может не быть, просто его длина 0.

EarlyBird 04.06.2015 09:05

(15) не хлызди
если неправ - умей достойно принять
посмотри скриншот Чучундера, там всё очевидно даже для застарелых упрямых дятлов

Billi 04.06.2015 09:10

[quote=Странный аттрактор;39183310]13-VZ >Реквизита не может не быть, просто его длина 0. [/quote]
К сожалению, его действительно нет.
В случае обнуления длины реквизитов, поля DESCR и CODE отсутствуют в таблице базы данных, как это и не прискорбно.
:)

Странный аттрактор 04.06.2015 09:35

16-Ирли Бёрд > Спасибо, Табаки, мне очень важно знать твоё мнение.
[quote=Billi;39183738]К сожалению, его действительно нет.[/quote]
Т.е., если я обращусь к нему через .Наименование, то получу ошибку?

EarlyBird 04.06.2015 09:40

(18) ты решил перейти на личности? ну что ж, это характерно для тебя, вася
тебя никогда не хватало на то, чтобы признаваться в ошибках
впрочем, это свойственно всем самовлюблённым демагогам

Странный аттрактор 04.06.2015 09:42

Зачем ты сюда постишь диалоги с васей? Или ты из клуба анонимных васелюбов?

Billi 04.06.2015 10:38

[quote=Странный аттрактор;39184142]Т.е., если я обращусь к нему через .Наименование, то получу ошибку? [/quote]
А кто-то что-то сказал про ошибку?
Если ты попробуешь прочитать значение свойства виртуального объекта в памяти, который проецируется на таблицу БД, то получишь NULL, то есть пустоту или по другому - наличие отсутствия :D
А если попробуешь прочитать значение поля таблицы БД, то получишь ошибку.

101 04.06.2015 10:41

[img]https://im0-tub-ru.yandex.net/i?id=4b305af2f9d440b8e8e8a1840d2cab40&n=21[/img]

Странный аттрактор 04.06.2015 11:48

[quote=Billi;39184866]А кто-то что-то сказал про ошибку? [/quote] Да никто и не говорил, собственно.

Странный аттрактор 04.06.2015 11:49

Что ж, буду знать, спасибо.

Чучундер 04.06.2015 21:04

16-Ирли Бёрд > Я к каким дятлам отношусь?

Чучундер 04.06.2015 21:21

18-Странный аттрактор > а тут я задумался.. ибо есть у меня сомнения... и полез тестить...

как оказалось, сомневался я не зря...
можно совершенно спокойно получить несуществующий код и наименование.
[url]http://screencast.com/t/DDb8FMnQW[/url]

почему так - мну неведеомо. видимо потому что длина и код считаются предопределенными и даже в случае их отсутствия они типа есть даже если их нет...

Чучундер 04.06.2015 21:22

Это типа как если длина наименования = 50 символов, а туда записано всего 10 символов - то СтрДлина(Спр.Наименование) вернет 10

EarlyBird 04.06.2015 21:39

[quote=Чучундер;39193193]как оказалось, сомневался я не зря...[/quote]
как оказалось, сомневался ты зря
при нулевой длине кода, в таблице справочника отсутствует поле CODE
при нулевой длине наименования, в таблице отсутствует поле DESCR.
А то, что ты там пытался вывести - это просто поведение объекта класса СправочникОбъект.
При отсутствии членов класса CODE и DESCR, он возвращает ту фигню, которую ты привёл на скриншоте.
Потому что ему надо что-то возвратить.

VZ 04.06.2015 23:38

26-Чучундер > И с чего ты решил, что получил значения таблицы?
Ты получил значение [b]справочника[/b] ;)

Странный аттрактор 05.06.2015 11:52

29-VZ >[quote=VZ;39194147]И с чего ты решил, что получил значения таблицы? Ты получил значение справочника ;)[/quote]
Ну уж если подходить к ситуации буквально, то речь и шла о [b]справочнике[/b], а не о таблице.

Странный аттрактор 05.06.2015 11:55

И если попытаться вывести Спр.НесуществующийРеквизит, то вываливается сообщение об ошибке, а Спр.Наименование к ошибке не приводит, даже если наименования нет. Потому-то и говорил, что этого реквизита не может не быть, пусть даже он в соответствующей таблице и отсутствует. А на уровне объекта "справочник" он есть всегда, получается.

VZ 05.06.2015 12:18

31-Странный аттрактор > Вообще-то, строго говоря, ничего [b]Чучундер[/b] не получил. В v7.7 нет значений Неопределено и NULL, потому выводится невразумительное "<>", что может означать и поломатую ссылку, и пустую строку.
Это фича.
Надо учитывать, что "1С" не "русскоязычная оболочка" какого-нить Basic'а, а комплекс шаблонов структур, и соответствующих библиотек. И заботится о криворуких "одноэсниках" наряду с криворукими бухгалтерами. И не желает вылета из программы, или даже "синего экрана". Предотвращаяет. Пытается.

Если обратиться к тому же справочнику, как объекту ДБФ, то получим положенный спектр отлупов на несуществующее поле. Драйвер ДБФ про "1С" не в курсе.

Так что фича это, просто фича. А фичу использовать не хорошо. Грешно это. Минус карме.

Странный аттрактор 05.06.2015 13:15

32-VZ >Фича, не спорю. Но такой фичи нет, если обращаешься к несуществующему реквизиту. Т.е., с т.з. 1С "наименование" есть всегда, даже если его нет с .т.з драйвера ДБФ.

VZ 05.06.2015 14:36

33-Странный аттрактор > Нет. Фича состоит в том, что конфа не сообщает об отсутствующем поле DESCR или CODE. И только. И ничего более.

Странный аттрактор 05.06.2015 15:00

34-VZ >Тогда по-другому скажу: у любого отсутствующего реквизита отсутствуют и соответствующие поля. И никоим образом к отсутствующему реквизиту обратиться не получится. Кроме Наименования. Получается, на уровне ДБФ ситуация одинаковая, а на уровне платформы разная.

VZ 05.06.2015 15:25

Опять не верно. "Реквизит" - относится к объекту метаданных. "Поле" относится к файлу. Не к метаданным, [b]к файлу[/b].
А конфа работает с метаданными.
Реквизит "Цена" может иметь место быть, но [em][b]поля[/b][/em] с названием "Цена" не существует. Совсем, от слов "никогда" и "нигде".
И наоборот: не все поля файла соответствуют реквизитам метаданных. И даже не все доступны.

Странный аттрактор 05.06.2015 15:31

36-VZ >Либо ты меня не понимаешь, либо я говорю непонятно.
Я совершенно не ставлю под сомнение сказанное тобою, то есть абсолютно. Я всего лишь хочу сказать ,что с точки зрения конфигурации Реквизит "Наименование" существует всегда, безотносительно содержимого файла. И всё. Что находится в ДБФ ни мне, ни платформе неинтересно, интересно лишь то, что к этому пресловутому полю можно [b]всегда [/b]обратиться без риска ошибки.

Billi 05.06.2015 15:42

[quote=Странный аттрактор;39199811]интересно лишь то, что к этому пресловутому полю можно всегда обратиться без риска ошибки.[/quote]
А ты попробуй в него что-нибудь записать ;-)

Странный аттрактор 05.06.2015 15:57

38-Billi >попробовал. Ошибки это не вызвало.


Текущее время: 10:26. Часовой пояс GMT +3.