|
Отбор по Типу значений | ☑ | ||
---|---|---|---|---|
0
Nemirov
14.07.20
✎
15:48
|
В общих модулях есть такая функция, ее логикой пользуются много документов, но для документа заказ ее переделать немного что бы другие данные передавать. Но так как у нас ссылка документа или хотя бы тип документа не передается, то
вот теперь вопрос такой: как сделать условие в этой функции вроде такого ( Если ТипЗначений ДокументСсылка.Заказ тогда "переделаный код" Иначе "Тот код который ниже функции представлен")? Вроде ответ кажется легким, но чет пол дня не могу доехать до него. Функция ПолучитьКолонкаАртикулКодЗначение(Колонки,НаДату = Неопределено,Номенклатура,ЕдиницаИзмерения = Неопределено,Контрагент = Неопределено,Договор = Неопределено,Характеристика = Неопределено,АртикулПоставщика="",ЗаменаДляОтчетов="") Экспорт Результат = ""; Если Колонки.Код Тогда Результат = Результат+?(Результат="","","/")+Номенклатура.Код; КонецЕсли; Если Колонки.Артикул Тогда Результат = Результат+?(Результат="","","/")+Номенклатура.Артикул; Иначе Результат =""; КонецЕсли; Если Колонки.ШтрихКод Тогда Если ЗначениеЗаполнено(Характеристика) И ОбщегоНазначения.ПолучитьЗначениеРеквизита(Номенклатура,"ВестиУчетПоХарактеристикам") Тогда ШтрихКод = ОмШтриховыеКоды.ПолучитьШтрихКод(Номенклатура,Характеристика,ЕдиницаИзмерения); Иначе ШтрихКод = ОмРаботаСоСвойствамиОбъектов.ПолучитьЗначениеСвойстваОбъекта(Номенклатура,ПланыВидовХарактеристик.СвойстваОбъектов.ОсновнойШК); КонецЕсли; Результат = Результат+?(Результат="","","/")+ШтрихКод; КонецЕсли; АртикулНаименованиеПоставщика=ПолучитьАртикулНаименованиеПоставщика(НаДату,Номенклатура,ЕдиницаИзмерения,Контрагент,Договор,Характеристика,Колонки.АртикулПоставщика,Колонки.НаименованиеПоставщика); Если АртикулНаименованиеПоставщика<>"" Тогда Результат = Результат+?(Результат="","","/")+АртикулНаименованиеПоставщика; Результат = Результат+?(Результат="","","/")+АртикулНаименованиеПоставщика; КонецЕсли; Если Колонки.ИДВнешнейСистемы Тогда Результат = Результат+?(Результат="","","/")+Номенклатура.ИДВнешнейСистемы; КонецЕсли; Возврат ?(ЗаменаДляОтчетов<>"",ЗаменаДляОтчетов,Результат); КонецФункции |
|||
1
Nemirov
14.07.20
✎
15:49
|
1с предприятие 8.3. форма обычная.
|
|||
2
unbred
14.07.20
✎
15:50
|
у тебя решение в вопросе есть ТипЗнч()
|
|||
3
Nemirov
14.07.20
✎
15:52
|
(2) что мне передать в типзнач()?
|
|||
4
unbred
14.07.20
✎
15:53
|
передай туда ctrl+f1
|
|||
5
Nemirov
14.07.20
✎
15:53
|
(4) Очень смешно
|
|||
6
acht
14.07.20
✎
15:56
|
(5) Он тебя обманывает, Alt+F4 попробуй
|
|||
7
unbred
14.07.20
✎
15:56
|
||||
8
Nemirov
14.07.20
✎
16:03
|
(7) Да блин вы хотя бы код посмотрите если хотите помочь, откуда я объект для сравнения возьму там только переменные номенклатура, характеристика и договор передаются в этой функции?! Что мне сравнивать? Номенклатуру или справочник.договор )))) Я видел это уже просмотрел. Везде передается переменная, а у меня ее нет! В это и вся сложность!
|
|||
9
hhhh
14.07.20
✎
16:08
|
(8) ну передай тогда туда то, что нужно. А лучше создай отдельную функцию для этих целей, а эту функцию не трогай.
|
|||
10
acht
14.07.20
✎
16:09
|
(8) Так если у тебя ее нет, откуды ты сам знаешь, что это заказ?
|
|||
11
Сияющий Асинхраль
14.07.20
✎
16:09
|
Ну значит передавай в эту функцию еще и признак, чтобы внутри можно было определить какой код тебе нужен, типовой или переданный...
|
|||
12
Nemirov
14.07.20
✎
16:15
|
(11) ТОгда в остальных документах код менять надо будет
|
|||
13
Fedor-1971
14.07.20
✎
16:15
|
(0) Функция ПолучитьКолонкаАртикулКодЗначение(Колонки,НаДату = Неопределено,Номенклатура,ЕдиницаИзмерения = Неопределено,Контрагент = Неопределено,Договор = Неопределено,Характеристика = Неопределено,АртикулПоставщика="",ЗаменаДляОтчетов="", Я_Вызвал_Из_Заказа = Неопределено) Экспорт
Если НЕ Я_Вызвал_Из_Заказа = Неопределено тогда МойНовыйКод() КонецЕсли; Отладчиком остановись в функции и посмотри на параметры, может, где-то есть Ссылка или ещё что-нить, для определения типа документа |
|||
14
Nemirov
14.07.20
✎
16:16
|
(10) Вызывается печатная форма в документе заказ и из этой функции в параметр макета передается значение на выходе из этой функции.
|
|||
15
Nemirov
14.07.20
✎
16:17
|
(13) Спасибо, но придется в каждом документе дописывать описание.
|
|||
16
Fedor-1971
14.07.20
✎
16:17
|
(12) не надо, это необязательный параметр.
Только смотри, при обновлении не грохни |
|||
17
Nemirov
14.07.20
✎
16:17
|
(9) Спасибо как вариант.
|
|||
18
Nemirov
14.07.20
✎
16:17
|
(16) Спасибо
|
|||
19
Сияющий Асинхраль
14.07.20
✎
16:18
|
(12) Не надо. Вот твоя функция:
Функция ПолучитьКолонкаАртикулКодЗначение(Колонки,НаДату = Неопределено,Номенклатура,ЕдиницаИзмерения = Неопределено,Контрагент = Неопределено,Договор = Неопределено,Характеристика = Неопределено,АртикулПоставщика="",ЗаменаДляОтчетов="") Экспорт Обрати внимание, что ее реквизиты определенные по умолчанию: АртикулПоставщика="",ЗаменаДляОтчетов="" при вызове могут быть НЕОПРЕДЕЛЕНЫ. т.е. ты можешь добавить в функцию предопределенный реквизит и он никак не повлияет на уже имеющиеся вызовы... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |