Имя: Пароль:
1C
1C 7.7
v7: Остатки на счете 41
0 tw1g
 
09.07.14
15:06
Надо перенести остатки из 1с 7.7 "Бухгалтерский учет 4.5" в 1с 8.3 "Бухгалтерия предприятия 3.0".

С помощью обработки АСС_АСС8.ert и правил АСС_АСС8.xml (все это было взято из дистрибутива семерки) были выгружены все остатки, кроме остатков по счетам 41.1 и 41.2. По этим счетам отчего-то остатки не выгружаются.

Поэтому возник вопрос - какие есть способы добраться до остатков и перенести их в восьмерку, кроме как через стандартную 1совскую обработку?
1 Otkr
 
09.07.14
15:11
(0) Написать самому (ваш Кэп). А вообще ерунда, неделю назад переносил - все отлично
2 Михаил Козлов
 
09.07.14
15:12
Можно получить остатки, сохранить в файл Ёкселя и создать документы ввода остатков.
Или по COMу.
Предпочтительнее понять, почему не выгрузились остатки по 41.
3 floody
 
09.07.14
15:14
(2) +1, через Excel элементарно.
4 tw1g
 
09.07.14
15:20
(2) Каким образом их получить-то?

P.S. Если все же решили ответить в этой теме, учтите, что опыта у меня 0.0001, поэтому пишите насколько можете подробнее и проще.
5 Михаил Козлов
 
09.07.14
15:28
(4) К сожалению, ОСВ по счету не подходит из-за формы отчета.
Написать обработку, которая в табличный документ выведет остатки по количеству и стоимости. Может быть, имеет смысл вывести код (или артикул) в качестве ключа синхронизации.
6 tw1g
 
09.07.14
15:52
(5) -_\ это очевидно, что нужно написать обработку, если стандартная не работает.

Я и спрашиваю - КАК добраться до остатков?

Например, создать объект "БухгалтерскиеИтоги", как-то через него сделать. Или еще как-то. Меня интересует конкретное предложение по тому, как достать остатки по нужным счетам. Для начала. Как их загрузить потом в восьмерку это уже другая история.
7 floody
 
09.07.14
16:10
(6) ну как бы бухзапрос спасет отца..
8 floody
 
09.07.14
16:11
из 7.7 переносил, обычной ОСВ по счету воспользовался, всё норм
9 aka AMIGO
 
09.07.14
16:14
(6) см. (8) + если умеешь работать с ОЛЕ - выведи отчет в Excel, обработкой прочти
10 tw1g
 
09.07.14
16:23
(7) Ты пойми одну вещь. Представь, что ты оказался в незнакомом городе и ищешь, как пройти к пригородным поездам. Ты спрашиваешь у прохожего:
-Как пройти к пригородным поездам?
И получаешь ответ:
-Иди к пригородным поездам!
Или:
-До продмага дойди, а там увидишь!
То есть для жителя это очевидно, но ты не знаешь, где продмаг.
Вот так же я вижу и полученные здесь ответы.
Что за бухзапрос? Как ты ОСВ воспользовался, как именно? Открыл и вручную начал набивать, или поймал таджика, распечатал ОСВ и его заставил вбивать или еще как-то?

ОСВ я формировал, там много незаполненных субконто. Например, номенклатура не заполнена, количества нет. Но при этом в других счетах тоже есть такие косяки, но они почему-то выгружаются.
11 aka AMIGO
 
09.07.14
16:26
ОСВ по счету - встроенный отчет. Ищи в меню
остальное пусть тебя не волнует, раз такое состояние
12 aka AMIGO
 
09.07.14
16:27
+11 ОСВ ПО СЧЕТУ
13 floody
 
09.07.14
16:37
на 41-м счете субконто номенклатура не заполнено? ммм..
14 floody
 
09.07.14
16:39
А вообще да, переносите-ка лучше стандартным переносом. Если он не работает - проще разобраться почему.
15 Михаил Козлов
 
09.07.14
16:45
(6) Примерно так:

Процедура Сформировать()
  ТЗ.УдалитьСтроки();
  Счет = СоздатьОбъект("Счет." + ВыбранныйПланСчетов().Идентификатор());
  Ит = СоздатьОбъект("БухгалтерскиеИтоги");
  Счет.НайтиПоКоду("41.1");
  Ит.Рассчитать(,ДатаКон, Счет,0);
  Ит.ИспользоватьСубконто(Счет.ВидСубконто(1), , 1, 0);            
  Ит.ВыполнитьЗапрос(, ДатаКон, Счет, , , , , );    
  Ит.ВыбратьСубконто(1);        
  Пока Ит.ПолучитьСубконто(1) = 1 Цикл
    субконто = Ит.Субконто(1);
    
    сумма = Ит.СКД();
    ТЗ.НоваяСтрока();
    ТЗ.Номенклатура = субконто;
    ТЗ.Артикул = субконто.Артикул;
    ТЗ.Остаток = Ит.СКД("К");
    ТЗ.Сумма = Ит.СКД("С");
  КонецЦикла;
КонецПроцедуры

Процедура ПриОткрытии()        
  ДатаКон = ТекущаяДата();
  ТЗ.НоваяКолонка("Артикул", "Строка",12,,"Артикул",12);
  ТЗ.НоваяКолонка("Номенклатура", "Справочник.Номенклатура",24,,"Номенклатура",24);
  ТЗ.НоваяКолонка("Остаток", "Число",8,3,"Остаток",8);
  ТЗ.НоваяКолонка("Сумма", "Число",15,2,"Сумма",18);        
КонецПроцедуры
16 tw1g
 
09.07.14
17:25
(15) Спасибо, посмотрю завтра. Вот это уже похоже на что-то конкретное. Может быть это как-то поможет. (14) Не особо проще на самом деле. Виснет черти где каждый раз. Сегодня я уже не успею что-то подробнее написать. Завтра постараюсь с утра сразу засесть как следует и отписаться. Если конечно смогу зайти на форум. Здесь просто как-то адово криво сделана авторизация и подтверждение. Я еле зашел и то рандомно. Ссылка в подтверждении регистрации не открывается, логин-пароль не работают в другом браузере. Черти что вообще.
17 Михаил Козлов
 
09.07.14
17:39
(15) Выгрузите стандартно только остатки по 41.1 в файл и посмотрите, что там будет.
18 tw1g
 
10.07.14
10:00
(17) Ничего не будет. Зависнет обработка и все.
19 El_Duke
 
гуру
10.07.14
10:16
(10) Ну тогда и ты пойми простую вещь.
Не стоит браться за задачу которая требует знаний и опыта в разы больших, чем у тебя имеется.Учитывая чистосердечные признания из (4) и (6) могу сказать что в данный момент сложность задачи превышает твои силы многократно.Отсюда совет - найди знающего человека из друзей/знакомых и т.д. и попроси помочь, будет гораздо быстрее и эффективнее.
20 aka AMIGO
 
10.07.14
10:21
(18) почему зависнет?
21 tw1g
 
10.07.14
10:26
(19) Пока что все равно заняться нечем, кроме этой задачи. Поэтому пытаюсь ковырять как могу. По мере выяснения новых обстоятельств буду сюда писать, может быть кто-нибудь да поможет разобраться. То, что опытный сделает быстрее, это ясное дело, только вот пока опытного найти не удается на должность 1с-программиста пока что = )
22 tw1g
 
10.07.14
10:31
(20) Если бы я знал = ) Когда каментишь в правилах обмена или в самой обработке фрагменты, выгружающие остатки по счетам 41.1 и 41.2, обработка срабатывает до конца без всяких зависаний. Стоит каменты убрать, то начинаются зависания. Просто встревает в один момент и все, хоть три дня жди. Я расставил в процедурах и функциях Сообщить() и таким образом примерно выяснил, где зависает. Теперь уже отладчиком пытаюсь более конкретно узнать, где именно зависает и при каких параметрах. Когда выясню детальнее, сюда напишу тогда. Только вот F8 сперва заменю... x)
23 zak555
 
10.07.14
10:35
(0) исключи в обработке выгрузки товары
24 aka AMIGO
 
10.07.14
10:49
прекрасно работает код в (15)
чуток дополнить, получается отчет
http://gyazo.com/e476396a8ad160c9a35596347906a1a0
25 zak555
 
10.07.14
10:52
(15) зачем ТЗ ?
26 aka AMIGO
 
10.07.14
10:53
(25) дело вкуса
можно, например, отсортировать
27 aka AMIGO
 
10.07.14
10:54
+26 или в виде фильтра в запросе
28 tw1g
 
10.07.14
11:24
(23) пришел к стоматологу с просьбой вылечить зуб справа, получил ответ "жуйте левой стороной" /о
29 tw1g
 
10.07.14
12:55
Такой вопрос по отладчику, косвенно относящийся к делу: вошел в функцию и не вышел из нее. Возможно, причина где-то в ней, потому что долго что-то она работает уже. Функция довольно большая и состоит целиком из цикла, в котором вызываются другие функции.

По-моему, прожимать Ф8 - не вариант, потому что там могут быть тысячи итераций, а условия, при которых зависание происходит, могут быть, например, на итерации 50000. Открыл "Отладка -> Стек вызовов", но там написано "Стек вызовов недоступен".

Можно было бы конечно написать перед|после каждой функции внутри этого цикла Сообщить() и таким образом понять, куда оно заходит и откуда не выходит, но это довольно топорный метод мне кажется. Может быть еще как-то можно?
30 Михаил Козлов
 
10.07.14
13:10
(29) Как-то это странно: должны выгрузиться итоги по счету. Где там может быть зависание - непонятно.
ОСВ по счету с макисмально возможной детализацией по субконто формируется?
31 floody
 
10.07.14
13:13
Может просто запрос очень долго выполняется? Или какой-нибудь перебор результата. Если вставите "сообщить", еще раза в три медленнее будет.
32 tw1g
 
10.07.14
14:06
(30) Вот скрины, как это все выглядит примерно:
http://rghost.ru/56820462
http://rghost.ru/56820471
http://rghost.ru/56820475
http://rghost.ru/56820476

Субконто там два, я оба выбрал.
33 tw1g
 
10.07.14
14:28
(31) Я на полтора дня оставлял, ничего не менялось.
34 Михаил Козлов
 
10.07.14
14:45
(32) А чего так красноты много? Отрицательные остатки тоже хотите перенести?
(33) Поставьте в выгрузку только остатки по счету (например 41.2 - где меньше остатков) и в отладчике посмотрите как идет обработка итогов. По идее, должна формироваться таблица значений, которая потом используется для создания документа ввода остатков.
35 tw1g
 
10.07.14
15:15
(34) А краснота это плохо? Я только знаю, что <..> плохо, так мне сказал знакомый программер, это значит, что не заполнены субконто. Как вообще в идеале должна выглядеть ОСВ, можете скрин кинуть в нормальной, правильной базе?

Отлаживать, я так понял, Вы предлагаете ОСВ? ПОтому что в обработке выгрузки нет возможности выбирать счет, там можно только выделить целиком "Товары".
36 Михаил Козлов
 
10.07.14
16:38
У меня правила обмена Комплексной 7.7 и УПП (КА) 8.
В обработке выгрузки есть возможность выгрузить только 41.1 или 41.2.
Попробуйте окрыжить только 41 счет, предварительно найдя в модуле обработки выгрузки место, где выгружаются остатки по счетам. Обычно выгрузка идет быстро.
37 tw1g
 
15.07.14
13:09
(15) Зачем одновременно использовать .Рассчитать() и .ВыполнитьЗапрос()?
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс