Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
3 / 3 / 0
Регистрация: 07.09.2021
Сообщений: 76

Написать обработку, которая копирует все реквизиты (кроме номера) и все движения одного документа

30.07.2022, 05:16. Показов 2670. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Мне прислали задания для возможного трудоустройства на стажерскую вакансию. Половину задания я сделал, вторую не могу додуматься. Вот сама задача: "Написать обработку, которая копирует все реквизиты (кроме номера) и все движения одного документа «Расходная накладная» в движения другого такого документа. Считать, что первый документ проведен, второй документ следует создать." Все реквизиты и табличную часть документа я с помощью интернета перенес в другой документ. Вопрос как теперь поступить с движениями, как их копировать. Помогите пжл. Привожу код первой половины задания (он выполняется в модуле формы обработки; на форме есть кнопка "Скопировать" и поле с возможностью выбора документа "Выбор документа"):
1C
1
2
3
4
5
6
7
8
9
10
11
&НаСервере
Процедура СкопироватьНаСервере()
    НовыйДок=Документы.РасходнаяНакладная.СоздатьДокумент();
    ЗаполнитьЗначенияСвойств(НовыйДок, ВыборДокумента, , "Номер");
    Для Каждого СтрокаТЧВыборДокумента ИЗ ВыборДокумента.Товары Цикл 
            СтрокаТЧНовыйДок = НовыйДок.Товары.Добавить();     
            ЗаполнитьЗначенияСвойств(СтрокаТЧНовыйДок, СтрокаТЧВыборДокумента);
    КонецЦикла;
    
    НовыйДок.Записать();
КонецПроцедуры
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.07.2022, 05:16
Ответы с готовыми решениями:

Почему команда копирует всё кроме папок, как сделать чтоб копировала всё?
Почему команда копирует всё кроме папок, как сделать чтоб копировала всё? try { DirectoryInfo source =...

Написать программу, которая копирует содержимое одного файла в другой; С++
Написать программу, которая копирует содержимое одного файла в другой; проверяет, совпадает ли количество открытых и закрытых скобок во...

Написать программу которая копирует текст из одного файла в другой
написать программу которая копирует текст из одного файла в другой.Имена исходного и конечного файлов должна передаваться в виде аргументов...

11
Эксперт 1С
 Аватар для OverDozero
924 / 329 / 130
Регистрация: 07.04.2011
Сообщений: 1,750
30.07.2022, 08:21
У объекта есть движения. Можно обратиться так объект.Движения.
А вот с ними делайте что хотите.Хоть в ТЗ перегоняйте и грузите в регистры с подвязкой к новому регистратору, хоть сделайте запрос ко всем регистрам в которые даёт движения исходный объект,и в выборке пишите в регистры.

Хотя конечно же правильней сделать заполнение нового документа идентично исходному и провести.Так он сам сделает движения
1
Эксперт 1С
6328 / 1749 / 638
Регистрация: 16.01.2015
Сообщений: 7,281
30.07.2022, 09:05
Лучший ответ Сообщение было отмечено Евген357 как решение

Решение

Цитата Сообщение от OverDozero Посмотреть сообщение
Хотя конечно же правильней сделать заполнение нового документа идентично исходному и провести.Так он сам сделает движения
Только так. Чего мудрить?!
Евген357, У тебя два абсолютно идентичных документа. Просто программно проводишь второй и все движения создаются точно такие же как в первом доке, только номер будет свой:
1C
1
НовыйДок.Записать(РежимЗаписиДокумента.Проведение)
1
Эксперт 1С
 Аватар для OverDozero
924 / 329 / 130
Регистрация: 07.04.2011
Сообщений: 1,750
30.07.2022, 10:27
Цитата Сообщение от polax Посмотреть сообщение
Только так. Чего мудрить?!
Мне кажется что это провокация). В ТЗ же написано - "Кроме номера")
1
30.07.2022, 11:42

Не по теме:

Цитата Сообщение от OverDozero Посмотреть сообщение
Мне кажется что это провокация). В ТЗ же написано - "Кроме номера")
Так логично же, копировать все кроме номера - стандартная команда платформы Скопировать (тоже копирует все кроме номера) только методом кода. Провокация в копировании движений. Именно, пусть новичок помучается КАК это сделать (может начнет получать и читать записи регистров), а ларчик просто открывается - проведение. Но... Могут быть и нюансы со стороны работодателя, согласен

0
3 / 3 / 0
Регистрация: 07.09.2021
Сообщений: 76
30.07.2022, 14:37  [ТС]
Спасибо всем! Премного благодарен!
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
30.07.2022, 22:37
Цитата Сообщение от Евген357 Посмотреть сообщение
&НаСервере
Процедура СкопироватьНаСервере()
    НовыйДок=Документы.РасходнаяНакладная.Со здатьДокумент();
    ЗаполнитьЗначенияСвойств(НовыйДок, ВыборДокумента, , "Номер");
    Для Каждого СтрокаТЧВыборДокумента ИЗ ВыборДокумента.Товары Цикл
            СтрокаТЧНовыйДок = НовыйДок.Товары.Добавить();    
            ЗаполнитьЗначенияСвойств(СтрокаТЧНовыйДо к, СтрокаТЧВыборДокумента);
    КонецЦикла;
НовыйДок.Записать();
КонецПроцедуры
т.е. правильный ответ будет
1C
1
2
3
4
5
&НаСервере
Процедура СкопироватьНаСервере()
    НовыйДок=ВыборДокумента.ПолучитьОбъект().Скопировать();
    НовыйДок.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
0
3 / 3 / 0
Регистрация: 07.09.2021
Сообщений: 76
31.07.2022, 05:35  [ТС]
Dethmontt, А в чем отличие в кратце метода Скопировать и ЗаполнитьЗначениеСвойств? Если меня спросят на собеседовании. Прочитал справку в 1с, пока не понял
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
01.08.2022, 00:03
Евген357, Принципиально разные...

в случае скопировать() цикл не нужен, экономишь электроэнергию)))
0
Эксперт 1С
 Аватар для OverDozero
924 / 329 / 130
Регистрация: 07.04.2011
Сообщений: 1,750
02.08.2022, 04:55
А если при копировании прописана очистка реквизитов.Даже предположим что всех. Тогда в итоге получим копию пустышку.
Вот тут на помощь придет заполнитьЗначенияСвойств.
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
03.08.2022, 03:16
OverDozero, А если передЗаписью() стоит очистка всех реквизитов?

Добавлено через 46 секунд

Не по теме:

если бы кабы, во рту росли грибы, то был бы не рот, а целый огород))))

0
0 / 0 / 0
Регистрация: 08.02.2024
Сообщений: 1
15.02.2024, 12:15
Евген357, Получилось сдать тестовое?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.02.2024, 12:15
Помогаю со студенческими работами здесь

Написать программу которая копирует файл из одного каталога в другой
Написать программу, которая копирует файл из одного каталога в другой. Имя файла (с указанием пути) и каталог назначения указываются в...

Найти в массиве все серии одинаковых элементов, идущих подряд, и удалить с них все элементы, кроме одного
Помогите сделать

10. Написать программу, содержащую процедуру, которая копирует в список М за каждым вхождением заданного элемента все элемента списка М1
10. Написать программу, содержащую процедуру, которая копирует в список М за каждым вхождением заданного элемента все элемента списка М1.

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

Написать функцию, которая выдает все четные номера от 0 до 200
Надо написать функцию, которая выдает все четные номера от 0 до 200. Вот я пишу...: function evenline($n){ for $n=0; $n<=200;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru