|
Регистр сведений, независимы, как установить владельца? | ☑ | ||
---|---|---|---|---|
0
bizon2014
04.07.14
✎
14:51
|
Регистр сведений, независимы, как установить владельца? Такой код
НоваяЗапись=рсШтрихкоды.Добавить(); НоваяЗапись.Активность=Истина; НоваяЗапись.Владелец=ТекТовар; НоваяЗапись.Штрихкод=Товар.Штрихкод; НоваяЗапись.ТипШтрихкода = ПредопределенноеЗначение("ПланВидовХарактеристик.ТипыШтрихкодов.EAN13"); Запись проходит, владельца нет. |
|||
1
Господин ПЖ
04.07.14
✎
14:52
|
ТекТовар не подходит по типу
|
|||
2
Wobland
04.07.14
✎
14:53
|
что, даже Записать() не помогает?
|
|||
3
bizon2014
04.07.14
✎
14:54
|
(1) Дык справочник товара.
(2) Оно записывается, но владелец пустой. |
|||
4
bizon2014
04.07.14
✎
14:55
|
Тип
СправочникСсылка.ИнформационныеКарты, СправочникСсылка.Номенклатура, СправочникСсылка.СерийныеНомера |
|||
5
Крошка Ру
04.07.14
✎
14:55
|
(0)А ТекТовар заполнен?
|
|||
6
Enders
04.07.14
✎
14:56
|
НоваяЗапись.Владелец=ТекТовар;
А почему используется сначало ТекТовар, а потом Товар? |
|||
7
Крошка Ру
04.07.14
✎
14:56
|
+(5)Если отладчиком посмотреть?
|
|||
8
Alex S D
04.07.14
✎
14:57
|
ТекТовар не объект случаем?
|
|||
9
Крошка Ру
04.07.14
✎
14:57
|
Кстати да, может он не ссылка?
|
|||
10
bizon2014
04.07.14
✎
15:02
|
(5) (6) ТекТовар это уже записанный элемент справочника.
Вот код, весь. cпрТовар = Справочники.Номенклатура; тзШтрихкод = Новый ТаблицаЗначений; cпрЕдИзм = Справочники.БазовыеЕдиницыИзмерения; //Обнуляем регистр Штрихкод НаборЗаписей = РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НаборЗаписей.Записать(); рсШтрихкоды=РегистрыСведений.Штрихкоды.СоздатьНаборЗаписей(); НомерСтроки=1; Для каждого Товар из тзТовар Цикл //Ищем по коду в справочнике товара НайденнаяСсылка = cпрТовар.НайтиПоКоду(СокрЛП(Товар.Код)); Если НайденнаяСсылка = cпрТовар.ПустаяСсылка() Тогда ТекТовар = Справочники.Номенклатура.СоздатьЭлемент(); Иначе ТекТовар = НайденнаяСсылка.ПолучитьОбъект(); КонецЕсли; ТекТовар.Код = СокрЛП(Товар.Код); ТекТовар.Наименование = СокрЛП(Товар.Название); ТекТовар.ЕдиницаИзмерения = cпрЕдИзм.НайтиПоКоду(642).Ссылка; ТекТовар.Записать(); //Нашли, изменили или создали, записали. НоваяЗапись=рсШтрихкоды.Добавить(); НоваяЗапись.Активность=Истина; НоваяЗапись.Владелец=ТекТовар.Ссылка; НоваяЗапись.Штрихкод=Товар.Штрихкод; //НоваяЗапись.ЕдиницаИзмерения=ТекТовар.ЕдиницаИзмерения; НоваяЗапись.ТипШтрихкода = ПредопределенноеЗначение("ПланВидовХарактеристик.ТипыШтрихкодов.EAN13"); НомерСтроки=НомерСтроки+1; КонецЦикла; //Запись регистра шрихкоды Попытка рсШтрихкоды.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; Сообщить("Запись закончена") |
|||
11
Ринат-СПб
04.07.14
✎
15:05
|
(10) и не появился владелец?
|
|||
12
bizon2014
04.07.14
✎
15:06
|
(11) Нет.
|
|||
13
Господин ПЖ
04.07.14
✎
15:07
|
>Дык справочник товара.
звиздеж и провокация |
|||
14
SUA
04.07.14
✎
15:07
|
рсШтрихкоды от такого кода не помрет?
|
|||
15
Ринат-СПб
04.07.14
✎
15:08
|
(12) конфа какая?
|
|||
16
SUA
04.07.14
✎
15:08
|
хотя да, по коду помирает раньше...
|
|||
17
Alex S D
04.07.14
✎
15:12
|
а отбор по владельцу в наборе не надо делать?
|
|||
18
Господин ПЖ
04.07.14
✎
15:12
|
(17) автору нет
|
|||
19
bizon2014
04.07.14
✎
15:13
|
Вроде раскопал, тама что-то намудрили в модуле менеджера самого регистра. Типа проверка на уникальность отбрасывает моего владельца. Поставил тупо задержку после очистки регистра.
Теперь другой вопрос, а как мне аналогичное запихнуть в регистр с регистратором? Надо типа цены записать, а у регистра цен подчинение регистратору документ установка цен. |
|||
20
anatoly
04.07.14
✎
15:13
|
ТекТовар = Справочники.Номенклатура.СоздатьЭлемент();
Иначе ТекТовар = НайденнаяСсылка.ПолучитьОбъект(); см (9) !!! |
|||
21
Господин ПЖ
04.07.14
✎
15:14
|
(19) отбор по регистратору ставь
|
|||
22
Ринат-СПб
04.07.14
✎
15:15
|
(19) меня больше вот это смутило
ТекТовар.ЕдиницаИзмерения = cпрЕдИзм.НайтиПоКоду(642).Ссылка; |
|||
23
PR
04.07.14
✎
15:16
|
(19) Вот так обычно и бывает, напишут нерабочего копрокода, а потом начинается "тама что-то намудрили в модуле менеджера самого регистра".
|
|||
24
Ринат-СПб
04.07.14
✎
15:17
|
(19) Создай документ установку цен номенклатуры :)
|
|||
25
bizon2014
04.07.14
✎
15:19
|
(22) А что не так? Ищу ссылку и пишу.
(21) Так нет регистратора. Доков то нет. Или сначала док создать, заполнить и на него сослаться. (23)Так сам и накосячил. Ты лучше расскажи где ковнокод и как правильно, Коли не в тягость. Благодарен буду. |
|||
26
Господин ПЖ
04.07.14
✎
15:21
|
>Так нет регистратора. Доков то нет. Или сначала док создать, заполнить и на него сослаться.
документы сделай нормальные и проведи. |
|||
27
VikingKosmo
04.07.14
✎
15:22
|
(26) это не слишком гуманно))
|
|||
28
bizon2014
04.07.14
✎
15:23
|
(26) Не осилить. Тама такой документ сложный.
|
|||
29
Ринат-СПб
04.07.14
✎
15:24
|
(25) Конфа какая?
Просто почти везде ЕдиницыИзмерения - это подчиненный справочник. И для каждого товара создается отдельная единица измерения, искать нужно по владельцу |
|||
30
Господин ПЖ
04.07.14
✎
15:24
|
мдя... вот и поговорили
|
|||
31
PR
04.07.14
✎
15:26
|
(25) ПолучитьОбъект() — это ссылка?
|
|||
32
Господин ПЖ
04.07.14
✎
15:27
|
(31) в военное время - да
|
|||
33
Wobland
04.07.14
✎
15:27
|
(28) держи, горе
Процедура КнопкаВыполнитьНажатие(Кнопка) ТипЦеныЗакупочная=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закупочная цена"); ТипЦеныРозничная=Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная цена"); ДокументУстановкиЦен=Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокументУстановкиЦен.Дата=ДатаДокумента; НоваяСтрока=ДокументУстановкиЦен.ТипыЦен.Добавить(); НоваяСтрока.ТипЦен=ТипЦеныРозничная; НоваяСтрока=ДокументУстановкиЦен.ТипыЦен.Добавить(); НоваяСтрока.ТипЦен=ТипЦеныЗакупочная; ДокументУстановкиЦен.Комментарий="автоматическая загрузка прайс-листа"; ДокументУстановкиЦен.Ответственный=ПараметрыСеанса.ТекущийПользователь; Для стр=8 По ПоследняяСтрока Цикл НоваяСтрока=ДокументУстановкиЦен.Товары.Добавить(); НоваяСтрока.Номенклатура=Номенклатура; НоваяСтрока.ТипЦен=ТипЦеныРозничная; НоваяСтрока.Валюта=Справочники.Валюты.НайтиПоКоду("810"); НоваяСтрока.ЕдиницаИзмерения=Номенклатура.ЕдиницаХраненияОстатков; НоваяСтрока.Цена=Sheet.Cells(стр, 4).Value; НоваяСтрока=ДокументУстановкиЦен.Товары.Добавить(); НоваяСтрока.Номенклатура=Номенклатура; НоваяСтрока.Валюта=Справочники.Валюты.НайтиПоКоду("810"); НоваяСтрока.ЕдиницаИзмерения=Номенклатура.ЕдиницаХраненияОстатков; НоваяСтрока.ТипЦен=ТипЦеныЗакупочная; НоваяСтрока.Цена=Sheet.Cells(стр, 6).Value; КонецЦикла; ДокументУстановкиЦен.Записать(); Сообщить("Записан документ "+ДокументУстановкиЦен); КонецПроцедуры |
|||
34
bizon2014
04.07.14
✎
15:27
|
(29) Розница, там подчиненный упаковки.
(30) Не, не уходи. Документ, так документ. Щас тогда буду делать документ. |
|||
35
Ринат-СПб
04.07.14
✎
15:27
|
(31) дальше читай, он там делает тектовар.ссылка
|
|||
36
Enders
04.07.14
✎
15:32
|
(10)
Для каждого Товар из тзТовар Цикл
Кто-нить объясните мне, что это за хрень? 1. На хрена получать объект по коду, если у нас есть ссылка? 2. На хрена заменять значения реквизитов Объекта, значениями реквизитов его же ссылки? 3. Ну и напоследок почему НоваяЗапись.Владелец=ТекТовар;
Если надо: НоваяЗапись.Владелец=Товар;
|
|||
37
Ринат-СПб
04.07.14
✎
15:34
|
(36) Товар - это строка ТЗ, насколько я понимаю
потом он находит ссылку, по ней объект :) |
|||
38
bizon2014
04.07.14
✎
15:49
|
(33) Блин, у меня документ неправильный какой-то, три табличных части. И при создании дока куча вариантов выбора цен.
|
|||
39
bizon2014
04.07.14
✎
15:50
|
(36) тзТовар - это таблица значений.
|
|||
40
Wobland
04.07.14
✎
15:53
|
(38) тому коду лет триста уже. раз не помогает - дорога к программисту
|
|||
41
bizon2014
04.07.14
✎
15:55
|
(40) К коду претензий нет. Спасибо. Проблема прикрутить.
А что тут программистов нема? |
|||
42
Ринат-СПб
04.07.14
✎
15:55
|
(40) тоже ждешь окончание рабочего дня, а делать нечего? :)
|
|||
43
Alex S D
04.07.14
✎
15:55
|
делать есть чего, а не хочется
|
|||
44
Wobland
04.07.14
✎
15:57
|
(41) ну я программист. 500 рублёв денег - и документ у тебя есть
(42) в моих реалиях уже 21 час ;) |
|||
45
Ринат-СПб
04.07.14
✎
16:00
|
(44) а мне еще часик пострадать :)
|
|||
46
Крошка Ру
04.07.14
✎
16:00
|
(44) " - Где этот чертов инвалид?
- Не шуми, я инвалид." ))) |
|||
47
Wobland
04.07.14
✎
16:04
|
а претензии к коду есть: Справочники.Валюты.НайтиПоКоду("810") в цикле
|
|||
48
Fragster
гуру
04.07.14
✎
16:05
|
ТекТовар.Ссылка() автору поможет, наверное.
|
|||
49
Fragster
гуру
04.07.14
✎
16:05
|
без скобок только
|
|||
50
bizon2014
04.07.14
✎
16:09
|
(44) 500 рублев я зайца в поле загоняю.
Док научился создавать. &НаСервере Процедура КнСоздатьДокНаСервере() ТипЦеныРозничная = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"); ДокументУстановкиЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокументУстановкиЦен.Дата = ТекущаяДата(); НоваяСтрока=ДокументУстановкиЦен.ВидыЦен.Добавить(); НоваяСтрока.ВидЦены = ТипЦеныРозничная; ДокументУстановкиЦен.Комментарий="автоматическая загрузка прайс-листа"; ДокументУстановкиЦен.Ответственный=ПараметрыСеанса.ТекущийПользователь; ДокументУстановкиЦен.Записать(); Сообщить("Записан документ "+ДокументУстановкиЦен); КонецПроцедуры (47)Угуй. Косяк, мой. Спасибо. |
|||
51
Ринат-СПб
04.07.14
✎
16:11
|
(50) да ну нафиг... Сообщить работает? О_о
|
|||
52
Wobland
04.07.14
✎
16:12
|
(50) да ещё и ТЧ у него заполнять
(51) а почему бы и нет, Ватсон? ;) |
|||
53
Ринат-СПб
04.07.14
✎
16:13
|
(52) &НаСервере
Процедура КнСоздатьДокНаСервере() |
|||
54
bizon2014
04.07.14
✎
16:14
|
(51) (52) Да с ТЧ не получается. Ошибка пишет. Нет такой мол. Щас готовый по отладчику разбираю.
|
|||
55
Wobland
04.07.14
✎
16:15
|
(53) не дошло.. тебя Сообщить() с сервера смущает?
|
|||
56
Ринат-СПб
04.07.14
✎
16:17
|
(55) ага
хотя глянул в СП - можно и на сервере использовать... |
|||
57
bizon2014
04.07.14
✎
16:18
|
(47) НоваяСтрока.Валюта=Справочники.Валюты.НайтиПоКоду("810"); у тебя тож в цикле - это правильно?
|
|||
58
Wobland
04.07.14
✎
16:22
|
(57) нет. ТипЦеныЗакупочная вынес из цикла, а до валюты руки не дотянулись ;)
|
|||
59
Господин ПЖ
04.07.14
✎
16:25
|
(51) ну не то чтобы работает, но не сломается
|
|||
60
bizon2014
04.07.14
✎
16:26
|
Блин, ТЧ не победил.
cпрЕдИзм = Справочники.БазовыеЕдиницыИзмерения; ЕдИзмСсылка = cпрЕдИзм.НайтиПоКоду(642).Ссылка; ТипЦеныРозничная = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"); ДокументУстановкиЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокументУстановкиЦен.Дата = ТекущаяДата(); НоваяСтрока=ДокументУстановкиЦен.ВидыЦен.Добавить(); НоваяСтрока.ВидЦены = ТипЦеныРозничная; ДокументУстановкиЦен.Комментарий="автоматическая загрузка прайс-листа"; ДокументУстановкиЦен.Ответственный=ПараметрыСеанса.ТекущийПользователь; Для каждого Товар из тзТовар Цикл НоваяСтрока=ДокументУстановкиЦен.Товары.Добавить(); НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(10000)); НоваяСтрока.ТипЦен=ТипЦеныРозничная; НоваяСтрока.Валюта=Справочники.Валюты.НайтиПоКоду("810"); НоваяСтрока.ТипЦен=ТипЦеныРозничная; НоваяСтрока.Цена=1000; //НоваяСтрока.ЕдиницаИзмерения=Номенклатура.ЕдиницаХраненияОстатков; КонецЦикла; ДокументУстановкиЦен.Записать(); Сообщить("Записан документ "+ДокументУстановкиЦен); |
|||
61
Wobland
04.07.14
✎
16:28
|
единица измерения часто иногда подчинена номенклатуре. поэтому я её брал из номенклатуры
|
|||
62
bizon2014
04.07.14
✎
16:29
|
У меня ошибок нет, и тч дока пустая.
|
|||
63
Wobland
04.07.14
✎
16:31
|
а вот бы изобрели такую штуку, которая позволяла бы исполнять код пошагово да значения переменных смотреть. джва году жду
|
|||
64
bizon2014
04.07.14
✎
16:40
|
Хм. У меня таблица значения почему-то пустая.
|
|||
65
Любопытная
04.07.14
✎
16:45
|
(64) А де ты ее берешь?
|
|||
66
bizon2014
04.07.14
✎
16:46
|
(65) Реквизит формы.
|
|||
67
acsent
04.07.14
✎
16:47
|
(60) там еще индекс строки вроде есть реквизит
|
|||
68
Wobland
04.07.14
✎
16:49
|
(64) попробовать её чем-нибудь наполнить - это выход?
|
|||
69
bizon2014
04.07.14
✎
16:50
|
(68) А она полная, я ее на экране то вижу.
|
|||
70
Любопытная
04.07.14
✎
16:53
|
(69) Чет у тебя наоборот получается - суслика нет, а ты его видишь. Или у тебя глюки, или это не тот суслик
|
|||
71
bizon2014
04.07.14
✎
16:54
|
В общем так, документ создается, цены и товар заполняются. Провожу. Записей в регистре нет.
Процедура КнСоздатьДокНаСервере() cпрЕдИзм = Справочники.БазовыеЕдиницыИзмерения; ЕдИзмСсылка = cпрЕдИзм.НайтиПоКоду(642).Ссылка; ТипЦеныРозничная = Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"); ДокументУстановкиЦен = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент(); ДокументУстановкиЦен.Дата = ТекущаяДата(); НоваяСтрока=ДокументУстановкиЦен.ВидыЦен.Добавить(); НоваяСтрока.ВидЦены = ТипЦеныРозничная; ДокументУстановкиЦен.Комментарий="автоматическая загрузка прайс-листа"; ДокументУстановкиЦен.Ответственный=ПараметрыСеанса.ТекущийПользователь; Для каждого Товар из тзТовар Цикл НоваяСтрока=ДокументУстановкиЦен.Товары.Добавить(); НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду(СокрЛП(Товар.Код)); НоваяСтрока.ВидЦены=ТипЦеныРозничная; НоваяСтрока.Цена=1000; КонецЦикла; ДокументУстановкиЦен.Записать(); Сообщить("Записан документ "+ДокументУстановкиЦен); КонецПроцедуры |
|||
72
Любопытная
04.07.14
✎
16:55
|
(71) Где в этом коде указано, что тзТовар это табличная часть документа?
|
|||
73
Wobland
04.07.14
✎
16:56
|
>Справочники.Номенклатура.НайтиПоКоду(СокрЛП(Товар.Код))
в приличных домах за такое ставят на горох. прямо простреленными коленками. кто мешает ссылки в ТЗ хранить? |
|||
74
bizon2014
04.07.14
✎
16:57
|
тзТовар - это таблица значений.
|
|||
75
Wobland
04.07.14
✎
16:58
|
(72) у него уже всё заполняется. теперь нам надо разобраться, почему движений нет при проведении ;)
|
|||
76
bizon2014
04.07.14
✎
16:58
|
(73) Потому что в тз загружается тестовый файл с четырьмя полями, код, название, цена и шрихкод. Вот мне и надо справочник организовать.
|
|||
77
Любопытная
04.07.14
✎
16:58
|
(74) Пустая?
|
|||
78
Крошка Ру
04.07.14
✎
16:59
|
А где написано что документ проводится?
|
|||
79
Любопытная
04.07.14
✎
16:59
|
(75) а ты нде-то проведение разглядел?
|
|||
80
Wobland
04.07.14
✎
16:59
|
(78) (79) в (71)
|
|||
81
Wobland
04.07.14
✎
17:00
|
+(80) мож, он руками потом делает. этот партизан так просто не сознается
|
|||
82
bizon2014
04.07.14
✎
17:01
|
(81) Руками. Да.
|
|||
83
Kamas
04.07.14
✎
17:01
|
прочитал название ветки вспомнил что пятница)) прочитал ветку понял что уже конец дня)))
|
|||
84
Wobland
04.07.14
✎
17:02
|
и ведь до сих пор не названа конфигурация. мы ли не молодцы вслепую подсказывать? ;)
|
|||
85
bizon2014
04.07.14
✎
17:04
|
в (34) писал, розница.
|
|||
86
Любопытная
04.07.14
✎
17:04
|
(82) ды и чо? Ты в каком регистре хочешь записи увидеть?
|
|||
87
Wobland
04.07.14
✎
17:04
|
(85) угу. розница вторая, раз УФ
|
|||
88
bizon2014
04.07.14
✎
17:07
|
В общем. Что с загрузкой справочника номенклатура накосячил. Мои загружены элементы в справочник номенклатуры не делают записей если их даже в ручном режиме выбрать в доке установка цен. Если руками товар вбить, то делает.
|
|||
89
bizon2014
04.07.14
✎
17:08
|
(86) Цены номенклатуры.
|
|||
90
Wobland
04.07.14
✎
17:12
|
ничо не знаю
http://i.imgur.com/QGJ31Yy.png |
|||
91
bizon2014
04.07.14
✎
17:16
|
(90) Не к доку претензий нет, видать я при загрузки в справочник номенклатуры что-то неправильное делаю.
Руками вбитые нормально работают, мной загруженные, типа автоматом, не работают. |
|||
92
Wobland
04.07.14
✎
17:17
|
(91) объект что ль пишешь вместо ссылки?
|
|||
93
bizon2014
04.07.14
✎
17:21
|
(92) Нет. Что-то не заполняю в справочнике номенклатуры. Щас по реквизиту пробую добавлять. Если зайти и выйти с сохранением из карточки товара, то усе пучком.
|
|||
94
hhhh
04.07.14
✎
17:33
|
(93) ну вот это бред, согласись: СокрЛП(10000) ??? это будет "10 000". Используй функцию Формат.
|
|||
95
Wobland
04.07.14
✎
17:35
|
(94) а не Строка()?
|
|||
96
bizon2014
04.07.14
✎
17:36
|
(94) Спасибо. Будем учится.
Я перечисление правильно присваиваю? А то не заполняет ТекТовар.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар; |
|||
97
Wobland
04.07.14
✎
17:37
|
(96) дай уже обработку поиграться, а то мы так и до (200) дотянем
|
|||
98
bizon2014
04.07.14
✎
17:42
|
(97) На, я не жадный
[url=http://webfile.ru/2d635d41a6b40fbebf81d42fe290e993]СкачатьЗагрузкаИзДБФ.epf[/url] |
|||
99
Wobland
04.07.14
✎
17:47
|
(98) а я ленивый. как выглядит правильная ссылка?
|
|||
100
Alex S D
04.07.14
✎
17:47
|
(100) ну вы даете
|
|||
101
Wobland
04.07.14
✎
17:49
|
тзШтрихкод = Новый ТаблицаЗначений;
Для каждого Товар из тзТовар Цикл ничо так |
|||
102
bizon2014
04.07.14
✎
17:49
|
(99)http://webfile.ru/2d635d41a6b40fbebf81d42fe290e993
Я вроде победил. Цены появились в регистре, но нет в чеке ККМ. |
|||
103
Wobland
04.07.14
✎
17:49
|
(101) тьфу, имена переменных попутал ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |