Имя: Пароль:
1C
1С v8
ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
0 Farid0516
 
11.12.21
00:00
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    ОформлениеСтроки.Ячейки.Штрихкод.Значение=ДанныеСтроки.единица.штрихкод;
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ДанныеСтроки.единица.ТипЦен3.Текущаядата();
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=ДанныеСтроки.единица.ТипЦен4.Текущаядата();
КонецПроцедуры
1 Farid0516
 
11.12.21
00:03
Привет. Мне нужно просто отразить Значение типцены3 и типцены4. Для удобного просмотра. Пожалуйста помогите. Я не очень хорошо говорю по-русски, извините за это.
2 Farid0516
 
11.12.21
00:03
{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(124)}: Поле объекта не обнаружено (ТипЦен3)
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ДанныеСтроки.единица.ТипЦен3.Текущаядата();
3 Farid0516
 
11.12.21
00:12
Пожалуйста помогите.
4 Толич
 
11.12.21
00:20
"ТипЦен3" это реквизит?
5 Farid0516
 
11.12.21
00:22
(4) Да
6 Farid0516
 
11.12.21
00:26
Позволь мне объяснить. Есть 2 рынка. Каждый использует свой тип цены. Я хочу видеть цену, используемую другим магазином для нашего собственного магазина, в документе о покупке.
7 Толич
 
11.12.21
00:26
Форма управляемая?
Действие происходит на клиенте?
8 Farid0516
 
11.12.21
00:30
(7) Да
9 Толич
 
11.12.21
00:35
ОформлениеСтроки.Ячейки.Штрихкод.Значение=ДанныеСтроки.единица.штрихкод;
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ДанныеСтроки.единица.ТипЦен3.Текущаядата();
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=ДанныеСтроки.единица.ТипЦен4.Текущаядата();

change

ОформлениеСтроки.Ячейки.Штрихкод.Значение=ДанныеСтроки.единица.штрихкод;
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ВернутьТекДатуТИпЦен3(ДанныеСтроки.единица);
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=ВернутьТекДатуТИпЦен4(ДанныеСтроки.единица);


add below

&НаСервере
Функция ВернутьТекДатуТИпЦен3(единица)
    Возврат единица.ТипЦен3.Текущаядата();
КонецФункции

&НаСервере
Функция ВернутьТекДатуТИпЦен4(единица)
    Возврат единица.ТипЦен4.Текущаядата();
КонецФункции
10 Толич
 
11.12.21
00:39
Вот только смущает, что на поле "штрихкод" не заругалось.

Текущаядата() - это экспортная функция в модуле менеджера скорее всего в справочнике "тип цен", но одноименная функция является системной. Очень все это смущает.
11 Farid0516
 
11.12.21
00:41
{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(124,49)}: Процедура или функция с указанным именем не определена (ВернутьТекдатуТИпЦен3)
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=<<?>>ВернутьТекдатуТИпЦен3(ДанныеСтроки.единица); (Проверка: Толстый клиент (обычное приложение))
{Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(125,53)}: Процедура или функция с указанным именем не определена (ВернутьТекдатуТИпЦен4)
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=<<?>>ВернутьТекдатуТИпЦен4(ДанныеСтроки.единица); (Проверка: Толстый клиент (обычное приложение))
12 Farid0516
 
11.12.21
07:41
Процедура ИзмЕдин(док,стр)экспорт
    стр.коэффициент=стр.единица.коэффициент;
    Если Док.ТипЦен=1 Тогда
        стр.DigərMaxiAlış=стр.товар.ТипЦен3;
        стр.DigərMaxiSatış=стр.товар.ТипЦен4;
    Иначеесли Док.ТипЦен=3 Тогда
        стр.DigərMaxiAlış=стр.товар.ТипЦен1;
        стр.DigərMaxiSatış=стр.товар.ТипЦен2;
    КонецЕсли;
            /////////..............
КонецПроцедуры
13 Farid0516
 
11.12.21
07:41
Общие модули РаботаСТЧДокумента
14 Farid0516
 
11.12.21
07:44
Не работает. Как исправить? :(
15 Farid0516
 
11.12.21
08:57
Пожалуйста помогите (((
16 Ёпрст
 
11.12.21
09:40
(0) Покажи картинку с формой в пофигураторе, для начала.
17 Ёпрст
 
11.12.21
09:41
это что б понимать, УФ у тебя или ОФ..
18 Farid0516
 
11.12.21
10:00
19 hhhh
 
11.12.21
10:00
(15) у тебя Толстый клиент (обычное приложение))

поэтому все строчки типа &НаКлиенте, &НаСервере  выкинь. Они для тонкого клиента. Только мешаются.
20 Farid0516
 
11.12.21
10:01
Мне нада почти это

Если Док.ТипЦен=1 Тогда
        стр.DigərMaxiAlış=стр.товар.ТипЦен3;
        стр.DigərMaxiSatış=стр.товар.ТипЦен4;
    Иначеесли Док.ТипЦен=3 Тогда
        стр.DigərMaxiAlış=стр.товар.ТипЦен1;
        стр.DigərMaxiSatış=стр.товар.ТипЦен2;
21 Farid0516
 
11.12.21
10:03
стр.DigərMaxiAlış и стр.DigərMaxiSatış  нада толко Я вижу
22 Farid0516
 
11.12.21
10:04
(19) все НаКлиенте
23 Kassern
 
11.12.21
10:11
(0) "ДанныеСтроки.единица.ТипЦен3.Текущаядата(); " - так цены на текущую дату нельзя получать.
Делайте запрос в регистру цен на нужную дату с указанием нужного вида цен
24 hhhh
 
11.12.21
10:14
(22) вот же у тебя

&НаСервере

Функция ВернутьТекДатуТИпЦен4(единица)


зачем врешь?
25 Ёпрст
 
11.12.21
10:19
(20)
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    ОформлениеСтроки.Ячейки.Штрихкод.Значение=ДанныеСтроки.единица.штрихкод;
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ДанныеСтроки.единица.ТипЦен3;
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=ДанныеСтроки.единица.ТипЦен4;
КонецПроцедуры
26 Kassern
 
11.12.21
10:21
(24) какой клиент/сервер, когда там (Проверка: Толстый клиент (обычное приложение))
27 hhhh
 
11.12.21
11:09
(26) если обычное приложение, почему у него не видит функцию, которая &НаСервере?

&НаСервере

Функция ВернутьТекДатуТИпЦен4(единица)

Процедура или функция с указанным именем не определена (ВернутьТекдатуТИпЦен4)
28 Kassern
 
11.12.21
11:14
(27) потому что ее нет у него
29 hhhh
 
11.12.21
11:20
(15) что конкретно не работает? Ошибки какие-то?
30 Farid0516
 
11.12.21
12:31
(29) {ОбщийМодуль.РаботаСТЧДокумента.Модуль(173,7)}: Переменная не определена (ТипЦен)
    Если <<?>>ТипЦен.Док=1 Тогда (Проверка: Толстый клиент (обычное приложение))
{ОбщийМодуль.РаботаСТЧДокумента.Модуль(176,12)}: Переменная не определена (ТипЦен)
    Иначеесли <<?>>ТипЦен.Док=3 Тогда (Проверка: Толстый клиент (обычное приложение))
31 Kassern
 
11.12.21
12:37
(30) вам походу надо с азов изучать 1с, то что вы пищите "ТипЦен.Док=1" это вообще мимо.
32 Kassern
 
11.12.21
12:37
*пишите
33 Kassern
 
11.12.21
12:39
поэтому вам тут вряд ли подскажут, только есть с нуля все для вас напишут.
34 Ёпрст
 
11.12.21
15:38
(30) как в (25) работает хоть ?
35 Farid0516
 
11.12.21
16:50
КодЦены = УправлениеНоменклатурой.ОновлениеЦены(стр.товар,Док.ТипЦен,стр.единица,док.Дата);
    Если Док.ТипЦен("КодЦен1") Тогда
        стр.DigərMaxiAlış=стр.товар.ТипЦен("КодЦен3");
        стр.DigərMaxiSatış=стр.товар.ТипЦен("КодЦен4");
    Иначеесли Док.ТипЦен("КодЦен3") Тогда
        стр.DigərMaxiAlış=стр.товар.ТипЦен("КодЦен1");
        стр.DigərMaxiSatış=стр.товар.ТипЦен("КодЦен2");
    КонецЕсли;
36 Farid0516
 
11.12.21
16:51
РаботаСТЧДокумента Модул.
37 Farid0516
 
11.12.21
16:52
(34) не работает
38 Ёпрст
 
11.12.21
17:12
(37) че пишет ?
39 Farid0516
 
11.12.21
17:22
(38) Только встречные цены не появляются. Никаких ошибок не пишет.
40 Farid0516
 
11.12.21
17:28
а можно пиши Процедура ПолучитьЦену в ФормаДокумента модул?
41 hhhh
 
11.12.21
19:18
(40) в 1с есть отладчик, вам надо пошагово пройти по тексту с отладчиком. И еще там в отладчике есть "Останавливаться по ошибке", программа у вас остановится на этой строчке, и вы просмотрите все переменные в момент ошибки.
42 Farid0516
 
11.12.21
19:40
(41) Синтаксических ошибок не обнаружено!
43 hhhh
 
11.12.21
21:20
(42) я ничего не писал про синтаксические ошибки.
44 Farid0516
 
12.12.21
12:43
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    ОформлениеСтроки.Ячейки.Штрихкод.Значение=ДанныеСтроки.единица.штрихкод;
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=ДанныеСтроки.Цена(док.Автор.DigərMaxiSatış);
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ДанныеСтроки.Цена(док.Автор.DigərMaxiAlış);
КонецПроцедуры
45 Farid0516
 
12.12.21
12:44
Я добавил эти типы цен пользователям. Что здесь не так?
46 Мимохожий Однако
 
12.12.21
12:52
(45) см (41)
47 Farid0516
 
12.12.21
12:56
(46) {Документ.ПоступлениеТоваров.Форма.ФормаДокумента.Форма(120)}: Поле объекта не обнаружено (DigərMaxiAlış)
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ДанныеСтроки.единица.DigərMaxiAlış;
48 hhhh
 
12.12.21
13:07
(47) ну в меню отладка поставь точку останова на этой твоей строчке, запусти программу, она там остановится, и посмотри там эти 2 поля:

ДанныеСтроки.единица.DigərMaxiAlış
ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение

чему они равны?
49 hhhh
 
12.12.21
13:10
(47) скорее всего у тебя в единице измерения нет такого поля DigərMaxiAlış. Ты в справочник единицы измерения добавлял такой реквизит? DigərMaxiAlış ?
50 Farid0516
 
12.12.21
14:10
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    ОформлениеСтроки.Ячейки.Штрихкод.Значение=ДанныеСтроки.единица.штрихкод;
    DigərMaxiAlış=УправлениеПользователями.ЗначениеПоУмолчания("DigərMaxiAlış");
    DigərMaxiSatış=УправлениеПользователями.ЗначениеПоУмолчания("DigərMaxiSatış");
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=DigərMaxiAlış;
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=DigərMaxiSatış;
КонецПроцедуры
51 Farid0516
 
12.12.21
14:11
Почти готово. Пишется только название типа цены. Цена товара в строке не написана.
52 Farid0516
 
12.12.21
14:19
53 hhhh
 
12.12.21
15:07
(50) ты же туда и выводишь название типа цены. Оно и пишет название типа цены. Правильно программа отрабатывает.
54 Мимохожий Однако
 
12.12.21
15:22
(53) Это он хвастался )
55 Farid0516
 
12.12.21
17:44
(54) НЕТ )
56 Farid0516
 
12.12.21
21:01
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    ОформлениеСтроки.Ячейки.Штрихкод.Значение=ДанныеСтроки.единица.штрихкод;
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ДанныеСтроки.ТипыЦен("m2alish");
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=ДанныеСтроки.ТипыЦен("m2satish");
    
    
    
    /////ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=УправлениеНоменклатурой.ПолучитьСтруктураЦена(ДанныеСтроки.Ссылка,ДокументОбъект.Автор.DigərMaxiAlış,ДокументОбъект.Дата);
    //ТипЦен=УправлениеПользователями.ЗначениеПоУмолчания("DigərMaxiAlış");
    //ОформлениеСтроки.ячейки.DigərMaxiAlış.Значение=Строка(ПолучитьЦена(ДанныеСтроки.Номенклатура,ТипЦен,ТекущаяДата())  );    
КонецПроцедуры
57 Farid0516
 
12.12.21
21:02
Все они мусор. Помоги мне. Я не знаю что делать
58 acht
 
12.12.21
21:48
(57) Попробуй пройти курсы по 1С. Их сейчас уже достаточно много.
59 hhhh
 
12.12.21
21:55
(57) вот это похоже на правду у тебя

   //ТипЦен=УправлениеПользователями.ЗначениеПоУмолчания("DigərMaxiAlış");

    //ОформлениеСтроки.ячейки.DigərMaxiAlış.Значение=Строка(ПолучитьЦена(ДанныеСтроки.Номенклатура,ТипЦен,ТекущаяДата())  );
60 Farid0516
 
12.12.21
22:25
(58) Вы преподаете урок. Я лучше понимаю так. веди меня. Или например. Также спасибо за вашу помощь.
61 Farid0516
 
12.12.21
22:33
(59) Не работает
62 hhhh
 
12.12.21
22:37
(61) если не работает, то надо отлаживать, вы отладчиком научились пользоваться?
63 acht
 
13.12.21
00:04
(60) Чем ты отличаешся от 100500 людей, проходящих курсы?
64 Farid0516
 
13.12.21
15:08
(62) Нет (
65 Farid0516
 
13.12.21
15:09
(63) Я пытаюсь. Stock Manager. У меня нет времени.
66 Farid0516
 
13.12.21
15:11
Проблемы, с которыми мне нужна ваша помощь, связаны с моей работой. В то же время писать код - это весело. Мне просто нужна помощь. Вы уже помогли. Большое вам спасибо за это.
67 Farid0516
 
13.12.21
19:09
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    ОформлениеСтроки.Ячейки.Штрихкод.Значение=ДанныеСтроки.единица.штрихкод;
    DigərQiymətA=УправлениеПользователями.ЗначениеПоУмолчания("DigərMaxiAlış");
    DigərQiymətS=УправлениеПользователями.ЗначениеПоУмолчания("DigərMaxiSatış");
    ОформлениеСтроки.Ячейки.DigərMaxiAlış.Значение=ПолучитьЦена(ДанныеСтроки.Товар,ДанныеСтроки.Единица,DigərQiymətA);
    ОформлениеСтроки.Ячейки.DigərMaxiSatış.Значение=ПолучитьЦена(ДанныеСтроки.Товар,ДанныеСтроки.Единица,DigərQiymətS);
        
КонецПроцедуры
68 Farid0516
 
13.12.21
19:10
Работает!!! Спасибо
69 Ёпрст
 
13.12.21
19:26
(67) вот эту хрень
DigərQiymətA=УправлениеПользователями.ЗначениеПоУмолчания("DigərMaxiAlış");
    DigərQiymətS=УправлениеПользователями.ЗначениеПоУмолчания("DigərMaxiSatış");

получай снаружи, потом просто используй в ПриВыводе
70 Ёпрст
 
13.12.21
19:27
Иначе, своим кодом можешь очень сильно замедлить свой список, и при листании, открытии тормоза обеспечены.
ПолучитьЦена ..тут тоже, могут быть тормоза
71 Farid0516
 
13.12.21
19:39
(70) Как вы посоветуете мне написать? Я не профессионал. я любитель
72 Farid0516
 
13.12.21
23:33
Если ЕстьРеквизитТЧ(Док,"DigərMaxiAlış")<>неопределено Тогда
        Если  значениезаполнено(Док.Автор.ПротивЗакупочныйТипЦен)  Тогда
            СтруктураЦены = УправлениеНоменклатурой.ПолучитьСтруктураЦена(стр.товар,Док.Автор.ПротивЗакупочныйТипЦен,стр.единица,док.Дата);
            Если СтруктураЦены<>неопределено Тогда
                ценацены=СтруктураЦены.цена;
                Валютацены=СтруктураЦены.Валюта;
                Единицацены=СтруктураЦены.Единица;
                Если (значениезаполнено(ценацены)и значениезаполнено(Валютацены)и значениезаполнено(Единицацены)) Тогда
                    ценацены=ценацены*стр.коэффициент/ Единицацены. коэффициент;
                    ценацены=МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(ценацены,Валютацены,док.валюта,МодульВалютногоУчета.ПолучитьКурсВалюты(Валютацены,док.дата).курс,док.курс);
                    стр.DigərMaxiAlış= ценацены;
                КонецЕсли;    
            КонецЕсли;
        КонецЕсли;                
    КонецЕсли;
    
    Если ЕстьРеквизитТЧ(Док,"DigərMaxiSatış")<>неопределено Тогда
        Если  значениезаполнено(Док.Автор.ПротивРозничныйТипЦен)  Тогда
            СтруктураЦены = УправлениеНоменклатурой.ПолучитьСтруктураЦена(стр.товар,Док.Автор.ПротивРозничныйТипЦен,стр.единица,док.Дата);
            Если СтруктураЦены<>неопределено Тогда
                ценацены=СтруктураЦены.цена;
                Валютацены=СтруктураЦены.Валюта;
                Единицацены=СтруктураЦены.Единица;
                Если (значениезаполнено(ценацены)и значениезаполнено(Валютацены)и значениезаполнено(Единицацены)) Тогда
                    ценацены=ценацены*стр.коэффициент/ Единицацены. коэффициент;
                    ценацены=МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(ценацены,Валютацены,док.валюта,МодульВалютногоУчета.ПолучитьКурсВалюты(Валютацены,док.дата).курс,док.курс);
                    стр.DigərMaxiSatış= ценацены;
                КонецЕсли;    
            КонецЕсли;
        КонецЕсли;                
    КонецЕсли;
73 Farid0516
 
13.12.21
23:36
Все готов. Проста нада когда открите бывший документ, обновит толко 2 строка (DigərMaxiSatış и DigərMaxiAlış)
74 Farid0516
 
14.12.21
07:42
Доброе утро. Помоги мне для обновит толко 2 строка
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан