Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

v7: Как с помошью обработки копировать все элементы из одной группы в другую?

easy_dee
читатель
офлайн
Дата регистрации: 23.07.2007
Сообщений: 4
Пост №1
 
23.07.2007 12:09

Я недавно начал программировать в 1С v7.7. <br>И мне необходимо с помошью обработки копировать все элементы из одной группы справочника в другую?Если можно сделать, как-то еще подскажите...))) А то в ручную слишком много элементов перенасить надо...времени уйдет очень много! Зарание спасибо... <br>

Alexandr VA
читатель
офлайн
Дата регистрации: 07.01.2007
Сообщений: 1666
Пост №2
 
23.07.2007 15:28

"...<br>Сп=СоздатьОбъект("Справочник....");<br>Сп.ИспользоватьРодителя(ВыбРодительОткуда); // это группа, откуда переносить<br>Сп.ВыбратьЭлементы(1);<br>НачатьТранзакцию(); // на всякий случай для работы в сети немонопольно<br>Пока Сп.ПолучитьЭлемент()=1 Цикл<br>Сп.Родитель=ВыбРодительКуда; // это группа, куда переносить<br>Сп.Записать();<br>КонецЦикла;<br>ЗафиксироватьТранзакцию();<br>...<br><br>Если не надо перемещать вложенные группы, в начало цикла добавьте условие<br><br>Если Сп.ЭтоГруппа()=1 Тогда<br>Продолжить;<br>КонецЕсли;<br><br>PS. Рекомендую записаться на курсы программистов 1с, поможет.<br>"

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №3
 
23.07.2007 20:48

"Думаю, что не будет работать, скажет, что нарушен порядок выборки.<br>Я бы делал так:<br>СписокКПеремещению=СоздатьОбъект("СписокЗначений");<br>Сп=СоздатьОбъект("Справочник....");<br>Сп.ИспользоватьРодителя(ВыбРодительОткуда); // это группа, откуда переносить<br>Сп.ВыбратьЭлементы(1);<br>Пока Сп.ПолучитьЭлемент()=1 Цикл<br>СписокКПеремещению.ДобавитьЗначение(Сп.ТекущийЭлемент());<br>КонецЦикла;<br>НачатьТранзакцию(); // на всякий случай для работы в сети немонопольно<br>Для i=1 По СписокКПеремещению.РазмерСписка() Цикл<br>Сп.НайтиЭлемент(СписокКПеремещению.ПолучитьЗначение(i));<br>Сп.Родитель=ВыбРодительКуда; // это группа, куда переносить<br>Сп.Записать();<br>КонецЦикла;<br>ЗафиксироватьТранзакцию();<br>"

Alexandr VA
читатель
офлайн
Дата регистрации: 07.01.2007
Сообщений: 1666
Пост №4
 
24.07.2007 01:45

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

easy_dee
читатель
офлайн
Дата регистрации: 23.07.2007
Сообщений: 4
Пост №5
 
24.07.2007 05:06

В данном примере показано, как переносить элементы а мне их надо копировать.... непродскажете как сделать?)))

ValeraH
читатель
офлайн
Дата регистрации: 31.03.2004
Сообщений: 264
Пост №6
 
24.07.2007 09:34

Готовую обработку попробуй:<br>http://infostart.ru/projects/590/?<br&gt;"Копир групп, элементов и подчинённых справочников"

pika
читатель
офлайн
Дата регистрации: 23.02.2007
Сообщений: 262
Пост №7
 
24.07.2007 09:53

> В данном примере показано, как переносить элементы а мне их надо >копировать.... непродскажете как сделать?)))<br><br>Копировать элементы справочника из одной группы в другую - вы хоть понимаете что такое система справочников в системе 1С?<br>Это касается и другово вашего вопроса по переодическим реквизитам. Лучше обяъсните что вы делаете и что надо сделать на самом деле(какая поставлена перед вами задача)?<br><br>

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №8
 
24.07.2007 16:19

Копировать тоже можно, но! Боюсь, что поскольку вы написали, что вы новичок, не стоит вам этого делать. Это отпугнет вас от изучения языка и принципов работы системы. Но мне не жалко, я, в принципе, могу описать основные проблемы, которые возникают при этой задаче.<br>Если рассматривать задачу в общем виде и пытаться написать универсальный алгоритм для проведения данной операции, то мы должны понимать, что у нас имеется:<br>1. Набор произвольных реквизитов для отдельно взятого справочника.<br>2. Реквизиты могут быть не простыми, а периодическими.<br>3. Значения периодических реквизитов могут быть установлены не только вручную, но и документами.<br>4. Существует понятие подчиненности справочников. То есть, копируемый элемент может иметь какого то владельца, мало того, в свою очередь может являться владельцем для каких то других элементов. Мало того, и для тех элементов тоже могут иметься и владельцы и подчиненные элементы.<br><br>Реализовать задачу с какими то упрощениями можно! Например, значения периодических реквизитов, установленные документами можно записывать в элементе-приемнике как "установленные вручную". Если для вас эта задача просто для обучения - реализуйте ее с еще большими упрощениями. Копируйте только код и наименование. Общий принцип работы вы поймете. Код и наименование ненулевые практически в любом справочнике.

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №9
 
24.07.2007 16:22

О! я еще забыл про то, что реквизиты могут быть неопределенного типа или объектами известного типа, но неопределенного вида. :) так что это будет в моем повествовании проблем номером 5

easy_dee
читатель
офлайн
Дата регистрации: 23.07.2007
Сообщений: 4
Пост №10
 
25.07.2007 04:40

Спасибо, всем за помощь!)))

Показывать по 10 20 40 сообщений

Читают тему:

Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация