Имя: Пароль:
1C
1C 7.7
v7: Время документа при переносе 7 в 8
,
0 piter99
 
31.03.13
18:50
Это не вопрос, а этап изучения. Просматривал разные ответы по теме, показались мудренные.
Сам пока сделал так (но не уверен в устойчивости выполнения)
1) Подключение к 1С7 будем считать проходит успешно
2) Вытаскиваем реквизиты документа
Попытка
ТекстЗапроса =  "  
 |Период с '01.03.2013' по '31.03.2013';
 |пКод        = Документ.РасходнаяНакладная.НомерДок;
 |пДата        = Документ.РасходнаяНакладная.ДатаДок;
 |Группировка пКод Без Групп;
 |Группировка пДата Без Групп;
 |Без итогов;
 |";  
Запрос = V7.CreateObject("Запрос");  
Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда
Пока Запрос.Группировка() = 1 Цикл
   Сообщить("Код="+Запрос.пКод);
   Сообщить("Дата="+Запрос.пДата);
       Сообщить("Дата="+Запрос.пВид);            
Конеццикла;    
Конецесли;
3)а раз есть Номер и дата - вытягиваем время
Док=V7.CreateObject("Документ.РасходныйОрдер");
пДата='20130329'; //перевернутое
Док.НайтиПоНомеру(1,пДата);
Сообщить("Документ.РасходныйОрдер="+Док.НомерДок+" от "+Док.ДатаДок);
//1 от 28.03.2013 0:00:00
пВремя=Док.ПолучитьВремя();        
Сообщить("пВремя="+пп);    //08:04:42

Пока в единичных экземплярах работает, на устойчивость не проверял
1 Aleksey
 
31.03.13
18:53
Не понял а вопрос/исследования в чём?
2 Aleksey
 
31.03.13
18:56
часы=0;Минуты=0;секунды=0;
Док.ПолучитьВремя(часы,Минуты,секунды);  

ДокВ8.Дата=Дата(пДата)+Часы*60*60+Минуты+60+Секунды;
3 piter99
 
01.04.13
04:19
Пытаюсь устроиться на работу, в возрасте и без практики.
Дали задание. <Создать внешнюю обработку, которая переносит документы из типовой конфигурации 1С 7.7
в типовую конфигурацию 1С 8.2 документ "РозницаПродажа"
со сменой Юридического лица ....>.

Теперь думаю не прав, но самым привлекательным изначально показалось из С8 чз СОМ-обьект лазить в С7, 0)все нужное вытягивать из С7. 1)Сохранить в виде ВременногоДокумента. 2)Сверить наличие этого с С8  3) Все или по выбору затолкать в 8-ку. (пока работаю с этапом 0.)

Сейчас думаю проще было из 7-ки кинуть в Dbf или текстовый.
А потом затягивать в С8_ВременДокумент. (не хочу Обработку, хочу контролировать каждый этап с помощью ВремДок)

Может у кого опыт, предложат более оптимальный вариант.
4 Aleksey
 
01.04.13
04:49
Я в свое время напрямую из дбф таскал минуя 1С. Но мне важна была скорость, (а оле само по себе тормознутое) и бесперебойность (а по оле если база была не индексированная или еще какое нибудь системное сообщение - и всё каюк)

Но сейчас я бы задачу из (3) решал бы через КД (у самого похожее намечается нужно приходы из 7-ку в 8-ку грузить, а обратно расходы) ибо лень писать обвязку проще КД настроить
5 big
 
01.04.13
05:14
(0) Код ващще "ниочем". Как говорится - "при чём здесь вьетнам" )))

Могу скинуть обработки по выгрузке из 7-ки и загрузке в 8-ку. В аккурат мозг изломать, чтобы разобраться ))
6 piter99
 
01.04.13
06:46
(4)КД - хотел задать вопрос о штатной конвертации. Но у меня ее нет, и похоже в фирме функционирует сразу 2 версии С7 и С8.
А к большому продукту пока почти не прикасался. А DBF в плане.

(5) Сегодня иду к работодателю, если не откажут, буду плотно осваивать все. А так, без необходимости не учится.
7 piter99
 
01.04.13
07:24
Похоже в моем сообщении промашка.
Находит время в команде
Док=V7.CreateObject("Документ.РасходныйОрдер");
Док.НайтиПоНомеру(1,пДата);
//и не находит
Док.НайтиПоНомеру(2,пДата);
8 Wobland
 
01.04.13
07:30
ищешь документ, а находишь время. странно..
9 piter99
 
01.04.13
07:54
Имеется ввиду
пВремя=Док1.ПолучитьВремя();
для номер=1 находит, для остальных - ошибка исключения.

То-то в интерете этот вариант решения не находил
10 Wobland
 
01.04.13
07:56
а в ошибке говорится или намекается, что документа такого и нет?
Закон Брукера: Даже маленькая практика стоит большой теории.