Нужен совет в конфигурировании на 7.7 Уважаемые господа, подскажите пожалуйста в написании кода на Предприятие 7.7. в конфигурации зарплата и кадры В справочнике Сотрудники есть реквизит Наименование. Данный реквизит содержит Фамилию, Имя и Отчество (одной строкой) Строка кода БазаМаэстро.FIO = ТзВыплат.Сотрудник.Наименование; возвращает нам Фамилию, Имя и Отчество в одну колонку таблицы (т.е. в одно поле). Вопрос: как сделать, чтобы Фамилию, Имя и Отчество возвращались в разные колонки. Добавить поле, это понятно, но как разделить ТзВыплат.Сотрудник.Наименование на три слова (или поля)? Спасибо |
(0) "[em]как разделить ТзВыплат.Сотрудник.Наименование на три слова (или поля)?[/em]" - по пробелам. Если непонятно - зовите программиста. Хотя где-то недавно обсуждался случай ФИО из [b]четырех[/b] слов. |
Я уж лет 10 как в ЗИК 7.7 не заглядывал.... Но сердцем чую, что аффтар лжот. Не может быть в типовой ЗИК у сотра реквизита Наименование. Ну, в принципе, вот такой сотрудник: Сунь ХКуй Ф Чай Вынь Су Хим. |
А вообще, в типовой ЗИК в глобальном модуле есть экспортная функция ГлРазделитьФИО... Как то так.... |
(1) а если нет пробелов ? :) |
А если вместо пробелов - апострофы? Ибн'Алла'ДжжаммбулатСолнцеликийРамзанИбнОхххмадГеройРоссии? |
[quote=DeiMos;39181877]Не может быть в типовой ЗИК у сотра реквизита Наименование.[/quote] Не может у 77 у справочника отсутствовать реквизит Наименование. (0)глФамилияИмяОтчество |
Короче, увольняйте нафиг вашего системного аналитика. |
Профнепригоден 100%. Любой аналитик (даже у меня девочко- припевочко работает) сразу и немедленно посылает Заказчика с такими заявками - НАКУЙ!!!! |
6-Странный аттрактор > О! Точно! Спасибо! глФамилияИмяОтчество(). |
6-Странный аттрактор > в ына своем бентли уехали в какие-то мальдивы... может быть [url]http://screencast.com/t/nK8515WyMX[/url] |
6-Странный аттрактор > "Не может у 77 у справочника отсутствовать реквизит Наименование" - может-может. И без кода может ;) Функционал, правда, обрежется. До "больше не вырастет". |
11-VZ >вроде как про типовой функционал речь шла |
12-Странный аттрактор > В типовом функционале ЩиК, в метаданных, итеются справочники не только без Наименования, но и без кода. И активно используются. Примеры: ВычетыСотрудниковПоНДФЛ. Длина кода 0, длина наименования 0. НачисленияУдержание. Так же. НКДоходы НКИтоги ПрогрессивныйКоэффициент ТарифыВзносовПоРезультатамСпециальнойОценкиУсловийТруда ......... Хватит? Это только те, что без кодп, и без наименования. И не уверен, что список полный. Есть еще справочники без кола, и справочники без наименования. |
туше! |
13-VZ >Реквизита не может не быть, просто его длина 0. |
(15) не хлызди если неправ - умей достойно принять посмотри скриншот Чучундера, там всё очевидно даже для застарелых упрямых дятлов |
[quote=Странный аттрактор;39183310]13-VZ >Реквизита не может не быть, просто его длина 0. [/quote] К сожалению, его действительно нет. В случае обнуления длины реквизитов, поля DESCR и CODE отсутствуют в таблице базы данных, как это и не прискорбно. :) |
16-Ирли Бёрд > Спасибо, Табаки, мне очень важно знать твоё мнение. [quote=Billi;39183738]К сожалению, его действительно нет.[/quote] Т.е., если я обращусь к нему через .Наименование, то получу ошибку? |
(18) ты решил перейти на личности? ну что ж, это характерно для тебя, вася тебя никогда не хватало на то, чтобы признаваться в ошибках впрочем, это свойственно всем самовлюблённым демагогам |
Зачем ты сюда постишь диалоги с васей? Или ты из клуба анонимных васелюбов? |
[quote=Странный аттрактор;39184142]Т.е., если я обращусь к нему через .Наименование, то получу ошибку? [/quote] А кто-то что-то сказал про ошибку? Если ты попробуешь прочитать значение свойства виртуального объекта в памяти, который проецируется на таблицу БД, то получишь NULL, то есть пустоту или по другому - наличие отсутствия :D А если попробуешь прочитать значение поля таблицы БД, то получишь ошибку. |
[img]https://im0-tub-ru.yandex.net/i?id=4b305af2f9d440b8e8e8a1840d2cab40&n=21[/img] |
[quote=Billi;39184866]А кто-то что-то сказал про ошибку? [/quote] Да никто и не говорил, собственно. |
Что ж, буду знать, спасибо. |
16-Ирли Бёрд > Я к каким дятлам отношусь? |
18-Странный аттрактор > а тут я задумался.. ибо есть у меня сомнения... и полез тестить... как оказалось, сомневался я не зря... можно совершенно спокойно получить несуществующий код и наименование. [url]http://screencast.com/t/DDb8FMnQW[/url] почему так - мну неведеомо. видимо потому что длина и код считаются предопределенными и даже в случае их отсутствия они типа есть даже если их нет... |
Это типа как если длина наименования = 50 символов, а туда записано всего 10 символов - то СтрДлина(Спр.Наименование) вернет 10 |
[quote=Чучундер;39193193]как оказалось, сомневался я не зря...[/quote] как оказалось, сомневался ты зря при нулевой длине кода, в таблице справочника отсутствует поле CODE при нулевой длине наименования, в таблице отсутствует поле DESCR. А то, что ты там пытался вывести - это просто поведение объекта класса СправочникОбъект. При отсутствии членов класса CODE и DESCR, он возвращает ту фигню, которую ты привёл на скриншоте. Потому что ему надо что-то возвратить. |
26-Чучундер > И с чего ты решил, что получил значения таблицы? Ты получил значение [b]справочника[/b] ;) |
29-VZ >[quote=VZ;39194147]И с чего ты решил, что получил значения таблицы? Ты получил значение справочника ;)[/quote] Ну уж если подходить к ситуации буквально, то речь и шла о [b]справочнике[/b], а не о таблице. |
И если попытаться вывести Спр.НесуществующийРеквизит, то вываливается сообщение об ошибке, а Спр.Наименование к ошибке не приводит, даже если наименования нет. Потому-то и говорил, что этого реквизита не может не быть, пусть даже он в соответствующей таблице и отсутствует. А на уровне объекта "справочник" он есть всегда, получается. |
31-Странный аттрактор > Вообще-то, строго говоря, ничего [b]Чучундер[/b] не получил. В v7.7 нет значений Неопределено и NULL, потому выводится невразумительное "<>", что может означать и поломатую ссылку, и пустую строку. Это фича. Надо учитывать, что "1С" не "русскоязычная оболочка" какого-нить Basic'а, а комплекс шаблонов структур, и соответствующих библиотек. И заботится о криворуких "одноэсниках" наряду с криворукими бухгалтерами. И не желает вылета из программы, или даже "синего экрана". Предотвращаяет. Пытается. Если обратиться к тому же справочнику, как объекту ДБФ, то получим положенный спектр отлупов на несуществующее поле. Драйвер ДБФ про "1С" не в курсе. Так что фича это, просто фича. А фичу использовать не хорошо. Грешно это. Минус карме. |
32-VZ >Фича, не спорю. Но такой фичи нет, если обращаешься к несуществующему реквизиту. Т.е., с т.з. 1С "наименование" есть всегда, даже если его нет с .т.з драйвера ДБФ. |
33-Странный аттрактор > Нет. Фича состоит в том, что конфа не сообщает об отсутствующем поле DESCR или CODE. И только. И ничего более. |
34-VZ >Тогда по-другому скажу: у любого отсутствующего реквизита отсутствуют и соответствующие поля. И никоим образом к отсутствующему реквизиту обратиться не получится. Кроме Наименования. Получается, на уровне ДБФ ситуация одинаковая, а на уровне платформы разная. |
Опять не верно. "Реквизит" - относится к объекту метаданных. "Поле" относится к файлу. Не к метаданным, [b]к файлу[/b]. А конфа работает с метаданными. Реквизит "Цена" может иметь место быть, но [em][b]поля[/b][/em] с названием "Цена" не существует. Совсем, от слов "никогда" и "нигде". И наоборот: не все поля файла соответствуют реквизитам метаданных. И даже не все доступны. |
36-VZ >Либо ты меня не понимаешь, либо я говорю непонятно. Я совершенно не ставлю под сомнение сказанное тобою, то есть абсолютно. Я всего лишь хочу сказать ,что с точки зрения конфигурации Реквизит "Наименование" существует всегда, безотносительно содержимого файла. И всё. Что находится в ДБФ ни мне, ни платформе неинтересно, интересно лишь то, что к этому пресловутому полю можно [b]всегда [/b]обратиться без риска ошибки. |
[quote=Странный аттрактор;39199811]интересно лишь то, что к этому пресловутому полю можно всегда обратиться без риска ошибки.[/quote] А ты попробуй в него что-нибудь записать ;-) |
38-Billi >попробовал. Ошибки это не вызвало. |
Текущее время: 10:26. Часовой пояс GMT +3. |