Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема "Общий реквизит" документа. Отключить отбор и перенести реквизит. (число прочтений - 3792 )
undo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 53
Местоположение: Ульянвоск
Зарегистрирован: 25. Декабря 2008
Пол: Мужской
"Общий реквизит" документа. Отключить отбор и перенести реквизит.
04. Сентября 2009 :: 06:23
Печать  
Есть общий реквизит с включенным отбором, используется только в одном документе, но был сделан так для поиска по реквизиту. Количество документов более 300 000штук, можно ли как либо перенести данные из таблицы 1Sjournal в соответствующий документ. Штатными средствами перенести нет возможности, делается около суток и зависается (это если через конфигуратор). Может есть какой то ход конём  Улыбка . База ДБФ 1sJournak - 300МБ, таблица документа Dhxxxxx 100МБ
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: "Общий реквизит" документа. Отключить отбор и перенести реквизит.
Ответ #1 - 04. Сентября 2009 :: 06:46
Печать  
1 шаг Создать реквизит в документе
Стандартным способом переписать из общего реквизита
в твой новый реквизит документа.Все сохранить.
Это сделать получается ?
после того как получиться опишу следующие шаги.
  
Наверх
 
IP записан
 
undo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 53
Местоположение: Ульянвоск
Зарегистрирован: 25. Декабря 2008
Пол: Мужской
Re: "Общий реквизит" документа. Отключить отбор и перенести реквизит.
Ответ #2 - 04. Сентября 2009 :: 06:55
Печать  
Спасибо за совет.
"Стандартным способом переписать из общего реквизита
в твой новый реквизит документа" - это сделать получается, но времени это занимает, несколько дней.
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: "Общий реквизит" документа. Отключить отбор и перенести реквизит.
Ответ #3 - 04. Сентября 2009 :: 07:03
Печать  
undo писал(а) 04. Сентября 2009 :: 06:55:
Спасибо за совет.
"Стандартным способом переписать из общего реквизита
в твой новый реквизит документа" - это сделать получается, но времени это занимает, несколько дней.

Я думал у тебя проблема с удалением общего реквизита из 1с
ну тогда элементарно.
создаешь реквизит в документе. это то точно получиться.
далее 1с++ и команда   update.
После можно на всякий случай переиндексировать таблицу шапки документа
  
Наверх
 
IP записан
 
undo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 53
Местоположение: Ульянвоск
Зарегистрирован: 25. Декабря 2008
Пол: Мужской
Re: "Общий реквизит" документа. Отключить отбор и перенести реквизит.
Ответ #4 - 04. Сентября 2009 :: 07:07
Печать  
Спасибо за дельный совет. Сегодня попробую.
  
Наверх
ICQ  
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: "Общий реквизит" документа. Отключить отбор и перенести реквизит.
Ответ #5 - 04. Сентября 2009 :: 07:21
Печать  
undo писал(а) 04. Сентября 2009 :: 07:07:
Спасибо за дельный совет. Сегодня попробую.

Все равно все эксперементы делай на копии,
а то мало ли что.
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: "Общий реквизит" документа. Отключить отбор и перенести реквизит.
Ответ #6 - 04. Сентября 2009 :: 11:05
Печать  
Код
Выбрать все
UPDATE
 МойДокумент

SET
 $МойДокумент.НовыйРеквизит=Журнал.$ОбщийРеквизит.СтарыйРеквизит

From  $Документ.КакойтоДокумент as МойДокумент

inner join 1SJourn as Журнал on МойДокумент.iddoc=Журнал.iddoc 



на всякий случай потом переиндексировать

P.S>
1Sjournal
1sJournak 
Улыбка
  
Наверх
 
IP записан
 
undo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 53
Местоположение: Ульянвоск
Зарегистрирован: 25. Декабря 2008
Пол: Мужской
Re: "Общий реквизит" документа. Отключить отбор и перенести реквизит.
Ответ #7 - 12. Сентября 2009 :: 22:54
Печать  
База = СоздатьОбъект("OLEDBData");
     База.Соединение("
     |Provider=VFPOLEDB.1;
     |Null = Yes;
     |Exclusive = No;
     |SourceType = DBF;
     |Data Source=" + КаталогИБ() + ";
     |Mode=ReadWrite;
     |Extended Properties="""";
     |User ID="""";
     |Password="""";
     |Mask Password=False;
     |Collating Sequence=MACHINE;
     |DSN=""""");
     
     Запрос = База.СоздатьКоманду();
     
     ТекстЗапроса = "
     |UPDATE Док
     |SET $Док.ШтрихКодПодвал1 = Жур.$ОбщийРеквизит.ШтрихКодПодвал
     |From
     | $Документ.Доверенность Док
     |INNER JOIN
     |      1SJourn as Жур on Жур.IdDoc = Док.IdDoc      
     |";
     
     Запрос.Отладка(1);
     Запрос.ВыполнитьИнструкцию(ТекстЗапроса)

Прилогаю полную структуру. Обращаю внимание на | $Документ.Доверенность Док
Всем огромное спасибо за помощь. Улыбка
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать