Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 03:23
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Создание вложенных групп справочника  (Прочитано 3464 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dinyt

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-07-23
  • Сайт: 
  • Профессия: Ученик 1С
Всем доброго времени суток.
Собрался перенести из одной конфигурации в другую номенклатуру товаров. Конфигурации разные. Выгрузил из 1-ой конфигурации номенклатуру в файл в формате:
Код;Наименование;Путь;Признак группы
Поле "Путь" представляет собой полный адрес до элемента от корня справочника.
Теперь все эти данные планирую загрузить во 2-ую конфигурацию.
Но у меня возник ряд вопросов, в которые я уткнулся. Помогите мне их преодолеть.
Сначала пример выгрузки:
1;Товар1;Группа1/Группа11;1
2;Товар2;Группа1/Группа11;0
3;Товар3;Группа1/Группа11;0
4;Товар4;Группа1/Группа12;1
5;Товар5;Группа1/Группа12;0
6;Товар6;Группа1/Группа12;0

Как проверить, начиная с корневой группы "/", что используемый путь уже существует? Т.е. сам путь я разберу на части и нужно последовательно (в данном примере это 2 уровня) проверить на существование групп и подгрупп. В случае, если какой элемент не существует, то как его создать на нужном уровне вложенности?

Благодарю за внимание.


Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
Конфигурации разные.

Конфигурации разные или базы разные?

если конфигурации разные, то и наверняка структура справочников разная - и тут будет проблемно прописывать эти правила выгрузки/загрузки.

В случае, если какой элемент не существует, то как его создать на нужном уровне вложенности?

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

Оффлайн Кошки рулят

  • ***
  • Сообщений: 109
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-01-07
  • Сайт: 
Благодарю за внимание.

Справочник пустой?
Групп много?
Перегрузка одноразовая?

Оффлайн Dinyt

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-07-23
  • Сайт: 
  • Профессия: Ученик 1С
2Кошки рулят:
Справочник пустой
Групп, ну может, порядка 100-150.
Что значит перегрузка?

2Herby: 1-ая конфигурация "Предприятие", 2-ая конфигурация ТиС.
По поводу того, чтобы доверить это задание профессионалам - если следовать Вашему совету, то тогда форумы будут и не нужны. У каждого человека свой уровень подготовки и свои трудности, с которыми ему приходится сталкиваться. Если следовать Вашему совету, то не нужно развиваться самому, ну и т.д.

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
По поводу того, чтобы доверить это задание профессионалам - если следовать Вашему совету, то тогда форумы будут и не нужны.

неправильные выводы делаете..

форумы нужны чтобы люди учились/узнавали что-то новое.. но это не в вашем случае.
объясню почему: вам нужна обработка которая выполняет выгрузку справочника, так вот для новичка это слишком сложная задача и тем более, насколько я понял, вы собираетесь делать эту обработку не для "самообразования", а для реальной выгрузки/загрузки в рабочих базах.

Программное создание элемента/группы справочника - это элементарное действие для программиста 1с, но вы не знаете как это сделать, следовательно уровень ваш очень низок, и вам будет нереально написать такую обработку со всеми ее нюансами (а если и будет написана, то очень криво со всеми вытекающими последствиями).  А учиться я вам не запрещаю, учитесь, задавайте вопросы.


Если следовать Вашему совету, то не нужно развиваться самому, ну и т.д.

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



Оффлайн Кошки рулят

  • ***
  • Сообщений: 109
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-01-07
  • Сайт: 
Формат поменять:
КодТовара;КодГруппы(полный);ПризнакГруппы; ...
При загрузке:
Спр=СоздатьОбъект("Справочник.Номенклатура");
....
Если КодГруппы=0 Тогда
Спр=СоздатьОбъект("Справочник.Номенклатура");
Иначе
Спр.НайтиПоКоду(КодГруппы,2);
Спр.ИспользоватьРодителя(Спр.ТекущийЭлемент());
КонецЕсли;
Если ПризнакГруппы=1 Тогда
Спр.НоваяГруппа();
Спр.Код=КодТовара;
...
Спр.Записать();
Иначе
Спр.Новый();
Спр.Код=КодТовара;
...
Спр.Записать();
КонецЕсли;

Оффлайн Dinyt

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-07-23
  • Сайт: 
  • Профессия: Ученик 1С
2Кошки рулят:
Благодарю друг за полезный ответ.
Прошу прощения за молчание - не всегда есть возможность ответить.
Я изменил формат, и вместо пути я выгружаю полный код группы, как ты и посоветовал.
Только у меня код даже немного упростился:
Спр = Создатьобьект(...);
Спр.НайтиПоКоду(..., 2);
Спр.ИспользоватьРодителя(Спр.ТекущийЭлемент());
Если ПризнакГруппы = 1 Тогда
   <создаем группу>
Иначе
   <создаем элемент>
КонецЕсли

Еще раз, благодарю за помощь! :)

Оффлайн Кошки рулят

  • ***
  • Сообщений: 109
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-01-07
  • Сайт: 
Только у меня код даже немного упростился:

Твоя простотА хуже воровства - вот из-за таких как ты у нас булавы не летают, курски тонут и мирами топят мировой океан ...
Ненавижу!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
160 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
27 Сообщений
Golickoff Golickoff
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 162
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal