[ОБУЧАЛОВКА] Финт ушами с временем документа.

Публикация № 13835

Разработка - Практика программирования

151
Маленькое наблюдение, облегчающее программную расстановку документов по оси времени.
Финт с чебурашечными ушами будет показан на примере. Простая задача: расставить документы ''накладная'' и ''счет-фактура'' на оси времени с интервалом в полторы минуты. Делаем примерно так:
//получаем исходное время
ЧЧ=0;
ММ=0;
СС=0;
ДокРН.ПолучитьВремя(ЧЧ,ММ,СС);
//формируем новое время
СС=СС+90;
ДокСФ.УстановитьВремя(ЧЧ,ММ,СС);
ДокСФ.Записать();

Как видно из примера, наращиваем только счетчик секунд, при записи документа движок 1С сам произведет ''адекватный'' пересчет секунд, минут, часов. Такаим образом можно наращивать любой из счетчиков времени в приведенном выше примере, наращивание производится должно в единицах увеличиваемого счетчика. Т.е. ничто не мешает для сдвига на 1 час написать
 CC=CC+60*60; 

или
 ММ=ММ+60; 

или
 ЧЧ=ЧЧ+1; 

Описанным выше способом можно двигать счетчики и вперед по (+), и назад по (-). Такой нехитрый прием существенно облегчает оперирование со временем документа.
При этом надо учитывать только то, что сдвижка производится только в пределах одних суток! Т.е. макисмально позднее(раннее) время, которое получится у документа: 23:59:59 (00:00:01) - прибавив к 23:59:10 больше 50 секунд в другой день ''перескочить'' не удастся ;-).
В этом случае надо действовать уже в зависимости от лично ваших нужд, как пример - можно так:
//формируем новое время
СС=СС+90;
ДокСФ.УстановитьВремя(ЧЧ,ММ,СС);
ДокСФ.Записать();
Если СтрЗаменить(ДокСФ.ПолучитьВремя(),'':'','''')=''235959'' Тогда
//тут обрабатываем ''исключительную ситуацию''
    //перехода на новую дату
ДокСФ.ДатаДок = ДокСФ.ДатаДок+1;
   ДокСФ.УстановитьВремя(00,00,01);
   ДокСФ.Записать();
КонецЕсли;


Вот такие вот чебурашки.

Разведал эту шнягу, когда забодался плюсовать секунды-минуты-секунды - неэстетично это, однозначно! А если попробовать прибавить много секунд - что будет? Попробовал - получилось...

PS: если эта статья помогла вам узнать нечто новое - плюсуй рейтинг! Не ленись...
151

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. АЛьФ 12.07.06 11:59 Сейчас в теме
Прикольно.
dreadlord; san4o; andrey_k65; ineoosaki; +4 Ответить
2. vasilykushnir 12.07.06 12:16 Сейчас в теме
Плюсую. Буду пробовать поюзать. Идейка весьма интересная.
3. GROOVY 2489 12.07.06 14:15 Сейчас в теме
Документы располагать относительно друг друга надо не изменением времени а правильным созданием и записью самих документов. только в этом случае мы избежим ограничения 86400 документов в сутки!
4. CheBurator 12.07.06 22:26 Сейчас в теме
Согласен.
Данный код - и служит целям "правильного" программного создания/модификации документов. ;-)
А про то, что документы интерактивно нужно правильно создавать/модифицировать - это да, возражений нет.
Если знаешь как программно создать и расположить реализацию после заявки не оперируя временем документа - поделись, будет интересно не только мне...
5. GROOVY 2489 13.07.06 00:32 Сейчас в теме
6. vasilykushnir 14.07.06 11:35 Сейчас в теме
>GROOVY
>Ок. Скоро будет!

Будем ждать...
В дополнение к замечанию Сhe: расхождение по времени с заявкой и расходной еще пол-беды. У нас цепочка из трех документов ЗаявкаПокупателя-Отборочная-Расходная. Если с заявкой и расходной все понятно, то чуть уточню, что за зверь Отборочная. Этот документ представляет собой обычное перемещение с отдела хранения в отдел экспедиции, где на их основании создается расходная. При этом не обязательно все товары из заявки попадают в отборочные и расходные, ну это к делу не относится. Так вот временная последовательность должна четко соблюдатся для пары Отборочная-Расходная - ну не может экспедиция выписать товар, который еще не поступил со складов. Но наши крендели умудряются иногда шурануть расходную более ранним временем (а иногда и датой!), чем отборочная. Так что если у GROOVY есть идеи как это блокировать на этапе создания расходной - воздадим хвалу этому достойному человеку!
7. CheBurator 14.07.06 19:39 Сейчас в теме
Не к теме публикации, а по обсуждению... у меня еще лучше... у меня из неподтвержденки дерево документов может быть листов на 8-10 (неподтвержденка-заявки-заказы-поступления-расходы)
8. O-Planet 6974 14.07.06 22:33 Сейчас в теме
Надо воспользоваться этим, чтобы рейтинг выпрашивать :)
Токо где финт-то? Обычное преобразование типов...
9. CheBurator 14.07.06 23:41 Сейчас в теме
Просвети, плиз, неграмотного - где здесь преобразование типов?
10. O-Planet 6974 15.07.06 02:25 Сейчас в теме
Да все просто. Для тебя время - это минуты, секунды и часы, а во внутреннем представлении 1С - это число типа long. Поэтому, ты мог с таким же успехом не секунды прибавлять, а, скажем, минуты. Она все равно бы преобразовала бы все к формату времени.

Кстати, если хошь знать, какими бывают финты, то читай мою статью последнюю :)
11. CheBurator 15.07.06 15:15 Сейчас в теме
будь спок. минуты тоже прибавляем... ;-)
статью - ща посмотрим...
12. Mey 29.08.06 07:53 Сейчас в теме
13. 01.09.06 15:44 Сейчас в теме
Спасибо, открыл для себя: движок 1С сам произведет ''адекватный'' пересчет секунд, минут, часов. А то я совсем недавно решал такую проблему, так накрутил там пересчеты все самостоятельно :-). Оказывается можно было не заморачиваться.
14. d.snissarenko 06.09.06 18:18 Сейчас в теме
15. CheBurator 07.09.06 01:07 Сейчас в теме
А чего пробовать? Юзать надо ;-)
17. CheBurator 27.11.06 11:43 Сейчас в теме
Может кто еще знает некоторые неочевидные хитрости?
18. item 01.12.06 12:05 Сейчас в теме
Была такая фишка до 14-го релиза:
для дополнительных числовых реквизитов проводки
(напр. "количество2" с конф."Сельхоз.предприятие" от Рарус)
v77 поддерживала функции ДО() и КО() в запросе.
Жаль, что эту вещь выкосили в поздних релизах.
19. Плюшкин_ 216 01.12.06 20:36 Сейчас в теме
у меня(как у пита) такое давно реализовано:)Правда не мучался,сразу получилось.Это когда из ТиС в Бухию переброску и если изменения,то меняем и в бухии.Соотв. и время нужно точно расставить.
20. CheBurator 11.12.06 16:15 Сейчас в теме
Boj мелкая хитрость: бывает надо на экран вывести ТЗ (типа в отладочных целях), причем с нумерацией строк. Чтобы не заморачиваться, пишем: [code]
ТЗ.ВидимостьКолонки("НомерСтроки",1);
ТЗ.ВыбратьСтроку(," типа отладка");
Zab; Altez; Pari; mishau; +4 Ответить
21. CheBurator 29.03.07 01:03 Сейчас в теме
Не понял.. читать - читаем, ума-разума набираемся.. а кто рейтинг статьи плюсовать будет, а???
22. das 232 22.09.07 04:51 Сейчас в теме
Бесценный опыт - в нашу копилку ;-)))
23. Voldemar 1 15.10.07 07:53 Сейчас в теме
Не так давно была задача "раскидать" по дню загруженные документы, так тщательно прописывал ЧЧ,ММ,СС. А оказывается, можно было всё гораздо проще сделать. Спасибо за ценный опыт.
24. CheBurator 16.10.07 12:35 Сейчас в теме
Пожалуйста! Приходите и читатйе другие мои "жизненные" статьи!
25. Вадимко 201 24.11.07 03:41 Сейчас в теме
Позволю себе дополнить...
Управлять временем можно гораздо точнее нежели в переделах секунды... мы-то с вами знаем :)
86400 - это для пионэров
Есть у меня два документа с одинаковым временем 12.00.01
Если я поменяю время документа с '757H1S' на '757H1T', то документы что сделают?
Правильно, поменяются местами в журнале
А время какое мы продолжаем видеть в 1С? Правильно, 12.00.01 :)
ЗЫ. Чучундеру ПЛЮС за упорство в написании полезных программ и статей
26. CheBurator 25.11.07 00:26 Сейчас в теме
(25) И вот сколько документов "влазит" в одну секунду - это и определяется "емкостью" приведенного ниже идентификатора...
27. valent 72 03.08.08 06:35 Сейчас в теме
Бывает нелишним перед всем этим вставить "АвтоВремяОтключить()"
+
alevnev; Svopper; hate; +3 Ответить
28. hate 16.08.08 13:06 Сейчас в теме
конечно не решило всех проблем, но все равно спасибо, подталкнуло в нужном направлении, поэтому однозначно +!
29. nickkey 29.09.11 05:18 Сейчас в теме
согласен все гениальное просто спасибо за идею :)
30. juraua 08.11.17 11:03 Сейчас в теме
Спасибо за решение, очень помогло!
31. CheBurator 3399 09.11.17 02:12 Сейчас в теме
32. ZloyProger 6 06.08.19 16:28 Сейчас в теме
(31) Ещё живее) Подскажите пожалуйста, не вижу ни ПолучитьВремя(), ни УстановитьВремя() (точнее функция есть - параметры другие).. Видимо с очередными версиями платформы (или это вообще для 7.7? к сожалению нет под рукой, а так давно не пользовался не помню уже) вырезали, теперь только свою проверку городить при добавлении? Или всё же есть какая-нибудь уловка?)
33. CheBurator 3399 06.08.19 22:24 Сейчас в теме
(32) пример рассмотрен для 7.7.
используются только штатные возможности.
.
вполне возможно, что такой подход (с поправкой на особенности 8-ки для задания датавремя документа) будет работать и на 1С 8.
Оставьте свое сообщение

См. также

Приватный блокчейн и 1С популярно 5

Статья no Нет файла Бесплатно (free) Практика программирования Блокчейн

Две предыдущие публикации на эту тему были сфокусированы преимущественно на технической стороне вопроса. Кроме того, их содержание оказалось понятным не каждому специалисту. В этой статье я постараюсь обяснить для всех и, что говорится, «на пальцах»: что такое приватный блокчейн, когда и зачем его следует применять и на что обратить внимание при использовании этой технологии в 1С.

02.09.2019    1460    mkalimulin    140       

Кодогенерация и метагенерация в 1С 24

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    3945    kirovsbis    28       

Интеграция сценарного тестирования в процесс разработки 81

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    4359    grumagargler    7       

Управляй качеством кода 1С с помощью SonarQube 220

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования Разработка

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

07.07.2019    15884    olegtymko    191       

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    4721    m-rv    2       

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    7227    m-rv    16       

О времени и 1С 206

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Основы и особенности работы со временем в 1С. Как избавиться от боли при работе в разных часовых поясах. Что такое момент времени. И другое.

01.04.2019    15078    YPermitin    58       

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф") 5

Статья Системный администратор Программист Нет файла Россия Кассовые операции Бесплатно (free) Практика программирования Разработка ККМ

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф"). Данная статья будет полезна интеграторам, программистам, тем кто работает (интегрирует, разрабатывает) различное ТО либо железки. Версия и релиз технологической платформы не имеет значения.

17.03.2019    2930    dmarenin    0       

Быстрее чем INSERT! BULK-операции и примеры использования 112

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Разработка Внешние источники данных Перенос данных из 1C8 в 1C8

Microsoft SQL Server поддерживает так называемые BULK-операции, используемые для быстрого изменения больших объемов данных в базе. В статье пойдет речь о практических примерах их использования. Все примеры сделаны в контексте платформы 1С (а как иначе).

09.03.2019    9629    YPermitin    38       

Как писать понятные коммиты 67

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования Разработка

Как писать сообщения коммитов так, чтобы потом не было мучительно больно.

06.03.2019    7789    Scorpion4eg    34       

Расширяем свой багаж 2

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Алгоритм решения возможной нетиповой задачи на собеседовании.

29.01.2019    3264    scientes    15       

Подготовка ребёнка* к ЕГЭ по информатике. Часть четвертая 4

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Решение систем логических уравнений повышенного уровня сложности.

25.01.2019    3031    vasilev2015    0       

Подготовка ребенка* к ЕГЭ по информатике. Часть вторая 2

Статья Программист Нет файла Бесплатно (free) Практика программирования

Примеры на Паскале. Если сам родитель* - поддержи ! Если сам водила - посигналь !

19.01.2019    3264    vasilev2015    0       

Подготовка к ЕГЭ сына - школьника (по информатике) 9

Статья Программист Нет файла Бесплатно (free) Практика программирования

Примеры на Паскале. Если сам отец - поддержи ! Если сам водила - посигналь !

17.01.2019    3776    vasilev2015    50       

Быстрая отладка экранных форм документов и справочников 19

Статья Программист Нет файла Бесплатно (free) Практика программирования

Трюк элементарный и я думаю, что большинство моих коллег владеет им, но для тех, кто не знает, он может сэкономить большое количество времени.

18.12.2018    4558    milkers    19       

1С + asterisk (автоматический обзвон) часть 1 38

Статья Системный администратор Программист Нет файла Россия Бесплатно (free) Практика программирования WEB Телефония, SIP

Пример реализации автообзвона (с обработкой ответа на отвечающей стороне) с использованием ami asterisk. Данная статья может быть полезна программистам, интеграторам, администраторам. Версия и релиз технологической платформы не имеет значения.

29.11.2018    7174    dmarenin    9       

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 125

Статья Программист Нет файла v8 v8::blocking 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    20676    ids79    40       

Развитие 1С программиста 50

Статья Программист Нет файла Бесплатно (free) Практика программирования Личная эффективность

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    13445    pashamak    62       

Вспомогательные инструкции в коде 1С 104

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    20324    tormozit    100       

Записки про metadata.js 53

Статья Программист Нет файла Бесплатно (free) Практика программирования

Отличительные особенности разработки на metadata.js

31.07.2018    9064    1c-intelligence    59       

Учебный курс. Повышение качества разработки. Ошибки программы 96

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Рефакторинг и качество кода

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекции № 3,4,5. Эти лекции посвящены ошибкам программ, их классификации и способам исправления

10.07.2018    15709    Артано    90       

Автоматизируй это! 148

Статья Системный администратор Программист Нет файла Бесплатно (free) Практика программирования

Здравствуйте. Меня зовут Виталий Онянов. Я работаю в компании ФТО. Мы занимаемся внедрением и поддержкой ERP-систем, в том числе и на 1С. Сегодня я хотел бы поделиться нашим опытом автоматизации своих задач и рассказать о том, какие регламентные задания мы настраиваем на серверах наших клиентов. Возможно, кому-то покажется, что это совсем простые и очевидные вещи, но я в своей работе периодически вижу разработчиков, которые делают какие-то задачи руками изо дня в день, и мне бы хотелось донести до них мысль о том, что многие из этих задач можно и нужно автоматизировать.

02.07.2018    16055    Tavalik    12       

Повышаем эффективность разработки правил обмена 122

Статья Программист Нет файла v8 КД ОС Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    19177    olegtymko    43       

Как сделать запрос на изменение данных 75

Статья Программист Нет файла v8 v8::Запросы 1cv8.cf Бесплатно (free) Практика программирования

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

01.06.2018    21073    m-rv    21       

Учебный курс. Повышение качества разработки. Вводная лекция, часть 2 49

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекция №2. Эта лекция посвящена абстракциям, их свойствами и практическому применению в рамках классических парадигм программирования.

24.05.2018    10645    Артано    36       

Строим графы средствами 1С (без GraphViz) 42

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    16838    slozhenikin_com    19       

Распределение расходов пропорционально продажам 9

Статья Программист Пользователь Нет файла v8 v8::ОУ УТ10 УУ Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Бесплатно (free) Практика программирования

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    11246    Rustig    9       

Велостыли: Регламентные задания 15

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования

Переделывая очередное «Костыльное» решение, в голову пришла мысль, собрать все странные решения в одну статью, чтобы была некая библиотека о том, как делать не надо (Навеяно вредными советами). Потом понял, что в одну статью не получится все записать, начну с регламентных заданий. Поясню, в данную статью попали примеры из жизни, которые так или иначе реализованы на механизме регламентных заданий, при этом совершенно не всегда этот подход в принципе оправдан.

09.05.2018    10205    dsdred    28       

Веб-разработка на 1Script. Глава 2 64

Статья Программист Нет файла Бесплатно (free) Практика программирования WEB

Продолжение учебника по веб-разработке с помощью фреймворка Oscript.Web. Структура приложения, основные объекты, URL-маршрутизация, универсальная консоль серверов 1С.

22.04.2018    12021    Evil Beaver    27       

Доброе программирование, или сказки для программистов 8

Статья Программист Нет файла Бесплатно (free) Практика программирования

Я попробовал составить список хорошего и доброго, что помогает читающему код жить легче. Возможно, остальные программисты меня поддержат))

03.03.2018    6161    Gladkov_Anton    9       

Минимализмы 3 350

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    35369    ildarovich    44       

Веб-разработка на 1Script. Глава 1 250

Статья Программист Нет файла Бесплатно (free) Практика программирования

Разрабатывать веб-приложения должно быть просто. И для этого 1С-ник не должен страдать, изучая десятки и сотни побочных технологий. В конце прошлого года я анонсировал разработку движка веб-приложений на языке 1С. Я планирую выпустить серию статей, оформленных в виде книги, или серии блог-постов, в которых постепенно будут описаны методики разработки сайтов на нашем любимом языке программирования – 1С.

12.02.2018    25504    Evil Beaver    97       

Версионирование правил обмена в Git 64

Статья Программист Нет файла Windows Бесплатно (free) Практика программирования

Статья рассказывает о принципах работы скриптов, позволяющих применять систему контроля версий git и подход gitflow для версионирования правил обмена.

15.12.2017    12916    bforce    22