![]() |
![]() |
![]() |
|
Обработка заполнения табличных частей из 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) молодец
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |