|
v7: Не получить значение реквизита справочника | ☑ | ||
---|---|---|---|---|
0
artmatru
07.06.13
✎
16:17
|
Народ, может я совсем перегрелся, не могу понять почему не работает, хотя аналогичный код работает в другой обработке.
ТЗ = СоздатьОбъект("ТаблицаЗначений"); Док = СоздатьОбъект("Документ.Прайс"); Док.ВыбратьДокументы(ДатаДок-1,ДатаДок); Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()=1 Цикл ТЗ.НоваяСтрока(); ТЗ.Товар = Док.Товар.Привязка.Наименование; //вот тут не могу получить значение. Привязка имеет тип справочника Товар тоже справочник КонецЦикла; |
|||
1
artmatru
07.06.13
✎
16:18
|
Если что документ получаю, забыл написать
|
|||
2
TulaScrap
07.06.13
✎
16:20
|
А Док.Товар.Привязка не пустоеЗначение?
|
|||
3
vinogradъ
07.06.13
✎
16:21
|
когда проверяешь смотришь ТЗ.Товар или Док.Товар.Привязка.Наименование?
|
|||
4
artmatru
07.06.13
✎
16:23
|
(2) точно не пустое.
|
|||
5
artmatru
07.06.13
✎
16:23
|
(3) в отладчике смотрю Док.Товар.Привязка.Наименование
|
|||
6
artmatru
07.06.13
✎
16:24
|
если док.товар то значение есть, дальше пусто
|
|||
7
Mikeware
07.06.13
✎
16:25
|
(6)что вполне естественно....
товару присваивать наиименование самого себя, причем когда самого себя еще и нет... я даже не представляю, чего нужно обкуриться... |
|||
8
artmatru
07.06.13
✎
16:25
|
процедура модуля формы документа, но по идее это же не имеет значения
|
|||
9
Mikeware
07.06.13
✎
16:26
|
а, пардон, у самого косоглазие...
|
|||
10
Mikeware
07.06.13
✎
16:26
|
ПолучитьДокумент - где?
|
|||
11
artmatru
07.06.13
✎
16:26
|
(7) в смысле самого себя, слева ведь таблица значений
|
|||
12
artmatru
07.06.13
✎
16:27
|
забыл написать просто, документ получаю перед ВыбратьСтроки()
|
|||
13
Mikeware
07.06.13
✎
16:28
|
(12) ну тогда скопирцуй сюда весь код, а то мало ли чеготы там еще "забыл"... :-)
|
|||
14
vinogradъ
07.06.13
✎
16:29
|
а так? ТЗ.Товар = "" + Док.Товар.Привязка;
я так понимаю в тз тип колонки Товар - строка |
|||
15
Boroda
07.06.13
✎
16:29
|
ТЗ.Товар пустой что ли? Может тип у него не "строка"?
|
|||
16
Boroda
07.06.13
✎
16:29
|
(14) опоздал... :)
|
|||
17
artmatru
07.06.13
✎
16:30
|
(14) (15) Тип не указывал, щас проверю напишу...
|
|||
18
vinogradъ
07.06.13
✎
16:30
|
+(14) или Привязка периодический
|
|||
19
oslokot
07.06.13
✎
16:32
|
(0) Не верю (с)
Если только ТЗ.Товар = СокрЛП(Док.Товар.Привязка.Наименование) |
|||
20
Mikeware
07.06.13
✎
16:33
|
(14) к строке он и так приведется...
|
|||
21
artmatru
07.06.13
✎
16:33
|
Хотя в принципе без разницы должно быть, я не вижу значения еще до записи в таблицу значений
(18) нет |
|||
22
artmatru
07.06.13
✎
16:34
|
Точно не подходит
|
|||
23
artmatru
07.06.13
✎
16:34
|
если не указываю тип, то можно хранить любой
|
|||
24
vinogradъ
07.06.13
✎
16:35
|
всё таки (13)
|
|||
25
artmatru
07.06.13
✎
16:37
|
Таб = СоздатьОБъект("Таблица");
Таб.ИсходнаяТаблица("Прайс"); Таб.ВывестиСекцию("Шапка"); ТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Товар"); Док = СоздатьОбъект("Документ.Прайс"); Док.ВыбратьДокументы(ДатаДок-1,ДатаДок); Пока Док.ПолучитьДокумент()=1 Цикл Если Док.Проведен()=1 Тогда Если Док.ВидПрайса = Перечисление.ВидыТоваров.Товар Тогда Если Док.ДатаДок=ДатаДок-1 Тогда Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку()=1 Цикл ТЗ.НоваяСтрока(); ТЗ.Товар = Док.Товар.Привязка.Наименование; КонецЦикла; ... |
|||
26
artmatru
07.06.13
✎
16:45
|
Ну что народ, есть мысли?
|
|||
27
oslokot
07.06.13
✎
16:58
|
(26) а сообщить(Док.Товар.Привязка.Наименование) в цикле работает?
|
|||
28
Эльниньо
07.06.13
✎
17:00
|
Пока Док.ПолучитьСтроку()=1 Цикл
ТЗ.НоваяСтрока(); ТЗ.Товар = ?(ПустоеЗначение(Док.Товар.Привязка) = 1, "ФигВам",Док.Товар.Привязка.Наименование; КонецЦикла; ... |
|||
29
artmatru
07.06.13
✎
17:00
|
(27) Хм, как ни странно да
|
|||
30
Эльниньо
07.06.13
✎
17:01
|
// ТЗ.Товар = ?(ПустоеЗначение(Док.Товар.Привязка) = 1, "ФигВам",Док.Товар.Привязка.Наименование; ТЗ.Товар = ?(ПустоеЗначение(Док.Товар.Привязка) = 1, "ФигВам",Док.Товар.Привязка.Наименование);
|
|||
31
deadng
07.06.13
✎
17:05
|
[code]
Если ПустоеЗначение(Док.Товар) = 0 Тогда Если ПустоеЗначение(Док.Товар.Привязка) = 0 Тогда ТЗ.Товар = Док.Товар.Привязка.Наименование; Иначе Сообщить("У товара " + СокрЛП(Док.Товар) + " не заполена привязка"); КонецЕсли; Иначе Сообщить("В документе " + СокрЛП(Док) + " не заполнен товар, строка " + СокрЛП(Док.НомерСтроки)); КонецЕсли; [code] |
|||
32
artmatru
07.06.13
✎
17:07
|
Ребят, всем спасибо, все работало, просто реально надо отдыхать от компьютера больше, запарился я просто, неправильно интерпретировал результаты, и как раз первая строка было не заполнено значение, а я думал что везде проставлено.
|
|||
33
artmatru
07.06.13
✎
17:10
|
Короче жара, вечер пятницы, пора ехать пиво пить
|
|||
34
Torquader
09.06.13
✎
13:20
|
Я так понимаю, что и как у меня - запретили в документе оставлять строки с незаполненным товаром.
У меня "звери" быстро додумались - сделали товар с пустым названием (точнее пустое им запрещено, но один неразрывный пробел тоже не виден) и вставляют его в документ. В результате товар в строке есть, но не виден. |
|||
35
mishaPH
09.06.13
✎
13:29
|
(34) А зачем в доке нужен товар пустой? с какой целью
|
|||
36
Torquader
09.06.13
✎
13:41
|
(35) Они так "продают" то, чего нет на складе, объясняя тем, что ввести не получается - дескать в кассе есть понятие "по свободной цене" - здесь также.
Ещё, оказывается, можно потом в печатную форму что-то вписать перед печатью, хотя этот режим "пофиксили". В общем, если кто-то хочет 1С, но вводить нормально товар не хочет, то или мусор в справочнике или пустые строки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |