Регистрация  |  Вход

Помогите разобраться с Apex Class

Всем привет, помогите разобраться, что то я делаю не так и постоянные ошибки в коде, сколько не правил, не получается. Страницу VF написал вот её листинг:

<apex:page controller="StoreFrontController" tabStyle="storage_of_goods__c">
<apex:pageBlock title="Наша продукция">
<apex:pageBlockSection columns="1">
<apex:pageBlockTable value="{!products}" var="pitem">
<apex:column headerValue="Наименование товара">
<apex:outputText value="{!pitem.Name}"/>
</apex:column>
<apex:column headerValue="Имя">
<apex:outputText value="{!pitem.name__c}"/>
</apex:column>
<apex:column headerValue="Тип">
<apex:outputField value="{!pitem.type__c}"/>
</apex:column>
<apex:column headerValue="Цена">
<apex:outputField value="{!pitem.price__c}"/>
</apex:column>
<apex:column headerValue="Количество">
<apex:outputField value="{!pitem.count__c}"/>
</apex:column>
<apex:column headerValue="Дата поступления">
<apex:outputField value="{!pitem.DataADD__c}"/>
</apex:column>
<apex:column headerValue="Дата выпуска">
<apex:outputField value="{!pitem.DataPROD__c}"/>
</apex:column>
<apex:column headerValue="Наличие товара">
<apex:outputField value="{!pitem.Availability__c}"/>
</apex:column>
</apex:pageBlockTable>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:page>

и вот код apex class
public class StoreFrontController {

List<Displaystorage_of_goods> products;

public List<Displaystorage_of_goods> getProducts() {
if(products == null) {
products = new List<Displaystorage_of_goods>();
for(storage_of_goods__c item : [
SELECT Id, name__c, count__c, price__c, DataADD__c, DataPROD__c, type__c
FROM storage_of_goods__c]) {
products.add(new Displaystorage_of_goods(item));
}
}
return products;
}

// Inner class to hold online store details for item
public class Displaystorage_of_goods {

private storage_of_goods__c storage_of_goods;
public Displaystorage_of_goods(storage_of_goods__c item) {
this.storage_of_goods = item;
}

// Properties for use in the Visualforce view
public String name {
get { return storage_of_goods.name__c; }
}
public Decimal count {
get { return storage_of_goods.count__c; }
}
public Decimal price {
get { return storage_of_goods.price__c; }
}
public Boolean Availability {
get { return storage_of_goods.Availability__c; }
}
public Date DataADD {
get { return storage_of_goods.DataADD__c; }
}

public Date DataPROD {
get { return storage_of_goods.DataPROD__c; }
}

public String type {
get { return storage_of_goods.type__c; }
}
}
}


сначала ругается на типы данных Date
а потом вообще вот такое выбил:
Unknown property 'StoreFrontController.Displaystorage_of_goods.name__c'
с этой ошибкой я справиться не смог.
вот скрин с моими полями:
[img]http://www.picshare.ru/view/5326195/[/img]

Всем привет, помогите разобраться, что то я делаю не так и постоянные ошибки в коде, сколько не правил, не получается. Страницу VF написал вот её листинг:
[code]<apex:page controller="StoreFrontController" tabStyle="storage_of_goods__c">
    <apex:pageBlock title="Наша продукция">
        <apex:pageBlockSection columns="1">
            <apex:pageBlockTable value="{!products}" var="pitem">
                <apex:column headerValue="Наименование товара">
                    <apex:outputText value="{!pitem.Name}"/>
                </apex:column>
                <apex:column headerValue="Имя">
                    <apex:outputText value="{!pitem.name__c}"/>
                </apex:column>    
                <apex:column headerValue="Тип">
                    <apex:outputField value="{!pitem.type__c}"/>
                </apex:column>
                <apex:column headerValue="Цена">
                    <apex:outputField value="{!pitem.price__c}"/>
                </apex:column>
                <apex:column headerValue="Количество">
                    <apex:outputField value="{!pitem.count__c}"/>
                </apex:column>
                <apex:column headerValue="Дата поступления">
                    <apex:outputField value="{!pitem.DataADD__c}"/>
                </apex:column>
                <apex:column headerValue="Дата выпуска">
                    <apex:outputField value="{!pitem.DataPROD__c}"/>
                </apex:column>
                <apex:column headerValue="Наличие товара">
                    <apex:outputField value="{!pitem.Availability__c}"/>
                </apex:column>
            </apex:pageBlockTable>
        </apex:pageBlockSection>
       </apex:pageBlock>
    </apex:page>[/code]
и вот код apex class
[code]
public class StoreFrontController {

    List<Displaystorage_of_goods> products;
    
    public List<Displaystorage_of_goods> getProducts() {
        if(products == null) {
            products = new List<Displaystorage_of_goods>();
            for(storage_of_goods__c item : [
                    SELECT Id, name__c, count__c, price__c, DataADD__c, DataPROD__c, type__c 
                    FROM storage_of_goods__c]) {
                products.add(new Displaystorage_of_goods(item));
            }
        }
        return products;
    }
    
    // Inner class to hold online store details for item
    public class Displaystorage_of_goods {

        private storage_of_goods__c storage_of_goods;
        public Displaystorage_of_goods(storage_of_goods__c item) {
            this.storage_of_goods = item;
        }

        // Properties for use in the Visualforce view
        public String name {
            get { return storage_of_goods.name__c; }
        }
        public Decimal count {
            get { return storage_of_goods.count__c; }
        }
        public Decimal price {
            get { return storage_of_goods.price__c; }
        }
        public Boolean Availability {
            get { return storage_of_goods.Availability__c; }
        }
        public Date DataADD {
            get { return storage_of_goods.DataADD__c; }
        }
        
        public Date DataPROD {
            get { return storage_of_goods.DataPROD__c; }
        }
        
        public String type {
            get { return storage_of_goods.type__c; }
        }
     }
}
[/code]
сначала ругается на типы данных Date
а потом вообще вот такое выбил:
Unknown property 'StoreFrontController.Displaystorage_of_goods.name__c'	
с этой ошибкой я справиться не смог.
вот скрин с моими полями:
[img]http://www.picshare.ru/view/5326195/[/img]

А как ты думаешь StoreFrontController.Displaystorage_of_goods.name__c видна на странице ? и объясни почему.

Кроме этого считается очень плохой привычной давать лейблы полям не в локали пользователя. Я так понимаю локаль у тебя английская я лейблы у тебя на русском. В последствеии отгребешь кучу гемороя с правильным переводом.

А как ты думаешь [b]StoreFrontController.Displaystorage_of_goods.name__c[/b] видна на странице ? и объясни почему.

Кроме этого считается очень плохой привычной давать лейблы полям не в локали пользователя. Я так понимаю локаль у тебя английская я лейблы у тебя на русском. В последствеии отгребешь кучу гемороя с правильным переводом.

честно говоря, думаю что нет, но почему не знаю. Что значит не в локали пользователя??, лейблы по-переименовывал.

честно говоря, думаю что нет, но почему не знаю. Что значит не в локали пользователя??, лейблы по-переименовывал.

не странице отображается ошибка: is in expression '{!pitem.name__c}' in component <apex:outputText> in page catalog, что ошибка в выражении, а как её исправить, не понимаю
я уже несколько раз всё переделывал, опираясь на workbook, там показано так, но вот у меня беда

не странице отображается ошибка: is in expression '{!pitem.name__c}' in component <apex:outputText> in page catalog, что ошибка в выражении, а как её исправить, не понимаю
я уже несколько раз всё переделывал, опираясь на workbook, там показано так, но вот у меня беда 

eneko
честно говоря, думаю что нет, но почему не знаю. Что значит не в локали пользователя??, лейблы по-переименовывал.

1. У тебя переменная к которой ты пытаешься обратиться на прямую private storage_of_goods__c storage_of_goods; пока не сделаешь ее публичной ничего не получится.

2. Если ваша организация использует английскую локаль по умолчанию, то и все лейблы должны быть в этой локали.

[quote="eneko"]честно говоря, думаю что нет, но почему не знаю. Что значит не в локали пользователя??, лейблы по-переименовывал.[/quote]

1. У тебя переменная к которой ты пытаешься обратиться на прямую [b]private storage_of_goods__c storage_of_goods;[/b] пока не сделаешь ее публичной ничего не получится.

2. Если ваша организация использует английскую локаль по умолчанию, то и все лейблы должны быть в этой локали. 

а ещё скажите пожалуйста почему ругается на тип данных Date:
Return value must be of type: Date

а ещё скажите пожалуйста почему ругается на тип данных Date: 
Return value must be of type: Date 

wilder
eneko
честно говоря, думаю что нет, но почему не знаю. Что значит не в локали пользователя??, лейблы по-переименовывал.

1. У тебя переменная к которой ты пытаешься обратиться на прямую private storage_of_goods__c storage_of_goods; пока не сделаешь ее публичной ничего не получится.

2. Если ваша организация использует английскую локаль по умолчанию, то и все лейблы должны быть в этой локали.


сделал её public, проблему это не решило

[quote="wilder"][quote="eneko"]честно говоря, думаю что нет, но почему не знаю. Что значит не в локали пользователя??, лейблы по-переименовывал.[/quote]

1. У тебя переменная к которой ты пытаешься обратиться на прямую [b]private storage_of_goods__c storage_of_goods;[/b] пока не сделаешь ее публичной ничего не получится.

2. Если ваша организация использует английскую локаль по умолчанию, то и все лейблы должны быть в этой локали.[/quote]
сделал её public, проблему это не решило

eneko
http://www.picshare.ru/view/5326195/

Я задам один вопрос. Сколько времени ты в salesforce ?

DataAdd__c имеет тип Date/Time а ты пытаешься вернуть Date.

[quote="eneko"]http://www.picshare.ru/view/5326195/[/quote]

Я задам один вопрос. Сколько времени ты в salesforce ?

DataAdd__c имеет тип Date/Time а ты пытаешься вернуть Date.

eneko
wilder
eneko
честно говоря, думаю что нет, но почему не знаю. Что значит не в локали пользователя??, лейблы по-переименовывал.

1. У тебя переменная к которой ты пытаешься обратиться на прямую private storage_of_goods__c storage_of_goods; пока не сделаешь ее публичной ничего не получится.

2. Если ваша организация использует английскую локаль по умолчанию, то и все лейблы должны быть в этой локали.


сделал её public, проблему это не решило

А get для переменной я буду делать ?

[quote="eneko"][quote="wilder"][quote="eneko"]честно говоря, думаю что нет, но почему не знаю. Что значит не в локали пользователя??, лейблы по-переименовывал.[/quote]

1. У тебя переменная к которой ты пытаешься обратиться на прямую [b]private storage_of_goods__c storage_of_goods;[/b] пока не сделаешь ее публичной ничего не получится.

2. Если ваша организация использует английскую локаль по умолчанию, то и все лейблы должны быть в этой локали.[/quote]
сделал её public, проблему это не решило[/quote]

А get для переменной я буду делать ?

я очень извиняюсь, но я вас немного не понимаю, вы бы не могли более подробно объяснить

я очень извиняюсь, но я вас немного не понимаю, вы бы не могли более подробно объяснить

eneko
я очень извиняюсь, но я вас немного не понимаю, вы бы не могли более подробно объяснить

Дано
private storage_of_goods__c storage_of_goods;

Должно быть
public storage_of_goods__c storage_of_goods { get; set; }

[quote="eneko"]я очень извиняюсь, но я вас немного не понимаю, вы бы не могли более подробно объяснить[/quote]

[b]Дано[/b]
private storage_of_goods__c storage_of_goods;

[b]Должно быть[/b] 
public storage_of_goods__c storage_of_goods { get; set; }

а на счёт типа данных дата, зкажете что-нибудь хорошее

а на счёт типа данных дата, зкажете что-нибудь хорошее

eneko
а на счёт типа данных дата, зкажете что-нибудь хорошее

Посмотри пару постов выше, плиз

[quote="eneko"]а на счёт типа данных дата, зкажете что-нибудь хорошее[/quote]
Посмотри пару постов выше, плиз

хорошо спасибо, огромное спасибо, надеюсь не сильно достал

хорошо спасибо, огромное спасибо, надеюсь не сильно достал

wilder
eneko
а на счёт типа данных дата, зкажете что-нибудь хорошее

Посмотри пару постов выше, плиз

честно говоря не нашёл

[quote="wilder"][quote="eneko"]а на счёт типа данных дата, зкажете что-нибудь хорошее[/quote]
Посмотри пару постов выше, плиз[/quote]
честно говоря не нашёл

eneko
wilder
eneko
а на счёт типа данных дата, зкажете что-нибудь хорошее

Посмотри пару постов выше, плиз

честно говоря не нашёл

есть
Date dateVar;

a есть
Datetime datetimeVar;

DataAdd__c имеет тип Date/Time а ты пытаешься вернуть Date.

[quote="eneko"][quote="wilder"][quote="eneko"]а на счёт типа данных дата, зкажете что-нибудь хорошее[/quote]
Посмотри пару постов выше, плиз[/quote]
честно говоря не нашёл[/quote]
есть 
[code]Date dateVar;[/code]
a есть
[code]Datetime datetimeVar;[/code]

[code]DataAdd__c имеет тип Date/Time а ты пытаешься вернуть Date.[/code]

eneko
хорошо спасибо, огромное спасибо, надеюсь не сильно достал

вначале все так маялись.
хорошо что wilder с одного взгляда находит ошибки, я тоже сразу не мог понять, почему нейм_с не выходит.

[quote="eneko"]хорошо спасибо, огромное спасибо, надеюсь не сильно достал[/quote]

вначале все так маялись.
хорошо что wilder с одного взгляда находит ошибки, я тоже сразу не мог понять, почему нейм_с не выходит.

Den Brown
eneko
хорошо спасибо, огромное спасибо, надеюсь не сильно достал

вначале все так маялись.
хорошо что wilder с одного взгляда находит ошибки, я тоже сразу не мог понять, почему нейм_с не выходит.

Я просто однажды с такой же хренью, часа 2 просидел. В те махровые времена когда еще эклипс не подсказывал этого.

[quote="Den Brown"][quote="eneko"]хорошо спасибо, огромное спасибо, надеюсь не сильно достал[/quote]

вначале все так маялись.
хорошо что wilder с одного взгляда находит ошибки, я тоже сразу не мог понять, почему нейм_с не выходит.[/quote]

Я просто однажды с такой же хренью, часа 2 просидел. В те махровые времена когда еще эклипс не подсказывал этого.

wilder
В те махровые времена когда еще эклипс не подсказывал этого.

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

[quote="wilder"]В те махровые времена когда еще эклипс не подсказывал этого.[/quote]

а я пилю контроллеры прям в браузере, в отличие от тригеров, прочих классов и тестов. Мне до сих пор никто не подсказывает это... не знаю :( или :) мне 

wilder
В те махровые времена когда еще эклипс не подсказывал этого.

Эклипс научился что-то подсказывать?

[quote="wilder"] В те махровые времена когда еще эклипс не подсказывал этого.[/quote]
Эклипс научился что-то подсказывать?

Gres
wilder
В те махровые времена когда еще эклипс не подсказывал этого.

Эклипс научился что-то подсказывать?

Да. вроде в последней верии не дает сохранить страницу, если в ней есть переменная, которая не видна на этой странице.

[quote="Gres"][quote="wilder"] В те махровые времена когда еще эклипс не подсказывал этого.[/quote]
Эклипс научился что-то подсказывать?[/quote]

Да. вроде в последней верии не дает сохранить страницу, если в ней есть переменная, которая не видна на этой странице.

Столкнулся с той же проблемой, переменная публичная, get; set; добавил, все равно выдает Unknown property. Что не так, как решить этот вопрос?

Столкнулся с той же проблемой, переменная публичная, get; set; добавил, все равно выдает Unknown property. Что не так, как решить этот вопрос?

Milton
Столкнулся с той же проблемой, переменная публичная, get; set; добавил, все равно выдает Unknown property. Что не так, как решить этот вопрос?

Код в студию и сообщение об ошибке тоже и лучше как скриншот.

[quote="Milton"]Столкнулся с той же проблемой, переменная публичная, get; set; добавил, все равно выдает Unknown property. Что не так, как решить этот вопрос?[/quote]

Код в студию и сообщение об ошибке тоже и лучше как скриншот.

Согласен, вопрос совсем не конкретный. По нему можно понять только что salesforce неправильно работает Но обычно он работает правильно

Согласен, вопрос совсем не конкретный. По нему можно понять только что salesforce неправильно работает :D Но обычно он работает правильно :D 

wilder
Milton
Столкнулся с той же проблемой, переменная публичная, get; set; добавил, все равно выдает Unknown property. Что не так, как решить этот вопрос?

Код в студию и сообщение об ошибке тоже и лучше как скриншот.


Dmitry Shnyrev
Согласен, вопрос совсем не конкретный. По нему можно понять только что salesforce неправильно работает Но обычно он работает правильно :D

Спасибо за отклик. Посидел пару часов, подумал, пересмотрел код и сам нашел ошибку. Поэтому уже не актуально)

[quote="wilder"][quote="Milton"]Столкнулся с той же проблемой, переменная публичная, get; set; добавил, все равно выдает Unknown property. Что не так, как решить этот вопрос?[/quote]

Код в студию и сообщение об ошибке тоже и лучше как скриншот.[/quote]
[quote="Dmitry Shnyrev"]Согласен, вопрос совсем не конкретный. По нему можно понять только что salesforce неправильно работает :D Но обычно он работает правильно :D[/quote]

Спасибо за отклик. Посидел пару часов, подумал, пересмотрел код и сам нашел ошибку. Поэтому уже не актуально)