Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
23 Янв 2017, 22:13
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Установка цены в табличную часть  (Прочитано 1070 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн deks500

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-06-04
  • Сайт: 
  • Профессия: Бухгалтер
Здравствуйте, подскажите пожалуйста как обратиться к элементу табличной части(ну я думаю что в этом косяк)
функция установкаЦеныУслуги(Наименование) Экспорт

  Запрос = Новый Запрос;
 
  Запрос.Текст  = "ВЫБРАТЬ
                  | УслугиСрезПоследних.Наименование,
                  | УслугиСрезПоследних.Цена
                  |ИЗ
                  | РегистрСведений.Услуги.СрезПоследних КАК УслугиСрезПоследних
                  |ГДЕ
                  | УслугиСрезПоследних.Наименование = &Наименование" ;
 
Запрос.УстановитьПараметр("Наименование", Элементы.Услуги.ТекущиеДанные.ПолучитьЭлементы(Наименование));  
//ТекДанные = Элементы.Услуги.ТекущиеДанные;
 

Выборка = Запрос.Выполнить().Выбрать();
 
Выборка.Следующий();
 
Возврат Выборка.Цена;

//Стр = Элементы.Товары.ТекущиеДанные;
//Стр.Сумма = Стр.Цена * Стр.Количество;

КонецФункции

&НаКлиенте
Процедура УслугиНаименованиеПриИзменении(Элемент)
Стр = Элементы.Услуги.ТекущиеДанные;
Стр.Цена = установкаЦеныУслуги(Стр.Наименование);
//установкаЦеныУслуги();
КонецПроцедуры


В результате пишет, что "Текущие данные таблицы не доступны на сервере"
Вроде функция выполняется на сервере, потом передается в процедуру на клиенте, что не так?

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Запрос.УстановитьПараметр("Наименование", Элементы.Услуги.ТекущиеДанные.ПолучитьЭлементы(Наименование));


Оффлайн deks500

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-06-04
  • Сайт: 
  • Профессия: Бухгалтер
Запрос.УстановитьПараметр("Наименование", Элементы.Услуги.ТекущиеДанные.ПолучитьЭлементы(Наименование));


Ну я знаю что в этом))) я забыл как к табличной части обратиться, был бы это реквизит, то там без проблем(он как объект идет)
А к этому я че только не писал)))
Добавлено: 12 Авг 2016, 15:26

как там правильно переписать?)

Последний раз редактировалось: deks500; 12 Авг 2016, 15:26. Причина: Объединение сообщений

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
функция установкаЦеныУслуги(ПараметрыЗапроса)
   
      Запрос = Новый Запрос;
     
      Запрос.Текст  = "ВЫБРАТЬ
                      |    УслугиСрезПоследних.Наименование,
                      |    УслугиСрезПоследних.Цена
                      |ИЗ
                      |    РегистрСведений.Услуги.СрезПоследних(&Дата,Услуга=&Услуга) КАК УслугиСрезПоследних";
                     
    Запрос.УстановитьПараметр("Услуга", ПараметрыЗапроса.Услуга);
    Запрос.УстановитьПараметр("Дата", ПараметрыЗапроса.Дата);                 
                //ТекДанные = Элементы.Услуги.ТекущиеДанные;
                     
   
    Выборка = Запрос.Выполнить().Выбрать();
                     
    Если Выборка.Следующий() Тогда                     
        Возврат Выборка.Цена;
    Иначе
        Возврат 0;
    КонецЕсли;
   
   
   
КонецФункции

&НаКлиенте
Процедура УслугиНаименованиеПриИзменении(Элемент)
    Стр = Элементы.Услуги.ТекущиеДанные;
    Стр.Цена = установкаЦеныУслуги(Новый Структура("Дата,Услуга",Объект.Дата,Стр.Услуга));
    //установкаЦеныУслуги();
КонецПроцедуры

Оффлайн deks500

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-06-04
  • Сайт: 
  • Профессия: Бухгалтер
Я под себя переделал там ругается на
В запросе :
|   РегистрСведений.Услуги.СрезПоследних(Наименование=&Наименование) КАК УслугиСрезПоследних" ;

Опишу поподробнее систему.(Гостиница)
Есть документ(Квитанция) - там есть табличная часть(услуги) с полями :
Наимеование
Цена
Кол.часов
Сумма
Тоесть к примеру - Пупкин Илья со 2 номера
в табличной части
Наименование - доставка обеда с ресторана
цена - 2000
кол. часов 0
Сумма 2000

Информация о всех услугах хранится в регистре сведений услуги
измерение - наименование
ресурс - цена
К примеру :
Наименование - Уход за детьми
Цена - 500р

Тобишь кода создаю документ квитанцию, выбираю человечка
в табличной части выбираю наименование(Услуга - Уход за детьми) и автоматом должна подставиться его цена.

Код щас такой
функция установкаЦеныУслуги(ПараметрыЗапроса) Экспорт

  Запрос = Новый Запрос;
 
  Запрос.Текст  = "ВЫБРАТЬ
                  | УслугиСрезПоследних.Наименование,
                  | УслугиСрезПоследних.Цена
                  |ИЗ
                  | РегистрСведений.Услуги.СрезПоследних(Наименование=&Наименование) КАК УслугиСрезПоследних" ;
 
Запрос.УстановитьПараметр("Наименование", ПараметрыЗапроса.Наименование);  
//ТекДанные = Элементы.Услуги.ТекущиеДанные;
 

Выборка = Запрос.Выполнить().Выбрать();
 
Выборка.Следующий();
 
Возврат Выборка.Цена;

//Стр = Элементы.Товары.ТекущиеДанные;
//Стр.Сумма = Стр.Цена * Стр.Количество;

КонецФункции

&НаКлиенте
Процедура УслугиНаименованиеПриИзменении(Элемент)
Стр = Элементы.Услуги.ТекущиеДанные;
Стр.Цена = установкаЦеныУслуги(Новый Структура("Наименование", Стр.Наименование));
//установкаЦеныУслуги();
КонецПроцедуры

Добавлено: 12 Авг 2016, 16:10

Я под себя переделал там ругается на
В запросе :
|   РегистрСведений.Услуги.СрезПоследних(Наименование=&Наименование) КАК УслугиСрезПоследних" ;

Опишу поподробнее систему.(Гостиница)
Есть документ(Квитанция) - там есть табличная часть(услуги) с полями :
Наимеование
Цена
Кол.часов
Сумма
Тоесть к примеру - Пупкин Илья со 2 номера
в табличной части

Чет еще больше запутали Вы меня))
Наименование - доставка обеда с ресторана
цена - 2000
кол. часов 0
Сумма 2000

Информация о всех услугах хранится в регистре сведений услуги
измерение - наименование
ресурс - цена
К примеру :
Наименование - Уход за детьми
Цена - 500р

Тобишь кода создаю документ квитанцию, выбираю человечка
в табличной части выбираю наименование(Услуга - Уход за детьми) и автоматом должна подставиться его цена.

Код щас такой
функция установкаЦеныУслуги(ПараметрыЗапроса) Экспорт

  Запрос = Новый Запрос;
 
  Запрос.Текст  = "ВЫБРАТЬ
                  | УслугиСрезПоследних.Наименование,
                  | УслугиСрезПоследних.Цена
                  |ИЗ
                  | РегистрСведений.Услуги.СрезПоследних(Наименование=&Наименование) КАК УслугиСрезПоследних" ;
 
Запрос.УстановитьПараметр("Наименование", ПараметрыЗапроса.Наименование);  
//ТекДанные = Элементы.Услуги.ТекущиеДанные;
 

Выборка = Запрос.Выполнить().Выбрать();
 
Выборка.Следующий();
 
Возврат Выборка.Цена;

//Стр = Элементы.Товары.ТекущиеДанные;
//Стр.Сумма = Стр.Цена * Стр.Количество;

КонецФункции

&НаКлиенте
Процедура УслугиНаименованиеПриИзменении(Элемент)
Стр = Элементы.Услуги.ТекущиеДанные;
Стр.Цена = установкаЦеныУслуги(Новый Структура("Наименование", Стр.Наименование));
//установкаЦеныУслуги();
КонецПроцедуры

Добавлено: 12 Авг 2016, 16:11

Запутали меня)
Добавлено: 12 Авг 2016, 16:35

Ну вроде как дописал чутка, посмотрел через отладчик, он не видит цену, в чем косяк?)

Последний раз редактировалось: deks500; 12 Авг 2016, 16:35. Причина: Объединение сообщений

Оффлайн SGIRG

  • **
  • Сообщений: 82
  • РЕПУТАЦИЯ: 26
  • КПД: 32%
  • Регистрация: 2014-03-26
  • Сайт: 
  • Профессия: Программист 8.1
"цена" ресурс или реквизит?
Нажимайте "Спасибо", так приятнее))

Оффлайн deks500

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-06-04
  • Сайт: 
  • Профессия: Бухгалтер
"цена" ресурс или реквизит?
ресурс

Оффлайн ilnur75

  • **
  • Сообщений: 76
  • РЕПУТАЦИЯ: 5
  • КПД: 7%
  • Регистрация: 2016-03-13
  • Сайт: 
  • Профессия: Ученик 1С
это пример как получить актуальную цену номенклатуры и поставить её в колонку табчасти по строке с номенклатурой

в общем модуле РаботаСоСправочниками

Функция РозничнаяЦена(АктуальнаяДата, ЭлементНоменклатуры) Экспорт 
// Создать вспомогательный объект "Отбор".
Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);
 // Получить актуальные значения ресурсов регистра.
 ЗначенияРесурсов = РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата, Отбор);
 Возврат ЗначенияРесурсов.Цена;
КонецФункции

в модуле формы документа

&НаКлиенте
Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
// Получить текущую строку табличной части.
СтрокаТабличнойЧасти = Элементы.ПереченьНоменклатуры.ТекущиеДанные;
// Установить цену.
СтрокаТабличнойЧасти.Цена = РаботаСоСправочниками.РозничнаяЦена(
                        Объект.Дата, СтрокаТабличнойЧасти.Номенклатура);

КонецПроцедуры

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Я под себя переделал там ругается на
...
1. Называть реквизиты как "Наименование", "Код", "Номер" - дурной тон.
2. Посмотрите внимательно на мой пример, где указано как задаются параметры виртуальной таблицы
 я:
|    РегистрСведений.Услуги.СрезПоследних(&Дата,Услуга=&Услуга) КАК УслугиСрезПоследних";
и вы
|   РегистрСведений.Услуги.СрезПоследних(Наименование=&Наименование) КАК УслугиСрезПоследних" ;


Оффлайн deks500

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-06-04
  • Сайт: 
  • Профессия: Бухгалтер
Выдет
{Документ.Квитанция.Форма.ФормаДокумента.Форма(134)}: Недостаточно фактических параметров
   СтрокаТабличнойЧасти.Цена = ЦенаУслуг.ЦенаУслуги(СтрокаТабличнойЧасти.Наименование);

код такой
&НаКлиенте
Процедура УслугиНаименованиеПриИзменении(Элемент)

СтрокаТабличнойЧасти = Элементы.Услуги.ТекущиеДанные;
СтрокаТабличнойЧасти.Цена = ЦенаУслуг.ЦенаУслуги(СтрокаТабличнойЧасти.Наименование);

КонецПроцедуры
и
функция ЦенаУслуги(АктуальнаяДата, ЭлементНаименование) Экспорт

 // Создать вспомогательный объект "Отбор".
 
 Отбор = Новый Структура("Наименование", ЭлементНаименование);
 
 // Получить актуальные значения ресурсов регистра.
 
 ЗначенияРесурсов = РегистрыСведений.Услуги.ПолучитьПоследнее(АктуальнаяДата, Отбор);

Возврат ЗначенияРесурсов.Цена;


КонецФункции


Теги:
 

Часть четвертая: переход на «1С» версии «3.0». Где в программе находятся «Параметры учета»? Алгоритм настройки кадрового учета в новой версии программы «1С»

Автор 1cwikiРаздел Зарплата и управление персоналом

Ответов: 0
Просмотров: 2832
Последний ответ 20 Мар 2015, 12:58
от 1cwiki
Установка ориентации страницы "Ландшафт"

Автор summerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 4095
Последний ответ 11 Янв 2011, 11:05
от summer
табличная часть, реквизит "сумма"

Автор otabekРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1760
Последний ответ 01 Мар 2014, 22:27
от DmitriyF
часть уплаченного НДФЛ не попадает в справку 2-ндфл

Автор КаринаСРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 1218
Последний ответ 30 Янв 2015, 02:08
от MuI_I_Ika
Внешняя обработка для документа "Установка цен номенклатуры"

Автор MArrРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 2775
Последний ответ 05 Апр 2015, 08:21
от blackmoon89

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
171 Сообщений
alex0402
58 Сообщений
MuI_I_Ika MuI_I_Ika
50 Сообщений
crow1983
35 Сообщений
LexaK
32 Сообщений
alexandr_ll
31 Сообщений
sertak sertak
25 Сообщений
Vzonder
22 Сообщений
BuhRust
17 Сообщений
дфтын дфтын
17 Сообщений

* Кто онлайн

  • Точка Гостей: 377
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal