Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Перенести Движения документа 2 страниц V  < 1 2          
Домовик Подменю пользователя
сообщение 13.02.13, 15:38
Сообщение #21

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

документы разные, тип документов один.

maximus Подменю пользователя
сообщение 13.02.13, 16:35
Сообщение #22

Завсегдатай
****
Группа: Пользователи
Сообщений: 104
Из: Харьков
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(maximus @ 13.02.13, 15:25) *
Документы всегда одинаковые


К примеру, если брать документ реализация товаров и услуг, то мне обращаться к какждому регистру накопления и сведений? т.е. целым набором залить не получиться?

                            ДокИсточник = ДокументИсточник.ПолучитьОбъект();
         ДокПриемник = ДокументПриемник.ПолучитьОбъект();
        
        
        ТЗ  = Новый ТаблицаЗначений;
        ДвиженияИсточник=Докисточник.Движения;
        ДвиженияПриемник=ДокПриемник.Движения;

                
        ТЗ = ДвиженияИсточник.ПартииТоваровНаСкладахБухгалтерскийУчет.Выгрузить();    
        ТЗ.ЗаполнитьЗначения(ДвиженияПриемник,"Регистратор");
        ДвиженияПриемник.ПартииТоваровНаСкладахБухгалтерскийУчет.Загрузить(ТЗ);
        ДвиженияПриемник.Записать();

После этого вообще в документе приемнике пропадает движение по этому регистру, что не так делаю?

alex040269 Подменю пользователя
сообщение 13.02.13, 16:49
Сообщение #23

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Цитата(maximus @ 13.02.13, 16:35) *
ТЗ.ЗаполнитьЗначения(ДвиженияПриемник,"Регистратор");//регистратор - ссылка на документ

Цитата(maximus @ 13.02.13, 16:35) *
т.е. целым набором залить не получиться?

можно перебрать коллекцию.


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

Спасибо сказали: Домовик,

sava1 Подменю пользователя
сообщение 13.02.13, 16:52
Сообщение #24

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Значение Регистратора надо-бы поменять

Цитата(alex040269 @ 13.02.13, 16:49) *
можно перебрать коллекцию

Для Каждого НаборЗаписейРегистра из Движения Цикл
    НаборЗаписейРегистра.Прочитать();

    Для Каждого Запись из НаборЗаписейРегистра Цикл    

        // Чтение и модификация очередного движения.

    КонецЦикла;

КонецЦикла;


Сообщение отредактировал Vofka - 13.02.13, 16:57

Спасибо сказали: Домовик,

maximus Подменю пользователя
сообщение 13.02.13, 18:09
Сообщение #25

Завсегдатай
****
Группа: Пользователи
Сообщений: 104
Из: Харьков
Спасибо сказали: 0 раз
Рейтинг: 0

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

Цитата(maximus @ 13.02.13, 18:07) *
в том то и беда, что пробовал через коллекцию но не получается...


вот как в
ДокИсточник.Движения.ПартииТоваровНаСкладахБухгалтерскийУчет.Прочитать();

вместо явного указания регистра подставить значение коллекции?

Домовик Подменю пользователя
сообщение 13.02.13, 21:58
Сообщение #26

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

Цитата(maximus @ 13.02.13, 12:35) *
После этого вообще в документе приемнике пропадает движение по этому регистру, что не так делаю?



если движения, были и исчезли, значит загрузить() срабатывает. загрузить() затирает старые записи и пишет вместо них те, что в тз.

тут еще ошибка механическая была, alex040269 подсказал
Тз.ЗаполнитьЗначения(ДокПриемник,"Регистратор");

из-за этой ошибки в тз регистратор был не заполнен и загрузка не прошла

Сообщение отредактировал Домовик - 13.02.13, 21:59

maximus Подменю пользователя
сообщение 14.02.13, 7:20
Сообщение #27

Завсегдатай
****
Группа: Пользователи
Сообщений: 104
Из: Харьков
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Домовик @ 13.02.13, 21:58) *
тут еще ошибка механическая была, alex040269 подсказал


Исправил ошибку, результат тот же(

Домовик Подменю пользователя
сообщение 14.02.13, 8:22
Сообщение #28

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

если загрузить() поставить в условие на проверку количества строк ТЗ, какой результат?

Сообщение отредактировал Домовик - 14.02.13, 8:22

sava1 Подменю пользователя
сообщение 14.02.13, 8:27
Сообщение #29

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2688
Из: Проскуров
Спасибо сказали: 681 раз
Рейтинг: 659.7

Отладчиком пройтись надо-бы

maximus Подменю пользователя
сообщение 14.02.13, 9:06
Сообщение #30

Завсегдатай
****
Группа: Пользователи
Сообщений: 104
Из: Харьков
Спасибо сказали: 0 раз
Рейтинг: 0

В итоге добился работоспособности вот таким способом, но опять таки это только по конкретному регистру, буду пытаться залить всю коллекцию)

 ДокИсточник = ДокументИсточник.ПолучитьОбъект();
         ДокПриемник = ДокументПриемник.ПолучитьОбъект();
        
        
        ТЗ  = Новый ТаблицаЗначений;
        ДвиженияИсточник=Докисточник.Движения;
        ДвиженияПриемник=ДокПриемник.Движения;

                
        ТЗ = ДвиженияИсточник.ПартииТоваровНаСкладахБухгалтерскийУчет.Выгрузить();    
        ТЗ.ЗаполнитьЗначения(ДокПриемник,"Регистратор");
        ДвиженияПриемник.ПартииТоваровНаСкладахБухгалтерскийУчет.Загрузить(ТЗ);
        ДвиженияПриемник.Записать();


Цитата(maximus @ 14.02.13, 9:03) *
В итоге добился работоспособности вот таким способом, но опять таки это только по конкретному регистру, буду пытаться залить всю коллекцию)

 
ДокИсточник.Движения.РасчетыПоРеализацииВУсловныхЕдиницахОрганизации.Прочитать()
;
         ДвиженияПриемник = ДокПриемник.Движения.РасчетыПоРеализацииВУсловныхЕдиницахОрганизации;
         Для каждого ДвижениеИсточник Из ДокИсточник.Движения.РасчетыПоРеализацииВУсловныхЕдиницахОрганизации Цикл
            ДвижениеПриемник = ДвиженияПриемник.Добавить();    
            ЗаполнитьЗначенияСвойств(ДвижениеПриемник, ДвижениеИсточник);
         КонецЦикла;


В итоге добился работоспособности вот таким способом, но опять таки это только по конкретному регистру, буду пытаться залить всю коллекцию)

Сообщение отредактировал Vofka - 15.02.13, 9:28

Домовик Подменю пользователя
сообщение 14.02.13, 15:13
Сообщение #31

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

о переборе наборов "в слепую", без явного задания регистра. работа программы же предсказуема. для одного типа документа в цикле программа обойдет наборы записей регистров в одной и той же последовательности. регистр1, регистр2, регистр3. по источнику и приемнику.

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

наборы можно записывать в списки значений?

Сообщение отредактировал Домовик - 14.02.13, 15:14

Домовик Подменю пользователя
сообщение 17.02.13, 12:52
Сообщение #32

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

все же пытаюсь решить эту задачу.
выгрузить() почему-то до конца не работает. В отладчике показывает количество строк ТЗ равно 0. в ТЗ копируется полностью структура -имена измерений, ресурсво, реквизитов.
Пример, который в синтакс-помощнике срабатывает так же, нулевая таблица со структурой тек регистра. с чем это может быть связано? конфигурация УНФ, возможно где-то в свойствах запрет или галка, что записи делать только при проведении дока?

 &наСервере
     Процедура Команда11()
   спИсточник= Новый СписокЗначений;                 
        ДвиженияИсточник=докИсточник.ПолучитьОбъект().движения;
        ДвиженияПриемник=ДокПриемник.ПолучитьОбъект().Движения;

        счетчик=0;
        для каждого НаборЗаписейРегистра  из движенияПриемник цикл
            ТЗ = ДвиженияИсточник.Получить(счетчик).Выгрузить();  
        ТЗ.ЗаполнитьЗначения(ДокПриемник,"Регистратор");
        НаборЗаписейРегистра.Загрузить(ТЗ);
         счетчик=счетчик+1;    
    КонецПроцедуры


Сообщение отредактировал Домовик - 17.02.13, 13:06

logist Подменю пользователя
сообщение 17.02.13, 17:08
Сообщение #33

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

А "ДвиженияИсточник.Получить(счетчик)" в отладчике что показывает? Может вместо "счетчик" стоит использовать имена регистров? (ну или как-то так)


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Домовик Подменю пользователя
сообщение 17.02.13, 18:23
Сообщение #34

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

logist, показывает на счетчик= 0 РегистрНакопленияНаборЗаписей. Продажи и далее еще 18 наборов записей регистров ( по движ РасходнаяНакладная). как раз там все нормально.

при явном задании регистра (в синтакс-помощнике пример) точно также формирует пустую таблицу со структурой регистра.




 i 

Правила, 11 пункт
 


Сообщение отредактировал Vofka - 17.02.13, 18:32

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V  < 1 2
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 23.04.24, 20:44
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!