Имя: Пароль:
1C
 
Сократить ФИО (до инициалов) в отчете СКД
0 nodrama
 
29.03.24
12:54
Добрый день. Есть отчет СКД, в котором есть поле "Ответственный". оно берется из документа следовательно и = Справочник.Пользователи

По мимо этого, реализован "Быстрый отбор". По ответственному, где они выбирают нужного человека и строят отчет по нему только, а не по всем, если надо.

Теперь они хотят, что бы в отчете, было не полное ФИО, а сокращенное Иванов А.В. Но в Пользователях у нас везде полное имя. Ибо им так удобно и в других отчетах у них Фамилия инициалы (но там и не Справочник.Пользователи либо нет отборов по ним просто)

Сократить его до Фамилия инициалы я могу, но тогда приходится это поле делать его "строкой". И тогда отбор уже не работает. А он нужен.

Можно как-то сделать, так что бы Поле осталось Справочник.Пользователи, работал отбор. Но в отчете выводилось Фамилия Инициалы.
1 nodrama
 
29.03.24
12:58
И да, отчет внешний
2 SleepyHead
 
29.03.24
13:11
Сделай два поля - пользователь и его инициалы. Назначь представление пользователю вторым полем.
3 unbred
 
29.03.24
13:12
добавить поле ФИОИнициалы.всё.
4 nodrama
 
29.03.24
13:15
(3) Добавить всмысле поле ФИО Инициалы, отдельным полем.
Его вывести как надо. А ФИО которые полное просто скрыть ?
Ну теоретически.. думал можно сделать как-то "красиво" без шаманст таких)
5 Новый1сник2
 
29.03.24
13:21
(4) На закладке наборы данных, у реквизитов есть выражение представления, можно попробовать там как вариант
6 PLUT
 
29.03.24
13:23
(0) используй в отчете в вычисляемых полях в выражении магию БСП:

Функция ФамилияИнициалы(Знач ФамилияИмяОтчество) Экспорт
7 unbred
 
29.03.24
13:30
(4) я не понимаю, что значит "скрыть".
в выбранные поля не добавляй.
8 АгентБезопасной Нацио
 
29.03.24
13:43
(4) кстати, ты свое "фифо запросом"-то сделал?
а то я хотел решение кинуть, да тему закрыли...
9 nodrama
 
29.03.24
13:48
(5) я пробовал не вышло.. всегда ошибка Синтакстическая Ошибка.. и далее что написано в выражениии. час е....л..ся
10 nodrama
 
29.03.24
13:49
(8) Кинь сюда. будет полезно... я сделал через "костыль".
я получил ТЗ... там его руками обработал. и закинул это ТЗ обратно
В ПриКомпоновкиРезультата..

Работает.. но не красиво )))
11 nodrama
 
29.03.24
13:52
(10) то есть я получил ТЗ.. с дублями строк и т.д. ибо фифо не реализовано как я хотел в запросе. Эту ТЗ руками обработал  так как надо в итоге. И засунул обратно. Работает норм, чуть дольше отчет формирует.. не значительно. но я верю что можно в запросе изначально в СКД это все реализовать)
12 АгентБезопасной Нацио
 
29.03.24
13:55
(10)
Как-то так
ВЫБРАТЬ
    1 КАК ЦИФРА
ПОМЕСТИТЬ Цифры

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    3

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    4

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    5

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    6

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    7

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    8

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    9

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Сотни.ЦИФРА * 100 + Десятки.ЦИФРА * 10 + Единицы.ЦИФРА КАК Число
ПОМЕСТИТЬ Числа
ИЗ
    Цифры КАК Сотни,
    Цифры КАК Десятки,
    Цифры КАК Единицы
ГДЕ
    Сотни.ЦИФРА * 100 + Десятки.ЦИФРА * 10 + Единицы.ЦИФРА > 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    "Товар1" КАК Товар,
    "СрокОтгрузки1" КАК Срок,
    5 КАК Количество
ПОМЕСТИТЬ ТЧ1

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Товар1",
    "СрокОтгрузки2",
    10

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Товар1",
    "СрокОтгрузки3",
    15
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    "Товар1" КАК Товар,
    "СрокПоставки1" КАК СрокПоставки,
    15 КАК Количество
ПОМЕСТИТЬ ТЧ2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Товар1",
    "СрокПоставки2",
    7
ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    "Товар1",
    "СрокПоставки3",
    8
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    АВТОНОМЕРЗАПИСИ() КАК НомерСтроки,
    ТЧ1.Товар КАК Товар,
    ТЧ1.Срок КАК Срок,
    1 КАК КоличествоЕд,
    ТЧ1.Количество КАК Количество
ПОМЕСТИТЬ ВТ_ТЧ1
ИЗ
    ТЧ1 КАК ТЧ1,
    Числа КАК Числа
ГДЕ
    Числа.Число <= ТЧ1.Количество
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Автономерзаписи() КАК НомерСтроки,
    ТЧ2.Товар КАК Товар,
    ТЧ2.СрокПоставки КАК СрокПоставки,
    1 КАК КоличествоЕд,
    ТЧ2.Количество КАК Количество
ПОМЕСТИТЬ ВТ_ТЧ2
ИЗ
    ТЧ2 КАК ТЧ2,
    Числа КАК Числа
ГДЕ
    Числа.Число <= ТЧ2.Количество
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_ТЧ1.Товар КАК Товар,
    ВТ_ТЧ1.Срок КАК Срок,
    ВТ_ТЧ2.СрокПоставки КАК СрокПоставки,
    ВТ_ТЧ1.КоличествоЕд КАК КоличествоЕд,
    ВТ_ТЧ2.КоличествоЕд КАК КоличествоЕд1
ПОМЕСТИТЬ ВТ_Итог
ИЗ
        ВТ_ТЧ1 КАК ВТ_ТЧ1
        ПОЛНОЕ СОЕДИНЕНИЕ ВТ_ТЧ2 КАК ВТ_ТЧ2
        ПО ВТ_ТЧ1.НомерСтроки = ВТ_ТЧ2.НомерСтроки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Итог.Товар КАК Товар,
    ВТ_Итог.Срок КАК Срок,
    ВТ_Итог.СрокПоставки КАК СрокПоставки,
    СУММА(ВТ_Итог.КоличествоЕд) КАК КоличествоЕд,
    СУММА(ВТ_Итог.КоличествоЕд1) КАК КоличествоЕд1
ИЗ
    ВТ_Итог КАК ВТ_Итог

СГРУППИРОВАТЬ ПО
    ВТ_Итог.Товар,
    ВТ_Итог.Срок,
    ВТ_Итог.СрокПоставки


результаты

13 nodrama
 
29.03.24
13:56
(6) Я пробовал. ФизическиеЛицаКлиентСервер.ФамилияИнициалы(Тут ФИО которое сократить).
Не работает.
ибо
1. Поле это не "Строка" а там надо строка для сокращения
2. Даже если сделать ее строкой то выдает Синтакстическая ошибка и далее этот код из вычисляемых полей. так и не поймал почему.
14 СвинТуз
 
29.03.24
13:57
"Сократить его до Фамилия инициалы я могу, но тогда приходится это поле делать его "строкой"."

(0)
Есть такая штука. "Выражение представления" называется.
Там где набор полей.
15 Новый1сник2
 
29.03.24
13:59
(9) как пробовал, покажи
16 nodrama
 
29.03.24
13:59
(12) Спасибо, я сохраню и потестю.
Но у меня строк кода меньше при получении ТЗ, обработки его, и засовывания обратно ПриКомпоновкиРезультата =)) причем раза в 3). я просто раньше в запросе в скд такое не реализовывал, что бы запрос результат получить в ТЗ обработать и засунуть обратно. если б я сразу догадался я бы может и тему не создавал.
С другой стороны если такой запрос будет работать быстрее чем мои манипуляции я переделаю.
17 СвинТуз
 
29.03.24
13:59
+
ФизическиеЛицаКлиентСервер.ФамилияИнициалы(Сотррудник.Наименование)
18 nodrama
 
29.03.24
14:01
(14) Да если именно в Выражение представление запихнуть. то колонка вообще пустая, но Синтактической ошибки нет.
А если запихнуть прям в Выражение в вычисляемых полях. то тогда Синтаксическая ошибка.
19 СвинТуз
 
29.03.24
14:01
засунь в выражение представления
ФизическиеЛицаКлиентСервер.ФамилияИнициалы(Сотррудник.Наименование)
20 СвинТуз
 
29.03.24
14:03
(18)
На NULL, Неопределено проверяй
Выбор когда ... тогда конецвыбора

В помощь.

Попытка исключение конецПопытки
21 СвинТуз
 
29.03.24
14:03
(18)
То что колонка пустая это странно
22 nodrama
 
29.03.24
14:04
(17) У меня поле в СКД
Вырезка из Запроса
Док.Ответственный как Автор,

Следовательно в быстрых отборах стоит Отбор по Автору
Справочник.Пользователи

ФизическиеЛицаКлиентСервер.ФамилияИнициалы(Автор)
Выдает Синтаксическая Ошибка .. во время формирования
Автор.Наименования
Выдает то же самое
23 nodrama
 
29.03.24
14:05
(22) точнее Автор.Наименования даже не дает сохранить ибо не находит
24 nodrama
 
29.03.24
14:06
Он не может быть NULL или пустой. у всех доков есть Ответственный
25 СвинТуз
 
29.03.24
14:06
(18)
Я так представление документа формировал.
Все работало.

На группы справочника проверьте. Не гребете ли их?
Для группы реквизит может быть не определен.
Тогда там NULL будет
26 nodrama
 
29.03.24
14:06
(21) я это нагуглил в первые 10 минут на той же мисте кстати ) но не вышло. мб потому что отчет внешний.. хз
27 СвинТуз
 
29.03.24
14:07
Если Док.Ответственный.Пустая() Тогда

Какое нафиг наименование?

КонецЕсли
28 nodrama
 
29.03.24
14:07
(25) Вот это и странно.. если в Выражение представление.. то она пустая причем вся.. 10.000 строк все пустые
А если в Выражение просто. то при формировании Синтаксическая ошибка
29 Новый1сник2
 
29.03.24
14:08
(28) Автор.Наименования, попробуй заменить на Автор.Наименование
30 СвинТуз
 
29.03.24
14:09
У вас не явное соединение таблицы со справочником.
По пустому полю. Элементу которого нет в справочнике.
Что будет в Док.Ответственный.Наименование?
31 nodrama
 
29.03.24
14:09
Короче самый простой костыль
Создал тупо колонку
Выразить(NULL как Строка(100)) как АвторНовый
И далее АвторНовый как ни странно прекрасно заполняется Фамилия Инициалы на основании Автора
Хз либо я пьяный либо надо отдыхать
32 nodrama
 
29.03.24
14:10
Спасибо Бро.. я руками тут набиваю, быстро. оЧепятка.. не копирую код)
33 СвинТуз
 
29.03.24
14:10
Косячите где-то. Боаринг )))
34 nodrama
 
29.03.24
14:13
(33) Возможно...че то март плохо влияет на бухгалтеров... люди из Отбора выбирают ФИО.. но там полное наименование.. ибо так забито в 1с.
Но в колонке они хотят Фамилия Инициалы сокращенно ))))) причем они даже не печатают это)))
35 СвинТуз
 
29.03.24
14:15
(34)
это просто. Сами решить не можете?
36 СвинТуз
 
29.03.24
14:16
Вам уже все сказали.
Обычно люди на этой стадии уже понимают.

Не понимают тролли или боты )
Сорян если не угадал.
37 СвинТуз
 
29.03.24
14:17
фигасе девять лет на форуме. Такие вопросы и такие разборы полетов.
Жизнь удивительна.
38 nodrama
 
29.03.24
14:17
(35) Так я уже решил. после первых 3-х сообщений.
Далее уже пошло обсуждение.  я ж в 31 написал как решил)
они уже пользуются.
Осталось как будет время попробовать еще раз в Выражением в СКД
39 nodrama
 
29.03.24
14:19
(37) Эмммм. мне человек в первых сообщениях.. с датой регистрации 18.11.2005; стаж: 18 лет 4 мес
Сказал не парься сделай 2-е колонки )))) это я и так сделал уже)

А Вы тут мне про 9 лет моих )))))
40 СвинТуз
 
29.03.24
14:20
(38)
я бы в выражение представление загнал, не плодил полей.
И все бы закончилось.

Если это справочник Физические лица легко по имени, фамилии, отчеству прям в запросе можно собрать строку.

Решений много.
41 nodrama
 
29.03.24
14:20
я же написал что если сделать новую колонку и на основании нужной в нее вписать Фио сокращенно то работает) просто я хотел сделать красивее.. но че то Выражение не шло)
Вы мне предьявлеете за 9 лет, когда человек с 18 лет на форуме советует тупо 2 колонки).. Жизнь удивительна)
42 nodrama
 
29.03.24
14:21
(40) Я про это и писал.... я за 10 минут нагуглил... но в Выражение представления... Отчет не взлетал.. как бы я не старался... от сюда и тема
43 nodrama
 
29.03.24
14:22
26 сообщение где я пишу что Выражение представления и тд я уже пробовал.. но не вышло. разными способами и кодами...
44 nodrama
 
29.03.24
14:22
(40) это не справочник физ лица..
45 Новый1сник2
 
29.03.24
14:25
(40) +100500
46 Новый1сник2
 
29.03.24
14:27
(44) какая конфигурация? у справочника пользователи, обычно бывает реквизит ФизическоеЛицо
47 nodrama
 
29.03.24
14:27
(45) Так это первое что я пытался.
В Выражении - Синтаксическая ошибка .... далее "код" из выражения
В Выражении Представление - Просто пустая колонка без ничего
Все это при формировании отчета.
Пойду еще раз попробую )))
48 nodrama
 
29.03.24
14:28
(46) Да.. только у нас он пустой. а пользователей 100. Это я уже то же пробовал) еще за долго до темы)
49 nodrama
 
29.03.24
14:28
ни ко не будет сейчас заполнять физ лиц пользователям, им "консультантам" этим кто их создать. нужно отдельную задачу писать) что бы заполняли нормально
50 nodrama
 
29.03.24
14:31
В общем проблема решается "костылем" созданием пустого поле строка и заполнением на основании Автора инициалами.

Сейчас еще покручу может я совсем ослеп и два часа в Выражении не то пишу.. но это не точно.