Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) Как провести документ не меняя ТА? (число прочтений - 3980 )
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Как провести документ не меняя ТА?
03. Ноября 2010 :: 13:14
Печать  
Добрый день.
Есть возможность провести документ будующим периодом, не изменяя ТА?
Метод Провести(Режим=0) не помогает.

Заранее признателен.
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #1 - 03. Ноября 2010 :: 16:16
Печать  
Тему можно закрыть.
Ответы получил на Мисте
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #2 - 09. Ноября 2010 :: 14:08
Печать  
Подскажите пожалуйста,
можно корректно в 1sjourn.dbf в разделенном режиме изменить значение поля, например CLOSED, на нужное?
  
Наверх
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #3 - 10. Ноября 2010 :: 02:52
Печать  
simply писал(а) 09. Ноября 2010 :: 14:08:
Подскажите пожалуйста,
можно корректно в 1sjourn.dbf в разделенном режиме изменить значение поля, например CLOSED, на нужное?

Уже сама постановка вопроса говорит о некорректности ситуации...
Тебе придется контролировать все изменения регистров и чего там еще задействуется при проведении. Оно тебе надо? Чем это оправданнее штатного перепроведения документа?
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #4 - 10. Ноября 2010 :: 07:43
Печать  
Dmitry The Wing писал(а) 10. Ноября 2010 :: 02:52:
Уже сама постановка вопроса говорит о некорректности ситуации...
Тебе придется контролировать все изменения регистров и чего там еще задействуется при проведении. Оно тебе надо? Чем это оправданнее штатного перепроведения документа?

Спасибо, что откликнулся! А то последние 3 дня все мои вопросы в пустоте.

Я сделал документ назначения цен на артикулы (давно хотел), который не трогает ни один регистр, а работает с таблицей в MySQL (подробности на Мисте).
Но отметить проведенным будующим периодом без сдвига ТА даже такой документ не получается.
Вот и предположил, что если отметить его через прямой доступ в 1sjourn.dbf, то целостность системы не нарушится.

Такая у меня хотелка.
Через BinaryData не представляю как работать с полями dbf - ошибусь на один байт и все рухнет.
1sdllrun - не запускается (наверное очень старая).
Как временное решение, добавил в документ два поля: "ДатаНачала" и "ВремяНачала" действия новых цен. Проводить буду текущим периодом, а в таблицу записывать временную точку по этим двум полям.
Но надежды не теряю! Улыбка
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #5 - 10. Ноября 2010 :: 07:50
Печать  
simply писал(а) 10. Ноября 2010 :: 07:43:
Вот и предположил, что если отметить его через прямой доступ в 1sjourn.dbf, то целостность системы не нарушится.

Могу предположить только одно узкое место - индекс этой dbf.
  
Наверх
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #6 - 10. Ноября 2010 :: 09:11
Печать  
индексы, ссылки, движения, блобы, периодика ... осилишь ли?
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #7 - 10. Ноября 2010 :: 09:28
Печать  
Dmitry The Wing писал(а) 10. Ноября 2010 :: 09:11:
индексы, ссылки, движения, блобы, периодика ... осилишь ли?

Желание есть, необходимость - тоже.
Подскажи тропинку, а я попробую
  
Наверх
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #8 - 10. Ноября 2010 :: 09:35
Печать  
Никогда такого не делал. Вижу только 1 путь:
Делаешь копию базы, проводишь док, сравниваешь ...
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #9 - 10. Ноября 2010 :: 09:39
Печать  
но как из 1С в ее же dbf-ку залезть? Чем?
foxpro прикручивать не хочу.
  
Наверх
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #10 - 10. Ноября 2010 :: 10:43
Печать  
Dmitry The Wing писал(а) 10. Ноября 2010 :: 09:35:
Делаешь копию базы, проводишь док, сравниваешь ...

Сравнил:
из файлов изменился только 1sjourn.dbf (cdx не изменился)
а в нем изменились два поля: CLOSED (с 0 на 1) и VERSTAMP (с C на D)

Внес изменения в dbfnavigator-е, но 1С не обновляет журнал без перезапуска программы.
  
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #11 - 10. Ноября 2010 :: 11:08
Печать  
simply писал(а) 10. Ноября 2010 :: 10:43:
Dmitry The Wing писал(а) 10. Ноября 2010 :: 09:35:
Делаешь копию базы, проводишь док, сравниваешь ...

Сравнил:
из файлов изменился только 1sjourn.dbf (cdx не изменился)
а в нем изменились два поля: CLOSED (с 0 на 1) и VERSTAMP (с C на D)

Внес изменения в dbfnavigator-е, но 1С не обновляет журнал без перезапуска программы.

наверное надо в 1cusers добавить самому единицу ко второму полю.
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #12 - 10. Ноября 2010 :: 12:12
Печать  
спасибо! не помогло
  
Наверх
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #13 - 11. Ноября 2010 :: 02:11
Печать  
Согласен с Z1, но добавлю: посмотри, как 1С сообщает друг другу о входе? По идее это как раз запись в таблице 1cusers, но какая именно? последи за ней при входе и выходе...
и VERSTAMP должен не на конкретное значение установиться, увеличиться на 1. По-моему, это и есть сигнал остальным на то, что запись изменена.
Но может быть дело несколько серьезнее ... например, 1С не проверяет верстампы до тех пор, пока не почует блокировку ... без без нее запись не должна происходить, а значит - изменений не было ... посмотри в сторону имитации блокировки.

P.S.: И не забудь доложить о результатах Подмигивание тема то интересная ...
  
Наверх
 
IP записан
 
simply
God Member
*****
Отсутствует


Мечта: избавиться от 1С

Сообщений: 573
Местоположение: Киев
Зарегистрирован: 31. Декабря 2008
Пол: Мужской
Re: Как провести документ не меняя ТА?
Ответ #14 - 11. Ноября 2010 :: 08:18
Печать  
Спасибо!

Поигрался верстампом.
Это счетчик количества изменений документа. Да, он увеличивается на 1: с 0 до 9, затем с А до Z, затем с 10 до 1Z, до ZZ и так до 6 строчных символов, устанавливая новый символ-счетчик впереди остальных.

В разделенном режиме, dbfnavigator-ом изменил верстамп на несколько значений вперед. Документ в 1С не изменился.
Затем в 1С изменил документ - открыл, ничего не меняя добился флага модифицированности = 1 и закрыл с сохраненим. Верстамп увеличисля на 1, но по отношению к предыдущему своему значению, а не к установленному мною.
Такое впечатление, что 1С где то (может в памяти) хранит эти значения и отталкивается от них.
Где-то я уже натыкался на вопрос "как отлавливает 1С изменение документов", но ответа не было. Не уже ли разработчики платформы держут это в секрете?
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать