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

Хранилище

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

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



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

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

Конфигурация УПП.

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

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

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

Я всегда предполагал, что каждый док сам создает свои движения при проведении, но если очень хочется, то можно записать через отбор.

набор.отбор.регистратор.установить(докСсылка);
набор.Записать(Истина);


где-то так


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

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

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

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

Цитата(alex040269 @ 13.02.13, 9:06) *
Я всегда предполагал, что каждый док сам создает свои движения при проведении, но если очень хочется, то можно записать через отбор.

набор.отбор.регистратор.установить(докСсылка);
набор.Записать(Истина);


где-то так



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


а как записать в него новые движения?

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

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

maximus, поделитесь, пожалуйста, зачем вам такое делать? А если вы будете проводить и перепроводить документ-приемник, как будут формироваться ваши движения? или это какая-то будет разовая обработка данных?







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

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

Цитата(Домовик @ 13.02.13, 10:09) *
maximus, поделитесь, пожалуйста, зачем вам такое делать? А если вы будете проводить и перепроводить документ-приемник, как будут формироваться ваши движения? или это какая-то будет разовая обработка данных?



У меня товарищ проходит курсы по программированию 1С и вот там дали такое ДЗ. Мне тоже не совсем ясна логика этого процесса, но интересно)

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

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

логика такова, что движений может быть по нескольким регистрам, и вам это нужно учесть
тут пример замены движений в одном регистре Расходной Накладной, имя кот ДОходыИРасходы. код не отлаживался, просто в модуле был набран.поэтому не знаю

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

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


в коде определенно есть ошибки. нужно работать с наборами записей. и тогда можно использовать Загрузить(), Выгрузить()

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

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

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

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

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


но начинает ругаться на НаборЗаписейРегистра.Выгрузить(ТЗ);

Vofka Подменю пользователя
сообщение 13.02.13, 14:42
Сообщение #8

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

ТЗ = НаборЗаписейРегистра.Выгрузить();

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

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

Цитата(Vofka @ 13.02.13, 14:42) *
ТЗ = НаборЗаписейРегистра.Выгрузить();


Ошибка ушла - Спасибо!

А как правильно быть в этом куске

движенияПриемник.НаборЗаписейРегистра.Загрузить(ТЗ);


т.к. не находит
Поле объекта не обнаружено (НаборЗаписейРегистра)
движенияПриемник.НаборЗаписейРегистра.Загрузить(ТЗ);

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

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

тз=НаборЗаписейРегистра.Выгрузить() это одна из интаксических ошибок )


я просто сомневаюсь, что можно вот так движения редактировать. в синтакс-помощнике на Выгрузить() (РегистрНакопленияНАборЗаписей) есть граммотный код.

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

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

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

не могу сообразить как этот набор движений загрузить в документ приемник?

Цитата(Домовик @ 13.02.13, 14:47) *
тз=НаборЗаписейРегистра.Выгрузить() это одна из интаксических ошибок )


я просто сомневаюсь, что можно вот так движения редактировать. в синтакс-помощнике на Выгрузить() (РегистрНакопленияНАборЗаписей) есть граммотный код.



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

Vofka Подменю пользователя
сообщение 13.02.13, 14:58
Сообщение #12

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата(Домовик @ 13.02.13, 14:47) *
тз=НаборЗаписейРегистра.Выгрузить() это одна из интаксических ошибок )

Это почему?

Цитата(maximus @ 13.02.13, 14:47) *
А как правильно быть в этом куске

Ошибка в том, что НаборЗаписейРегистра - это набор записей источника. В него можно что-то писать или что-то читать. Нельзя через него обратиться к какому-то другому набору записей.

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

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

т.е. мне нужно создать второй набор записей по документу приемнику и в этот набор загрузить набор записей с документа ичсточника?

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

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

Vofka, моих синтаксических ошибок smile.gif. Код от фонаря пишу. ). идею внедрить выгрузить -загрузить хотелось сделать, а кода не знаю.

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

Vofka Подменю пользователя
сообщение 13.02.13, 15:07
Сообщение #15

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата(maximus @ 13.02.13, 15:00) *
т.е. мне нужно создать второй набор записей по документу приемнику и в этот набор загрузить набор записей с документа ичсточника?

Ну да.

Домовик, а smile.gif .

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

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

Цитата(Vofka @ 13.02.13, 15:07) *
Ну да.

Домовик, а smile.gif .


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

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

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

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

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

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

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

тз=НаборЗаписейРегистра.Выгрузить();
//изменить тз
набор = РегтистрыЧегото.СоздатьНаборЗаписей();
набор.Загрузить(тз);

//установить отбор
набор.Записать(Истина);


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

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

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

maximus, документы разные? Если да - тогда прописывайте обращения к конкретным регистрам, это же не проблема.

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

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

Цитата(Vofka @ 13.02.13, 15:23) *
maximus, документы разные? Если да - тогда прописывайте обращения к конкретным регистрам, это же не проблема.



Документы всегда одинаковые

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


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

 

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