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

Автор Тема: Вытащить данные из табличной части документа  (Прочитано 12985 раз)

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

Оффлайн jastreb

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 1
  • КПД: 9%
  • Регистрация: 2013-07-03
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте.
Только начал изучать 1С.
Возник такой вопрос.
Есть документ "Приходная накладная" в табличной части которого содержится информация о товаре (Артикул / Наименование / ЦенаНПА).
Наименование берется из справочника "Номенклатура".
Подскажите пожалуйста как вытащить из табличной части документа ЦенаНПА?
И как потом ЦенаНПА подставить автоматически в документ Продажи при выборе в этом документе номенклатуры?

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

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

&НаКлиенте
Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
//ПОлчусить тек строку таб части
СтрТабЧасти=Элементы.ПереченьНоменклатуры.ТекущиеДанные;
СтрТабЧасти.ЦенаНПА = ТабЧастьДок.ЦенаНПА(СтрТабЧасти.Номенклатура)
КонецПроцедуры

И в итоге выдает ошишбку
{Документ.Продажа.Форма.ФормаДокумента.Форма(45)}: Недостаточно фактических параметров
   СтрТабЧасти.ЦенаНПА = ТабЧастьДок.ЦенаНПА(СтрТабЧасти.Номенклатура)

Подскажите пожалуйста как это поправить, я не понимаю.

Спасибо


Оффлайн Besart

  • *****
  • Сообщений: 678
  • РЕПУТАЦИЯ: 142
  • КПД: 21%
  • Регистрация: 2012-12-10
    • Skype: artfa.a
  • Компания: Фрилансер
  • Профессия: Программист 8.1
а если у вас несколько приходных с разной ценой для одной номенклатуры
Функция ЦенаНПА(Номенклатура) Экспорт
    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ ПЕРВЫЕ 1
                 |    ПриходнаяНакладаня.ЦенаНПА КАК ЦенаНПА
                 |ИЗ
                 |    Документ.ПриходнаяНакладаня.ЦенаНПА КАК ЦенаНПА
                 |ГДЕ
                 |    ПриходнаяНакладаня.Номенклатура= &Номенклатура"
                 |УПОРЯДОЧИТЬ ПО
| ПриходнаяНакладная.Дата УБЫВ;
                 
                   Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
                   Результат=Запрос.Выполнить();
                   Выборка = Запрос.Выбрать();
                    Пока Выборка.Следующий Цикл
                       Возврат Выборка.ЦенаНПА;
                    КонецЦикла;
КонецФункции

выбирает цену с последней приходной
Добавлено: 03 Июл 2013, 20:16

только судя из вашего запроса у вас в приходной нет табличной части, если есть то код такой
		
Функция ЦенаНПА(Номенклатура) Экспорт
    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ ПЕРВЫЕ 1
| МАКСИМУМ(ПриходнаяНакладнаяСписокНоменклатуры.Цена) КАК Цена,
| ПриходнаяНакладная.Ссылка
|ИЗ
| Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная КАК ПриходнаяНакладная
| ПО ПриходнаяНакладнаяСписокНоменклатуры.Ссылка = ПриходнаяНакладная.Ссылка
|ГДЕ
| ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура = &Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ПриходнаяНакладная.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ПриходнаяНакладная.Дата УБЫВ";
                 
                   Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
                   Результат=Запрос.Выполнить();
                   Выборка = Запрос.Выбрать();
                    Пока Выборка.Следующий Цикл
                       Возврат Выборка.ЦенаНПА;
                    КонецЦикла;
КонецФункции
в этом случае выбирается из последней приходной, максимальная цена (если одана номенклатура присутствует в накладной несколько раз) выбранной номенклатуры
Добавлено: 03 Июл 2013, 20:18

сорри, совсем запарился :xfbnsdfb:
        
Функция ЦенаНПА(Номенклатура) Экспорт
    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ ПЕРВЫЕ 1
        |    МАКСИМУМ(ПриходнаяНакладнаяСписокНоменклатуры.Цена) КАК Цена,
        |    ПриходнаяНакладная.Ссылка
        |ИЗ
        |    Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры
        |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходнаяНакладная КАК ПриходнаяНакладная
        |        ПО ПриходнаяНакладнаяСписокНоменклатуры.Ссылка = ПриходнаяНакладная.Ссылка
        |ГДЕ
        |    ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура = &Номенклатура
        |
        |СГРУППИРОВАТЬ ПО
        |    ПриходнаяНакладная.Ссылка
        |
        |УПОРЯДОЧИТЬ ПО
        |    ПриходнаяНакладная.Дата УБЫВ";
                 
                   Запрос.УстановитьПараметр("Номенклатура",Номенклатура);
                   Результат=Запрос.Выполнить();
                   Выборка = Запрос.Выбрать();
                    Пока Выборка.Следующий Цикл
                       Возврат Выборка.Цена; \\здесь была небольшая ошибка
                    КонецЦикла;
КонецФункции

Последний раз редактировалось: Besart; 03 Июл 2013, 20:18. Причина: Объединение сообщений

Оффлайн jastreb

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 1
  • КПД: 9%
  • Регистрация: 2013-07-03
  • Сайт: 
  • Профессия: Ученик 1С
2:Besart
Спасибо, подошел второй вариант, что вы предложили.
Все заработало.



Теги:
 

Не открывает форму сохраненного документа, открывает форму нового.

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

Ответов: 1
Просмотров: 4483
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7757
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984
"Не совпадают сумма документа и общая сумма по платежным ведомостям"

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

Ответов: 1
Просмотров: 4789
Последний ответ 11 Янв 2015, 02:55
от MuI_I_Ika
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

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

Ответов: 14
Просмотров: 8556
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Фамилия руководителя в печатных формах документа "Акт сверки", "Акт об оказании"

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

Ответов: 1
Просмотров: 7347
Последний ответ 03 Фев 2012, 17:27
от Dinah

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
145 Сообщений
ilyay ilyay
63 Сообщений
alex0402
50 Сообщений
AIFrame
50 Сообщений
andron81_81
44 Сообщений
oleg-x
42 Сообщений
BuhRust
32 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal