Имя: Пароль:
1C
 
Не выходит перезаполнить значение в строке ТЗ
,
0 MAPATNK2
 
naïve
08.12.22
21:46
Я может совсем дурак, но я понять не могу, почему ДатаРегистрации преобразуется а ДатаРождения     становится (неопределено)?

У стр.ДатаРегистрации и стр.ДатаРождения одинаковый формат Дата.
После функции Формат() в обоих случаях верные значения, но при присвоении в стр.ДатаРегистрации встает верное значение, а стр.ДатаРождения становится Неопределено, хотя функция возвращает "23.04.2022".

/////////////
Для каждого стр из Результат цикл      

        стр.ДатаРегистрации = Формат(стр.ДатаРегистрации, "ДФ=dd.MM.yyyy");
        стр.ДатаРождения     = Формат(стр.ДатаРождения, "ДФ=dd.MM.yyyy");

КонецЦикла;  
/////////////
1 MAPATNK2
 
naïve
08.12.22
21:49
В запросе даты со временем, поэтому постобработкой рублю время. Может другой способ есть, рад буду услышать.
С помощью НАЧАЛОПЕРИОДА(ДатаРождения, ДЕНЬ)   можно не предлагать, в запросе сразу лезет ошибка с неверным параметром.
2 Волшебник
 
08.12.22
21:50
присваивать надо дату, а не строку
3 MAPATNK2
 
naïve
08.12.22
21:51
(2) ??? Как это сделать и почему в 1 случае выходит, а во втором нет?
4 Гипервизор
 
08.12.22
21:51
(0) стр.ДатаРегистрации и стр.ДатаРождения таки какого типа? Формат() возвращает строку так-то.
5 Волшебник
 
08.12.22
21:51
чтобы срубить время, надо использовать функцию НачалоДня
6 MAPATNK2
 
naïve
08.12.22
21:52
(5) Она не работает, я уже писал.
7 MAPATNK2
 
naïve
08.12.22
21:53
(4) Обе Тип Значения имеют Дата. Функция возвращает строку. У ДатаРегистрации  меняется на строку тип значения и становится 23.07.1995, а у стр.ДатаРождения становится неопределено
8 MAPATNK2
 
naïve
08.12.22
21:55
(5) НАЧАЛОПЕРИОДА(ДатаРождения, ДЕНЬ)  так делаю в запросе, пишет Ошибку 1 параметра.
9 Гипервизор
 
08.12.22
21:56
(6) Вы писали про НАЧАЛОПЕРИОДА (в запросе), а не про НачалоДня (в коде).
(7) Ага, тип колонки ТЗ Дата, но с помощью функции Формат меняется на строковый, ну-ну.
10 MAPATNK2
 
naïve
08.12.22
21:57
(9) Могу скринами подтвердить
11 Гипервизор
 
08.12.22
21:58
(10) Давайте, а то о разном говорим, возможно.
12 MAPATNK2
 
naïve
08.12.22
22:00
(11) До присвоения значения Дата https://disk.yandex.ru/i/iawV7MrB30St6Q
После становится строкой https://disk.yandex.ru/i/4Rud4qG8oc1zxQ
13 MAPATNK2
 
naïve
08.12.22
22:00
(11)  А вот с ДатаРождения так не выходит.
14 MAPATNK2
 
naïve
08.12.22
22:02
(5) (9) НачалоДня возвращает дату с нулевым временем, мне нужно, чтобы Даты не было. Это улетает на сайт.
15 MAPATNK2
 
naïve
08.12.22
22:03
*чтобы времени не было вообще.
16 Гипервизор
 
08.12.22
22:04
А, так ТЗ из запроса, покажите откуда эти даты в запросе берутся.
17 Гипервизор
 
08.12.22
22:05
(14) Сайт не знает тип дата и ему нужно именно строку?
18 MAPATNK2
 
naïve
08.12.22
22:05
(17) Так запросил программист сайта. Без времени, только дата.
19 MAPATNK2
 
naïve
08.12.22
22:06
(16) ДатаРождения берется из реквизита Контрагента "ДатаРождения" с типом Дата.
ДатаРегистрации берется из свойства "ДатаРегистрации" с типом Дата.
20 vde69
 
08.12.22
22:09
чему равно Результат.Колонки.ДатаРегистрации имеется в виду какие типы там
21 vde69
 
08.12.22
22:10
(20) и сравни типы с Результат.Колонки.ДатаРождения
22 Гипервизор
 
08.12.22
22:11
Покажите на скрине ещё и дату рождения, пожалуйста.
23 MAPATNK2
 
naïve
08.12.22
22:12
(21) Одинаковые
24 MAPATNK2
 
naïve
08.12.22
22:14
25 MAPATNK2
 
naïve
08.12.22
22:15
После преобразования Тут (12) Все круто, а тут (24) Все плохо.
26 vde69
 
08.12.22
22:15
(23) одинаковый какой?

должен быть такой массив из двух типов:
1. ДатаВремя
2. Строка

или может быть еще просто "Неопределено" (то есть любой), но запросы как правило возвращают строго типизированый тип
27 MAPATNK2
 
naïve
08.12.22
22:16
(26) На скринах выше видно. Сначала Дата, потом преобразуется в Строку. В (12) все работает в (24) нет.
28 vde69
 
08.12.22
22:17
(24) покажи (20) и (21) только обрати внимание, что

Результат.Колонки.ДатаРегистрации  это совсем не то, что ты показываешь в (24)
29 MAPATNK2
 
naïve
08.12.22
22:18
(28) дата Регистрации в (12)
30 Гипервизор
 
08.12.22
22:19
(29) Да нет же )
31 MAPATNK2
 
naïve
08.12.22
22:21
32 vde69
 
08.12.22
22:21
(29) найди отличия

Результат.Колонки.ДатаРегистрации
стр.ДатаРегистрации
33 MAPATNK2
 
naïve
08.12.22
22:22
(32) Да, только сейчас увидел типы значений у колонки.
34 MAPATNK2
 
naïve
08.12.22
22:22
п..дц
35 MAPATNK2
 
naïve
08.12.22
22:22
Как то можно тип значения добавить в колонку?
36 vde69
 
08.12.22
22:22
(31) бинго !!!! вот и ответ!!!

сам поймеш? если нет прочитай еще раз (26)
37 MAPATNK2
 
naïve
08.12.22
22:24
(36) Вопрос как изменить тип значения колонки таблицы, которая уже создана.
38 vde69
 
08.12.22
22:25
(35) в запросе можно через "Выразить", но не уверен, что не будет проблемм...

самое простое сделать

Результат.Колонки.Добавить("стрДатаРегистрации")
Результат.Колонки.Добавить("стрДатаРождения")
Для каждого стр из Результат цикл      

        стр.стрДатаРегистрации= Формат(стр.ДатаРегистрации, "ДФ=dd.MM.yyyy");
        стр.стрДатаРождения= Формат(стр.ДатаРождения, "ДФ=dd.MM.yyyy");
39 MAPATNK2
 
naïve
08.12.22
22:26
(38) Там строгий порядок колонок нужен.
40 MAPATNK2
 
naïve
08.12.22
22:26
Текущую колонку не поменять?
41 vde69
 
08.12.22
22:27
(40) текущую не поменять
42 MAPATNK2
 
naïve
08.12.22
22:28
Печаль, спасибо большое. Моя невнимательность.
43 Гипервизор
 
08.12.22
22:29
(40) Нет. Добавьте новую, как посоветовали. Старую удалите. Новую сдвиньте.
44 MAPATNK2
 
naïve
08.12.22
22:42
(43) Как двигать?
Я кстати добавил тип строка в колонку. Но она затраила и вместо даты мне 1 символ пишет.
45 MAPATNK2
 
naïve
08.12.22
22:43
Добавил с помощью ВЫБОР КОГДА ТОГДА.
46 MAPATNK2
 
naïve
08.12.22
22:45
(43) Двигать, как я понял ,сортировкой колонок.
47 MAPATNK2
 
naïve
08.12.22
22:46
Мне конечно смешно, но проблема решилась таким методом:

ВЫБОР
    КОГДА ФИОФизЛицСрезПоследних.ФизЛицо.ДатаРождения ЕСТЬ NULL
    ТОГДА ""                  ""
    ИНАЧЕ ФИОФизЛицСрезПоследних.ФизЛицо.ДатаРождения
КОНЕЦ КАК ДатаРождения,

Побольше символом поставил и все заработало.
48 MAPATNK2
 
naïve
08.12.22
22:47
Колхоз, но главное работает и постобработки не нужно.
49 Гипервизор
 
08.12.22
22:53
(46) Посмотрите в СП методы КоллекцияКолонокТаблицыЗначений, а именно: Добавить,  Вставить, Сдвинуть.
(47) А если не будет null, что тогда?
50 MAPATNK2
 
naïve
08.12.22
22:54
(49) Там дело не в том, что может быть в значениях Null, а в том, что он изначально указана как Тип в колонке. Следовательно можно сослаться на него.
51 MAPATNK2
 
naïve
08.12.22
22:57
А передвинуть колонки попробую, чисто для опыта. Просто везде на запрос "Изменить расположение колонок в ТЗ" пишут все через Сортировку колонок. Вручную перечисляешь "Колонка3", "Колонка1" и т.д.
52 Гипервизор
 
08.12.22
23:00
А, я понял ваш вариант. ) Тогда уж ЕСТЬNULL(ФИОФизЛицСрезПоследних.ФизЛицо.ДатаРождения, "          ") - тут десять пробелов.
Будет тип Строка(10) в том числе, как в строковом представлении даты.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший