Имя: Пароль:
1C
 
Обработка заполнения табличных частей из EXCEL
0 vqwy
 
02.01.11
20:57
Обработка с ИТС, вещь знаменитая, есть вопрос начинающего:
загружаю номенклатуру из Торг-12 поставщика. Создал. Через день приносят Торг-12, где есть часть уже загруженной номенклатуры. Если ставлю НОМЕНКЛАТУРА - искатЬ - № колонки в Экселе, то создает рядом с уже имеющейся номенклатурой ее дубль. Как сделать так, чтобы если обработка при загрузке натыкалась на созданную номенклатуру, то она ее не дублировала, а переходила бы к следующей?
Конфа = Розница 8 (8.1)
1 Злопчинский
 
03.01.11
01:41
синхронизация по чем идет? по коду? по наименованию?
2 Eugeneer
 
03.01.11
02:55
Не парься вот готовая.
http://www.subsystems.ru/store/item/23-загрузка-прайсов-номенклатуры-документов-ут-ка-упп-унф-бп-1срозница.html
Ну если хочешь можешь сам делать. если времени достаточно и знаний.
3 Eugeneer
 
03.01.11
02:56
поиск надо поставить.
4 vqwy
 
03.01.11
19:38
(1) по наименованию
5 vqwy
 
03.01.11
19:40
(2) Евгений Владимирович просит за нее 6500. Платить не очень хочется.
6 Eugeneer
 
03.01.11
20:25
Евгений тоже не очень хочется за ...да вообще за все что надо есть пить и одевать.
7 vqwy
 
04.01.11
19:33
Ну, с дублированием разобрался, надо было всего лишь галочку впилить при заполнении.
Вопрос номер два, прошу помочь, ибо с ним затрахался.
В карточке номенклатуры есть поле ЕДИНИЦА ХРАНЕНИЯ ОСТАТКОВ. Мне позарез нужно, чтобы оно заполнилось. Но обработка не позволяет этого - ни по "искать", ни по "устанавливать" (чужую единицу ведь не возьмешь), ни по "вычислять" (в этой части слаб я, не знаю что писать, какое выражение).
ПОМОГИТЕ!
8 vqwy
 
04.01.11
20:11
Если в режиме вычислять пишу такое:

НовыйОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НовыйОбъект.Наименование = ТекстЯчейки;
НовыйОбъект.Записать();

то ошибка
Ошибка при вызове метода контекста (Записать): Владелец не задан или задан неверно!

Как добавить владельца или обойти эту ошибку?
9 vqwy
 
04.01.11
20:48
up.
Неужто никто не знает?
10 IamAlexy
 
04.01.11
20:50
(9)

НовыйОбъект.Владелец = СсылкаНаВладельца;


чего тут сложного то?
11 vqwy
 
04.01.11
20:51
НовыйОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НовыйОбъект.Наименование = ТекстЯчейки;
НовыйОбъект.Владелец = СсылкаНаВладельца;
НовыйОбъект.Записать()

В таком виде??

Говорит, что ошибка в коде.
12 IamAlexy
 
04.01.11
20:52
СсылкаНаВладельца это у тебя что?
13 vqwy
 
04.01.11
20:52
+(11) Туплю
14 vqwy
 
04.01.11
20:54
(12) это тот элемент справочника Номенклатура, который создается при загрузке из таблицы. В каком виде его представить?
15 vqwy
 
10.01.11
11:01
Возвращаюсь к теме, т.к. не смог разобраться.
При загрузке данных - как именно назвать владельца создаваемой единицы измерения?
16 vqwy
 
10.01.11
11:06
Ведь не так же

НовыйОбъект.Владелец = Справочники.Номенклатура

Помогите начинающему!
17 vqwy
 
10.01.11
11:18
UP
Люди, выручите!
18 vicof
 
10.01.11
11:24
(16) Ты подумай как связаны номенклатура и единица измерения.
19 vqwy
 
10.01.11
11:31
(18) легко сказать "подумай")))
номенклатурная позиция, которую создает обработка - это владелец единицы измерения.
или не так?
для каждой позиции создается своя ЕИ.Проблема (для меня) в том, чтобы заставить обработку одновременно с созданием позиции создавать соответствующую ЕИ.
20 vicof
 
10.01.11
11:36
(19) ну вот. Получается номенклатурная позиция у тебя есть. Ссылку на нее получить можно. У единицы измерения владельца указать можно в виде (10). Что еще не хватает?
21 MishaSan
 
10.01.11
11:38
При создании номенклатуры заполняй базовую единицу измерения, единица хранения остатков создастся автоматически
НовыйОбъект.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("??");
22 vqwy
 
10.01.11
11:39
(20) то есть
НовыйОбъект.Владелец = Ссылка.Справочники.Номенклатура

?
Или нет?
23 vicof
 
10.01.11
12:02
(22) У тебя создатся номенклатура полагаю таким образом или подобным:
Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
...
Номенклатура.Записать();

если написать

СсылкаНаВладельца = Номенклатура.ПолучитьСсылку();

то у тебя магическим образом появляется ссылка на элемент справочника.

Далее остается создать ЕИ.

ЕИ= Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
ЕИ.Наименование = ТекстЯчейки;
ЕИ.Владелец = СсылкаНаВладельца;
ЕИ.Записать();

Вуаля.
24 vicof
 
10.01.11
12:03
+(23) наврал
СсылкаНаВладельца = Номенклатура.Ссылка;
25 vqwy
 
10.01.11
12:05
(21) зачем создавать новые базовые ЕИ? Ведь они одни и те же для всей номенклатуры. Я до этого просто указывал, что базовая ЕИ устанавливается как "шт" из справочника ОКЕИ, и все. Но при этом номенклатура создавалась, а поле "единица хранения остатков" оставалось пустым, и приходилось после загрузки каждую номенклатуру открыаать и нажимать "записать",тогда появлялась "ед. хранения остатков".
Вопрос у меня в другом!
26 vqwy
 
10.01.11
12:55
(23) Спасибо, но я наверное слишком тупой для этого.
Где мы указываем
СсылкаНаВладельца = Номенклатура.ПолучитьСсылку();?
В том же поле "выражение", где и все остальное?

А если использовать параметр "ТекущиеДанные" из обработки?
Люди умные, объясните неучу, что делать"!
Вообще, кто видел правила работы с этой обработкой?
27 vqwy
 
13.01.11
20:11
Специально для тех, кто, как и я, прихренел при работе с этой обработкой, наслушался от братьев по форуму невнятных ответов от "жрецов" 1С, часть из которых имела целью срубить с меня бабла за заведомо несложные советы, публикую то, что позволяет при загрузке табличного документа сразу устанавливать единицы хранения остатков.

Решение:
В событии "При записи объекта пишем":

НайденнаяЕдиницаОбъект = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
НайденнаяЕдиницаОбъект.Наименование            = Объект.БазоваяЕдиницаИзмерения.Наименование;
НайденнаяЕдиницаОбъект.ЕдиницаПоКлассификатору = Объект.БазоваяЕдиницаИзмерения;
НайденнаяЕдиницаОбъект.Коэффициент             = 1;
НайденнаяЕдиницаОбъект.Владелец                = Объект.Ссылка;
НайденнаяЕдиницаОбъект.Записать();
Объект.ЕдиницаХраненияОстатков = НайденнаяЕдиницаОбъект.Ссылка;
28 Eugeneer
 
13.01.11
20:17
ну рассмешили. задачу на две минуты так растянуть...
29 Eugeneer
 
13.01.11
20:18
ты 11 дней потратил на это? результативность однако.
30 Eugeneer
 
13.01.11
20:19
Кстати если ты клиенту стандартную даже и сделаешь ему все равно будет неудобно работать. лучше бы (2) купил. там все есть в лучшем виде. я бы еще тебе премиальные начислил.
31 vqwy
 
13.01.11
20:22
Да сильно -то не горело
Дорогой Евгений Владимирович, Вам выражаю свою искреннюю благодарность за оказанную помощь. Наверное, Ваши прочие "продукты" за 6500 и дороже не намного сложнее, чем эта смешная задача.
32 Eugeneer
 
13.01.11
20:27
(31) конечно . я вообще воздух продал 200 клиентам.
33 vqwy
 
13.01.11
20:31
(32) молодец
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс