Гал Дмитрий

9
Рейтинг

D.Gal
Дмитрий Гал



  •   Регистрация: 09.04.2017 (7 лет назад)

  •   Был(а) на сайте: 17.01.2023

Друзья
  • FlexLiam
  • Вячеслав З
Подписчики 4

Рейтинг 9

Расчет возраста по дате рождения и текущей дате

Статья Программист Запросы Конфигурации 1cv8 Россия Windows Бесплатно (free) Нет файла Запросы

Была задача - рассчитать возраст определенных лиц по дате их рождения. Решил поискать в интернете, как всегда множество мнений, множество реализаций, но, к сожалению, не встречал той статьи, где рассчитывалось количество полных лет, месяцев и дней. Например: 28 лет, 3 месяца, 15 дней. Решил заняться самостоятельно, и вот к чему это привело.

27.04.2017    35278    D.Gal    94       

9

Комментарии

DevЗапись документа в режиме обмена данных#1 18.04.19 15:20
Добрый день, господа.

Писал я как-то обработку, в которой в режиме обмена данных записывал документ.
Код следующий:
Код
Док = Документы.НазваниеДокумента.СоздатьДокумент();
...
Док.ОбменДанными.Загрузка = Истина;
Док.УстановитьНовыйНомер();
Док.Записать(РежимЗаписиДокумента.Запись);
...

Проблема в том, что документ не создавался из-за ошибок репликации БД, я задал вопрос руководителю, который ответил, что так писать нельзя, необходимо писать только
Код
Док.Записать();

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

Так вот, может кто знает, почему он мне указал на эту строку? Какую литературу мне нужно искать? Или это все бред?
DevРасчет возраста по дате рождения и текущей дате#38 07.04.19 21:45
(37) Вы когда этот комментарий писали, думали хоть, что в контексте моего запроса и задачи он вообще ничего значит. Зачем мне количество полных лет кодом, когда я написал, что задачу необходимо решать запросом было? Или Вы может не мне написали?
DevСканирование полиса ОМС единого образца#1 19.12.17 9:08
Помогите пожалуйста разобраться с вопросом сканирования полиса ОМС единого образца:

Вид штрих-кода представлен на картинке 1.
Есть самописная конфигурация на 1С 8.3 УФ, в которую для тестирования работы со сканером штрих-кодов Honeywell 1450g2d была внедрена подсистема БПО 1.2.5.16.
Загружены драйвера поставляемы в демо конфигурации - картинка 2;
Сам сканер подключается без проблем и при сканировании обычного числового штрих-кода вписывает нужные данные в поле, но при сканировании полиса ОМС единого образца приходит текст, который находится в буфере обмена (скорее всего это связано с тем, что в комбинации данных присутствует наличие комбинации Ctrl+V - пробовали сканировать в режиме клавиатуры в блокнот, туда также попадают сведения из буфера, символ переноса каретки и к тому же еще и на печать пытается вывести).
Сам сканер USB, пробовали подключать как в эмуляции COM порта так и по USB (клавиатура).
Также натыкался на статью по расшифровке данных полиса:
http://myshinobi.ru/dekodirovanie-rasshifrovka-shtrih-koda-polisa-oms-chast-1/
Но как перехватить данные на 1С и реализовать свою версию дешифровки не понимаю.

Прикрепленные файлы:

Картинка 1.jpg
Картинка 2.jpg
DevФормирование числового идентификатора#24 15.08.17 12:01
Код
Функция СоздатьЧисловойГУИД(Спр) Экспорт
   УИД = Формат(ТекущаяУниверсальнаяДатаВМиллисекундах(), "ЧЦ=16; ЧВН=; ЧГ=0");
   Если Не Справочники[Спр].НайтиПоРеквизиту("УИД", УИД) = Справочники[Спр].ПустаяСсылка() Тогда
      СоздатьЧисловойГУИД(Спр);
   Иначе
      Возврат УИД;
   КонецЕсли;
КонецФункции


Сделал таким образом.
DevФормирование числового идентификатора#23 15.08.17 11:47
(22)
Цитата
Формат(ТекущаяУниверсальнаяДатаВМиллисекундах(), "ЧЦ=16; ЧВН=; ЧГ=0");
Я думаю этот способ попробую. Спасибо
DevФормирование числового идентификатора#21 15.08.17 11:22
(17) сделал еще 3-ий вариант через

ТекущаяУниверсальнаяДатаВМиллисекундах()

но когда получает значение 63 638 542 123 123
то приходится делать

СтрЗаменить(УИД, Символы.НПП, "");

А после добавлять нули в начале, так как длина строки не 16 символов
Проверка все равно нужна, так как в базе уже присутсвуют идентификаторы других элементов
УИД должен быть строковый.

Неудивлюсь, если через неделю увижу дубли.
DevФормирование числового идентификатора#18 15.08.17 11:02
(15) копирование запрещено
DevФормирование числового идентификатора#12 14.08.17 23:07
(6) Вот самое интересное, что уникальности алгоритм позволяет добиться так как после генерации происходит проверка на существование в базе. Вот тут проблема и кроется. Проходит неделя две и появляется дубль в базе. Запрос проверяет наличие каждый раз, но все же получается что платформа в запросе даёт нулевой результат, следовательно создаётся ещё один ИД, который в базе есть. Только как я не понимаю?
DevФормирование числового идентификатора#11 14.08.17 23:03
(5) Только 16 символов, 36 мне не надо, плюс там есть "-".
DevФормирование числового идентификатора#10 14.08.17 23:01
(4) При удалении данных такой идентификатор больше не должен встретиться