Проведение документов будущей датой.

22. katle 20.02.12 22:58 Сейчас в теме
Реализацию можно записать без проведения завтрашней датой, а затем найти ее в структуре подчиненности, правой кнопкой "провести". Неоперативно, с последствиями.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
23. dvv01 120 21.02.12 09:53 Сейчас в теме
Есть ограничения логики работы платформы: регистр остатков без указания даты предполагает остатки на текущий момент (на этом построены все отчеты, а реально берет _последние_ остатки. Считается, что последние = текущие, но если разрешить проведение "будующем", то это будет уже не так - кто-то что-то спишет 2020 годом и все - правильная отчетность воссановится только через 8 лет. Самый простой способ: в нужные документы добавить свой реквизит (категорию), проводить их как есть, но с данным реквизитом, а при первом запуске в день у них всех изменять дату и перепроводить, а реквизит снимать. Или нужна только правильная дата в накладных? - тогда все еще проще - только подменять дату в печатной форме (хотя я бы все равно в сам документ добавил новое поле ДатаНакладной, которое бы и печатал - по крайней мере не получил бы неожиданностей с расчетом остатков, партиями и бухгалтерией.
24. sh_what 28.02.12 08:51 Сейчас в теме
если это все надо только для печати печатных форм то в настройках прав можно просто поставить галочку разрешить печать непроведенных документов, а на следующий день просто провести
25. spa07 05.03.12 11:44 Сейчас в теме
8-ке документ будущей датой по умолчанию не проводится. Небольшая независимая от остального кода заплатка в форму документа решит эту проблему Автор статьи: Гений 1С | Редакторы: evGenius
Последняя редакция №5 от 28.05.07

Ключевые слова: будущая,дата,проведение,документ,оперативный,неоперативный


Суть метода - в том, чтобы при установке в форме будущей даты режим проведения документа менялся автоматически на неоперативный и возвращался обратно в автоматический при установке нормальной даты.

Вызов обработчика в режиме Данные="" происходит при открытии формы, при этом нужно также контролировать дату. Т.е. например пользователь сохранил документ будущей датой, потом его открыл и не меняя даты проводит.

В модуль формы документа добавляется процедура:

Код 1c:

Процедура п_ОбработчикИзмененияДаты(Данные)
Если Данные="ДокументОбъект.Дата" ИЛИ Данные="" Тогда
Если Дата>ТекущаяДата() Тогда
ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.НеОперативный;
Иначе
ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Оперативный;
КонецЕсли;
КонецЕсли;
КонецПроцедуры



В самый конец модуля формы добавляется строчка:

Код 1c:

ПодключитьОбработчикИзмененияДанных("Дата","ОбработчикИзмененияДаты");



Вот и все.

Я было подумал, что если просто добавить в конец формы строку включения автоматического режима, то проведение будущей датой будет работать нормально, но ничего подобного, нужна именно моя схема, такая строка не дает ничего для проведения будущей датой:

Код 1c:

ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Авто;






Некоторым ленивым программистам можно порекомендовать вставлять проверку в метод ПередЗаписью формы, чтобы не подключать лишние обработчики, видимо так оно проще:


Код 1c:

Процедура ПередЗаписью()
....
Если Дата>ТекущаяДата() Тогда
ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.НеОперативный;
Иначе
ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Оперативный;
КонецЕсли;
....
КонецПроцедуры
26. ls300 5 30.03.12 17:51 Сейчас в теме
(25)Вы хот проверили метод прежде чем выкладывать? Это уже не работает... Статья 2007 года и многое изменилось.
Я решал это добавлением доп кнопки с кодом: "Записать(РежимЗаписиДокумента.Проведение,РежимПроведенияДокумента.НеОперативный);"
30. AlexO 135 30.12.14 16:00 Сейчас в теме
(26) ls300, а что там в "Статья 2007 года и многое изменилось" - изменилось с 2007 года и не работает?
27. ceramica 12 03.04.12 17:15 Сейчас в теме
а если изменить рабочую дату?
28. dvv01 120 04.04.12 09:12 Сейчас в теме
В 1С для подобных вещей есть ордерная схема: Реализация по ордеру не меняет остатки товара, но уменьшает свободные остатки, а снятие товара делается расходным ордером. Вторая альтернатива - через заказы/резервирование.
Соответствующие отчеты покажут что есть, что "продано но не отгружено" и т.д.
29. Milanick 05.06.12 13:37 Сейчас в теме
Ордерная схема тоже не совсем подходит.

Я делал следующую схему.
Оператор проводит документ текущим числом времени. В проведенном документе меняет дату "на завтра" и с помощью метода описанном в посте №11 спец. обработкой проводил документ.
Правда еще дописал, чтобы корректировалась дата в с/ф
31. jobkostya1c_ERP 100 02.01.15 08:18 Сейчас в теме
Данная тема про построение учета будет актуальной всегда. Раз ее реанимировали с 2009 г. По идее такие темы вообще нужно объединять. Платоформа и используемые механизмы не причем
32. uri1978 137 29.05.15 12:30 Сейчас в теме
"А сегодня, в завтрашний день, не все могут проводить. Вернее проводить могут не только лишь все, мало кто может это сделать."
criptid; dimisa; skmMining; POWone; marat3581525; myoker; bestnamebest; Anchoret; djmix777; Aparatus; itriot11; +11 Ответить
33. nafa 660 22.09.15 11:15 Сейчас в теме
Бред какой-то. Причем здесь отгрузка и дата накладной ? Дата накладной это дата когда выписана накладная и ничего больше. В ТОРГ-12 если посмотреть внимательно. то можно увидеть, что есть отдельные поля для указания даты накладной, даты отгрузки и даты приемки покупателем, т.к. это все разные дат. Накладная выписана сегодня, товар по ней отгружен завтра, покупателю доставлен послезавтра. Именно так и делается. Для того, чтобы в базе были сведения о том, что отгружено, а что нет есть масса шататных средств - в УТ10 ордерная схема, в УТ11 или ордерная схема или более простой вариант - статусы документа реализация.
34. transt 1 26.05.16 07:42 Сейчас в теме
Собственно решение:

1. В свойствах документа запретите оперативное проведение (обновляется динамически)
2. Если проведение было завязано на оперативное/неоперативное, то поправить код...

Всё!
plebedinskiy; jobkostya1c_ERP; sapervodichka; +3 Ответить
35. koloboc74 83 06.06.16 09:56 Сейчас в теме
А если вам сделать примерно при начале работы утром чтобы искал вчерашний конкретный документ и проводить его уже оперативно. Добавьте в документ типа галки (проводить утром) и него отлавливайте.
36. Cyberboy 119 02.04.09 15:20 Сейчас в теме
Конфигурация УТ, торговому отделу нужно проводить документ на день в перед. Кто как решил эту проблему??? В 7.7 Все нормально было, все проводил и не каких вопросов.
37. seermak 665 02.04.09 15:36 Сейчас в теме
а если попробовать поставить дату документа завтрашним числом и провести не пробовали....
38. Cyberboy 119 02.04.09 16:18 Сейчас в теме
Он не дает проводит документы завтрешней датой, выскакивает окно "Дата оперативно проводимого документа больше текущей. Документ не может быть проведен оперативно!
39. Душелов 4018 02.04.09 16:21 Сейчас в теме
Ну так в правах дать возможность неоперативного проведения документов.
40. Cyberboy 119 02.04.09 16:56 Сейчас в теме
Права полные, дело не в правах, так как неоперативно он дает проводить документы, но только прошлой датой.
41. Шёпот теней 1780 02.04.09 17:27 Сейчас в теме
этой проблемой мучаются все хлебокомбинаты, молокозаводы и ежеси ... кто вечером готовит накладные а утром следующего дня развозят...

... сначало записывают потом печатают потом отпускают потом проводят ...

... воОоттАкиЕуВсЕхпрОблЕмы ...
jobkostya1c_ERP; +1 Ответить
42. Cyberboy 119 02.04.09 17:42 Сейчас в теме
А если нужны реальные остатки, Пример
Мы делаем кучу документов и всех остатков на складе не помним, потом когда начнем проводить что то не будет хватать, по этому нужно проводить каждый документ что бы можно было получать постояно реальные остатки.
43. Душелов 4018 02.04.09 17:43 Сейчас в теме
проводи сегодняшним днем. а завтра перепроведешь их.
44. Душелов 4018 02.04.09 17:44 Сейчас в теме
(7) Либо сегодня резервируй товар, а реализовавать и списывать будешь завтра.
45. Шёпот теней 1780 02.04.09 17:48 Сейчас в теме
... тогда будет куча гемора... что взяли ... что-то не взяли кто-то опоздал у кого-то машина сломалась и т.д. и реальных остатков всЁ одно не увидишь...

ищите хорошего кладовщика...

это ВОООбще проблема...

вОт...
46. AVARY 175 02.04.09 18:14 Сейчас в теме
В обработке проведения вставте:
Код
 
Если ЭтотОбъект.Дата > ТекущаяДата() Тогда
    РежимПроведения = РежимПроведенияДокумента.Неоперативный;
КонецЕсли;
Показать полностью
47. Cyberboy 119 02.04.09 18:29 Сейчас в теме
Я вообще тогда не понимаю, как разработчики этой УТ делают так что бы он давал проводить товар которого нет на складе, стоит только дату поставить на день позже и все пошел минисуном, это что полочается, что бы программа сама контролировала остатки нужно обязательно проводить его сегоднейшей датой???
48. AVARY 175 02.04.09 18:32 Сейчас в теме
Может стоит сначала изучить конфу?
В настройках пользователя есть галка "Разрешить превышение остатка товаров на складе"
49. Cyberboy 119 02.04.09 18:50 Сейчас в теме
AVARY
Там проблема в другом.
Пример: Мы выписываем товар стоит сегодняйшая дата, при проведение он выдает сообщение не хватает 3 штук, все нормально так и должно быть, теперь ставим дату вчерашнюю, нажимаем провести и документ как ни в чем не бывало проводить его при этом товар падает в минус. Что с этим делать?
50. Шёпот теней 1780 02.04.09 19:03 Сейчас в теме
уууу кАк всЁ запущено.... ликбез однако надо проходить... неоперативное проведение есть проведение без контроля остатков - чЁ хочешь - то и провЕдЁшь .... вОт...
51. CheBurator 3122 02.04.09 19:18 Сейчас в теме
(14) Илья, все очень просто: надо четко себе представлять, что МАШИНЫ ВРЕМЕНИ НЕ БЫВАЕТ! и назад во вчера вернуться не удастся. То, что такая возможность есть в 1Ске - это копромисс, для того чтобы тупые быдломанагеры и быдлобухгалтеры делали свою быдлоработу.
. рассмотрим 1 вариант.
проводим документ вчерашней датой, за период вчера-сегодня в базе наколотили туеву хучу доков, много разных движений, перемещений, инвентаризаций складов и прочее. ты хочешь, чтобы при проведении документа вчерашней датой это все обсчиталось в течение 10-15 минут и при этом вся организация нервно курила бамбук из-за того, что мудак не вовремя ВЧЕРА не сделал документ?
. рассмотрим 2 вариант.
совсем простой: КАК ТОВАР может уйти в минус? например: все ок, все пучком, приехали клиенты, забрали свой товар с накладными, колво штук товара = 2 шт НА СКЛАДЕ РЕАЛЬНО ОСТАЛОСЬ. Ни у кого никаких вопросов. причем эти 2 штуки РЕАЛЬНО УЧИТЫВАЮТ товар, на который документ не выписан (ну забыл быдломанагер), но товар со склада реально вчера ушел. Теперь спохватились и выписываем вчерашней датой док на 5 штук (которые ВЧЕРА клиент реально забрал). Товар "на сейчас" мгновенно превращается в -3 шт.
Вопрос: где косяк? -3 штуки быть не молжет.. ответ - косяк в расхождении между учетными данными и реальными... - это я привел еще самый упрощенный утрированный вариант.
вдогонку: в нормальной "конторе" если товар ушел, но доки не выписаны - товар БУДЕТ ВЕСЕТЬ В "РЕЗЕРВЕ" и не даст себя продать в другую реализацию...
..
все.. что неясного?
jobkostya1c_ERP; +1 Ответить
52. anig99 2844 06.04.09 09:31 Сейчас в теме
Добавляешь печатную формы с примерно таким кодом

Объект.Записать(РежимЗаписиДокумента.Проведения,РежимПроведенияДокумента.Неоперативный);

А насчет отсутствия контроля остатков при неоперативном учете в 1с тут много чего сказано и моя программерская часть личности с этим согласна... Ибо нельзя проводить товар на будущее, нельзя исправлять документы задним числом и т.д. Моя же бухгалтерская и финансовая сущность говорят о том, что не те основы были заложены в основу партионного учета в 1с... Всё-таки нужно было больше с практиками советоваться на начальных этапах разработки. Сейчас мы имеем систему, в которой нужно выбирать или-или. Или имеем четкий партионный учет и грамотных операторов, которые понимают что и зачем они делают, портативный терминал ввода данных у кладовщика, аккуратных сборщиков и упаковщиков и трезвых неслепых грузчиков. Или постоянные "отрицательные" партии, "плавующие" партии и стандартный персонал. Ну или просто ввести систему автоматизированого склада (:
53. anig99 2844 06.04.09 09:34 Сейчас в теме
(16) Система резервирования товаров - тоже не всегда выход...Просто вторая партионная система. Принципиально не отличается от неё.
54. vishenka 17.04.09 11:35 Сейчас в теме
Наши операторы нашли свое решение)) если после создания документа нажать на печать, он спросит провести ли документ, отвечаем да - он проводит неоперативно будущей датой :)
55. anig99 2844 17.04.09 12:43 Сейчас в теме
(19)Как будто у наших операторов научились... Блин, как что-то нахимичить у операторов мозгов хватает, а сообщение прочитать, которое админ написал...всё, алес... kernel panic и BSOD в обоих глазах. Вообще, это работает по тому же принципу, что сказано в (17). При такой операции с документ проводиться в неоперативном режиме.
56. alexk-is 6534 17.04.09 21:30 Сейчас в теме
У нас услуги. Поэтому проверять товарные остатки не имеет смысла. Я вставляю такой код в форму документов.

Процедура ДатаПриИзменении(Элемент)
    ...
    Если НачалоДня(Дата) <> НачалоДня(ТекущаяДата()) Тогда
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Неоперативный;
    ИначеЕсли ЭтоНовый() Тогда
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Оперативный;
    Иначе
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Авто;
    КонецЕсли;
КонецПроцедуры

Процедура ПриОткрытии()
    ...
    Если НачалоДня(Дата) <> НачалоДня(ТекущаяДата()) Тогда
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Неоперативный;
    ИначеЕсли ЭтоНовый() Тогда
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Оперативный;
    Иначе
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Авто;
    КонецЕсли;
КонецПроцедуры
Показать
user640247; criptid; alex-l19041; CXY; nicknick23; dezzarr; dark_avenger; KrivosheevEV; rom-x; svilsa; brunen9; +11 Ответить
58. pbahushevich 12.11.19 19:45 Сейчас в теме
Тогда уж
Процедура ДатаПриИзменении(Элемент)
    ...
ОбновитьРежимПроведения();
КонецПроцедуры

Процедура ПриОткрытии()
    ...
ОбновитьРежимПроведения();
КонецПроцедуры

Процедура ОбновитьРежимПроведения()
    Если НачалоДня(Дата) <> НачалоДня(ТекущаяДата()) Тогда
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Неоперативный;
    ИначеЕсли ЭтоНовый() Тогда
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Оперативный;
    Иначе
        ЭтаФорма.ИспользоватьРежимПроведения = ИспользованиеРежимаПроведения.Авто;
    КонецЕсли;
КонецПроцедуры

Показать
vis_tmp; user640247; +2 Ответить
59. user640247 27.09.21 09:17 Сейчас в теме
57. пользователь 07.06.17 08:20
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот