Имя: Пароль:
1C
1С v8
Загрузка номенклатуры из экселя
0 mzelensky
 
06.02.12
11:05
Доброго всем!
Как-то уже поднимал эту тему, но вынужден повториться.
Есть самописная конфа на платформе 8.2. Необходимо сделать обработку, которая бы выгружала справочник номенклатуры (реквизиты, все табличные части, подцепляемый регистр сведений и т.д.) в экселевскую таблицу, а затем могла загрузить это все обратно.

Перерыл много подобных вещей на ИС, но практически все подобные обработки позволяют работать только с реквизитами + 1 табличная часть - можно конечно обрабатывать по 1 ТЧ за несколько заходов, но это не удобно.

Вопрос 1 - может у кого уже есть нечто подобное (ну или максимально приближенное)
Вопрос 2 - кто может "быстренько" состряпать ну и разумеется за какие деньги(ТЗ напишу)?!
1 Wobland
 
06.02.12
11:06
(0) говори ТЗ ;)
2 Wobland
 
06.02.12
11:07
вместо нескольких обходов можно состряпать один запрос и уже его обходить один раз
3 golden-pack
 
06.02.12
11:07
за 10 000 напишу.
4 Fish
 
06.02.12
11:09
(0) Там писать-то полдня. :)) Что не получается то?
5 mzelensky
 
06.02.12
11:09
там вся проблема лишь в том, чтобы удобно и грамотно объединить все табличные части в одну строку (их порядка 5)
6 mzelensky
 
06.02.12
11:09
(4) я не говорю ,что не получается - просто нужно сделать по-быстрее, а у меня времени нет - другие задачи.
7 Fish
 
06.02.12
11:09
(5) Это как: ТЧ в строку?
8 Wobland
 
06.02.12
11:11
(5) что тебе нужно? ОБЪЕДИНИТЬ?
9 mzelensky
 
06.02.12
11:11
(7) кол1-Номенклатура кол2-Тч1_Наименование кол3-Тч2_Наименование и т.д.
10 Чайник Рассела
 
06.02.12
11:12
100$
11 mzelensky
 
06.02.12
11:12
(8) еще раз -

мне нужно выгрузить реквизиты справочника + 5 табличных частей этого справочника в одну экселевсккую таблицу!!! Поработать там с ними и загрузить обратно (разумеется с внесенными изменениями.)
12 mzelensky
 
06.02.12
11:13
(10) ты хоть задачу понял?
13 Маратыч
 
06.02.12
11:14
Формируешь отчет по справочнику номенклатуры с нужными колонками, выгружаешь его в табличный документ. Обратно подгружается обработкой с ИТС "Загрузка данных из табличного документа". Для разовой работы подойдет.
14 Wobland
 
06.02.12
11:14
(9) всё равно ОБЪЕДИНИТЬ
15 Fish
 
06.02.12
11:15
(9) А количество строк во всех ТЧ одинаковое, или может быть разное?
16 ProProg
 
06.02.12
11:22
(11) нафига такой изврат? и вообще зачем делать в эксель потом из экселя. сделайте обработку 1С и в ней все меняйте.
17 mzelensky
 
06.02.12
11:29
(13) ты читать вообще умеешь? Мне для "РАЗОВОЙ РАБОТЫ" не надо!!!

на сколько я знаю обработка с ИТС "Загрузка данных из табличного документа" может так загружать ток 1 табличную часть
18 mzelensky
 
06.02.12
11:29
(15) разумеется разное!!!
19 mzelensky
 
06.02.12
11:30
(16) давай без объяснений зачем и почему. Есть задача, я ее поставил, если можешь сделать, то давай поговорим, если НЕТ - не трать время!
20 Маратыч
 
06.02.12
11:35
(17) Не надо хамить. О том, что работа не одноразовая, ты нигде не написал.

Обработка с ИТС может подгружать из табличного документа что угодно и куда угодно, т.к. значениями можно оперировать через обработку данных ячейки на встроенном языке.
21 mzelensky
 
06.02.12
11:38
(20)когда ты этой обработкой хочешь обработать табличную часть, то тебе необходимо выбрать элемент справочника (конкретный), а затем выбрать табличную часть (одну конкретную) - только после этого возможна загрузка - или может у меня какая-то другая версия этой обработки?!
22 Scooter
 
06.02.12
11:42
(0)а зачем??? делайте всё в 1Ске
23 mzelensky
 
06.02.12
11:46
(22) читай (19)
24 Scooter
 
06.02.12
11:48
(23)а всё ясно
50 тыщ рублей
25 Маратыч
 
06.02.12
11:52
4 рабочих часа, $50/час. Итого $200.
26 mzelensky
 
06.02.12
11:55
(24) :) иди гуляй :)
27 mzelensky
 
06.02.12
11:55
(25) т.е. к концу этого дня напишешь,Я правильно понял?!и все это будет стоит 6000 рублей?!
28 Fish
 
06.02.12
11:58
(18) Т.Е. Я правильно понимаю, что первая строка в экселе должна выглядеть так:
кол1 - ссылка номенклатура, кол2 - первый элемент ТЧ1, кол3, первый элемент ТЧ2 и т.д.
А если в ТЧ1 и ТЧ2 по одной строке, а в ТЧ3 - 2 строки, тогда что и как должно выгрузиться в эксель?
29 Scooter
 
06.02.12
11:58
(25)ты задачу уяснил, как бы понял во что ввязываешься?
реально ценник озвучен в (24)
30 ProProg
 
06.02.12
11:59
ТС неадекват. пусть свои тупые задачи решает сам. если не хочет прислушиваться.
31 ProProg
 
06.02.12
12:00
Изначально сама постановка задачи не в ту сторону. выгружать - загружать. нафига. если можно сделать таблицу в самой 21С с которой можно было даже лучше чем с экселем работать
32 ProProg
 
06.02.12
12:02
(29) я тоже склоняюсь к этому. Ибо только на то чтобы написать безглючную обработку загрузки 5 таб частей сразу (да еще соблюдая все типы реквизитов которые могут быть в них) уже работы на дня три.
33 shuhard
 
06.02.12
12:04
(0) самый простой способ выгружать каждую сущность на отдельный лист в xls и писать в первую колонку код номенклатуры

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

ЭтотОбъект.Свод.Очистить();
   MyCon = Новый COMОбъект ("ADODB.Connection");
   MyCon.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inna.xls;Extended Properties=""Excel 8.0;HDR=No;IMEX=1""");
   MyRst = Новый COMОбъект ("ADODB.Recordset");
   MyStr = "select Nom.F2,Price.F2 from [Товары$] AS Nom INNER JOIN [Цены$] AS Price ON NOM.F1=Price.F1";
   MyRst.Open (MyStr, MyCon, 2, 3);//adOpenDynamic, adLockOptimistic
   Пока НЕ MyRst.EOF() Цикл
       НоваяСтрокаТЗ=ЭтотОбъект.Свод.Добавить();
       НоваяСтрокаТЗ.Товар=Строка(MyRst.Fields(MyRst.Fields.Item(0).Name).Value);
       НоваяСтрокаТЗ.Цена=Строка(MyRst.Fields(MyRst.Fields.Item(1).Name).Value);
       MyRst.MoveNext();
   КонецЦикла;
   MyRst.Close();
   MyCon.Close();
34 Scooter
 
06.02.12
12:05
(32)не в этом трабла, ТС сам не представляет ясно что ему нужно
а без ТЗ стоимость обработки возрастает
35 mzelensky
 
06.02.12
12:06
(30) задача реальная и вполне выполнима, если не хватает навыков, то хватит бросаться оскорблениями и иди гуляй!
36 Fish
 
06.02.12
12:07
(35) Ответь на (28).
37 ProProg
 
06.02.12
12:07
И вообще где ТЗ? Где описание табличных частей и чт ов них? где макет того что должно быть???
Где это все? как можено искать исполнителя вообще никрена нек предоставив информации. И сам то вроде прог. Должен знать это. а ведет себя как обычный юзер.
38 mzelensky
 
06.02.12
12:08
(31) элементарный пример - в экселе можно "протягивать" данные + применять формулы и т.д. - в 1С-ке этого нет!
39 ProProg
 
06.02.12
12:08
(35) тогда ТЗ в студию. По сабжу и по твоим постам пустая информация.
40 ProProg
 
06.02.12
12:08
(38) в 1Ске тоже можно заложить нужные формулы и подтягивание данных.
41 Маратыч
 
06.02.12
12:09
Не к концу этого дня, а к началу завтрашнего. Универсальности, ессно, за такие сроки не будет, соответственно, нужно либо описание справочника как объекта метаданных, либо ссылка на конфу, либо cf-ник. Также нужно описание колонок ёкселевского файла. В общем - нормальное ТЗ без лишней воды, чтобы не пришлось потом перепиливать результат как не соответствующий поставленной задаче.

(29) Уяснил. Вполне решаемо в рамках указанного времени, если не пытаться рисовать универсальную обработку и не перегружать ее лишними "защитами от дурака". Плюшечки и рюшечки - за отдельную плату.

(28) А зачем элементы ТЧ по колонкам разносить? кол1 - номенклатура, кол2 - ссылка на нужную ТЧ, кол3 - ссылка на колонку ТЧ, кол4 - значение строки ТЧ. При желании можно организовать группировку а ля OLAP кубик.

(31) Согласен, довольно-таки бессмысленная работа гонять данные туда-обратно. Но раз заказчик хочет платить - мне фиолетово.
42 ProProg
 
06.02.12
12:10
+(39)
Описание справочника, описание частей. Описание шаблона по которому должно быть в экселе.
Описание того что там будет менятся и загружаться.
43 mzelensky
 
06.02.12
12:10
(36) нарисуй на листке бумаги - станет ясно.

"ТЧ1 и ТЧ2 по одной строке , а в ТЧ3 - 2 строки" для второй строки "ТЧ3" данные "ТЧ1 и ТЧ2" будут просто пустыми
44 mzelensky
 
06.02.12
12:12
(42) так ты хочешь взяться или просто "ради интереса" хочешь посмотреть?!
45 mzelensky
 
06.02.12
12:12
(41) Маратыч, черкни мне на почту [email protected]
46 Fish
 
06.02.12
12:14
(43) Нахрена МНЕ что-то рисовать? Мне хотелось уяснить, что ТЫ конкретно хочешь. Не хочешь помощи - не надо. В топку такие ТЗ, и таких ТС.
З.Ы. Маратыч, если впишешься, имхо денег не увидишь, т.к. ТС скорее всего заявит: это не то, что я хотел.
47 Scooter
 
06.02.12
12:17
(46)+500
ага предоплату требуй  )
48 mzelensky
 
06.02.12
12:22
(47) за это договоримся