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

Автор Тема: Артикул Контрагента  (Прочитано 16333 раз)

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

Оффлайн anton.kislov

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-05-23
  • Сайт: 
  • Профессия: Разработчик 1С
ситуация такова: есть форма "Заказ контрагента", в ней куча полей(Артикул, номенклатура, цена и т.д. и т.п.), мне же необходимо добавить одну колонку "Артикул Контрагента", данные этой колонки находятся в "регистре сведений"-> номенклатура контрагента->АртикулНоменклатурыКонтрагента....
мне нужно чтобы данные которые он хранит вылезле в этой форме в поле "Артикул Контрагента"

Как к нему обратится...

заранее благодарен


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2861
  • РЕПУТАЦИЯ: 548
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Как к нему обратится...

К кому? К 1С-у?
Добавлено: 23 Май 2013, 11:14

Можете обращаться на ВЫ :D
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2861
  • РЕПУТАЦИЯ: 548
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Процедура НоменклатураПриИзменении(ПолеФормыЭлемент) 
   ТекДанные = ЭлементыФормы.ИмяТабличнойЧасти.ТекущиеДанные; //Включаем экстрасенсорные способности (т.к. ТС не сказал что за конфигурация) предположим что это обычные формы!
   ТекДанные.АртикулКонтрагента = ПолучитьИзРегистраАртикулПоКонтрагентуЗапросом(Контрагент); //Но можно получать артикул и при открытии формы и при изменении контрагента (что бы сократить обращения к базе)
//В принципе ВСЕ!
//Функция ПолучитьИзРегистраАртикулПоКонтрагентуЗапросом - запросом выбирает нужный артикул и возвращает его!
// текст этой функции мне писать ЛЕНЬ
КонецПроцедуры
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн anton.kislov

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-05-23
  • Сайт: 
  • Профессия: Разработчик 1С
Как к нему обратится...

К кому? К 1С-у?
Добавлено: 23 Май 2013, 11:14

Можете обращаться на ВЫ :D

Ну не до такой же степени((
Добавлено: 23 Май 2013, 11:27

Процедура НоменклатураПриИзменении(ПолеФормыЭлемент) 
   ТекДанные = ЭлементыФормы.ИмяТабличнойЧасти.ТекущиеДанные; //Включаем экстрасенсорные способности (т.к. ТС не сказал что за конфигурация) предположим что это обычные формы!
   ТекДанные.АртикулКонтрагента = ПолучитьИзРегистраАртикулПоКонтрагентуЗапросом(Контрагент); //Но можно получать артикул и при открытии формы и при изменении контрагента (что бы сократить обращения к базе)
//В принципе ВСЕ!
//Функция ПолучитьИзРегистраАртикулПоКонтрагентуЗапросом - запросом выбирает нужный артикул и возвращает его!
// текст этой функции мне писать ЛЕНЬ
КонецПроцедуры

платформа 8,2 УТ 10,3
спасибо
Добавлено: 24 Май 2013, 07:08

сделал так вот..
//запись данных в Колонку "Артикул у контрагента"
Процедура НоменклатураПриИзменении(АртикулКонтрагента)
   ТекДанные = АртикулКонтрагента.Товары.ТекущиеДанные;
   ТекДанные.АртикулКонтрагента = ПолучитьИзРегистраАртикулПоКонтрагенту(Контрагент);
   
//Функция ПолучитьИзРегистраАртикулПоКонтрагентуЗапросом - запросом выбирает нужный артикул и возвращает его!
КонецПроцедуры


//Получаем данные из регистра сведений
Функция  ПолучитьИзРегистраАртикулПоКонтрагенту(Запрос)

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

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

Но не выводится запись ((

Последний раз редактировалось: anton.kislov; 24 Май 2013, 07:08. Причина: Объединение сообщений

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2861
  • РЕПУТАЦИЯ: 548
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Потому что:
1. Функция ничего не возвращает.
2. Запрос написан не правильно
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн anton.kislov

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-05-23
  • Сайт: 
  • Профессия: Разработчик 1С
Потому что:
1. Функция ничего не возвращает.
2. Запрос написан не правильно

понял, буду познавать значит..
давненько я не разбирался..

Оффлайн anton.kislov

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-05-23
  • Сайт: 
  • Профессия: Разработчик 1С
Потому что:
1. Функция ничего не возвращает.
2. Запрос написан не правильно

понял что не то писал..
Написал вот так..
Функция ПолучитьИзРегистраАртикулПоКонтрагентуЗапросом(Контрагент)

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

    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        Возврат Выборка.АртикулНоменклатурыКонтрагента;
    КонецЕсли;

    Возврат "!!!!"; // не нашли

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

Но результат тот же((

Оффлайн Yura063

  • *****
  • Сообщений: 1050
  • РЕПУТАЦИЯ: 137
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: 
  • Профессия: Программист 1С
Возврат "!!!!"; // не нашли

Это не надо!
Добавлено: 27 Май 2013, 10:48

или поставьте его в условия после иначе!
Добавлено: 27 Май 2013, 10:49

    Если Выборка.Следующий() Тогда
        Возврат Выборка.АртикулНоменклатурыКонтрагента;
    Иначе
        Возврат "!!!!"; // не нашли
    КонецЕсли;

Помогли, отблагодари!

Оффлайн anton.kislov

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-05-23
  • Сайт: 
  • Профессия: Разработчик 1С
Возврат "!!!!"; // не нашли

Это не надо!
Добавлено: 27 Май 2013, 10:48

или поставьте его в условия после иначе!
Добавлено: 27 Май 2013, 10:49

    Если Выборка.Следующий() Тогда
        Возврат Выборка.АртикулНоменклатурыКонтрагента;
    Иначе
        Возврат "!!!!"; // не нашли
    КонецЕсли;


понял, Но тут другое...
Я получил в столбце "0" везде..
вот это интересно уже...

Оффлайн Yura063

  • *****
  • Сообщений: 1050
  • РЕПУТАЦИЯ: 137
  • КПД: 13%
  • Регистрация: 2010-11-15
  • Сайт: 
  • Профессия: Программист 1С
Есть консоль запросов, проверьте ей что получаете в запросе! у вас эти поля заполнены?
Помогли, отблагодари!


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
146 Сообщений
oleg-x
66 Сообщений
alex0402
63 Сообщений
AIFrame AIFrame
52 Сообщений
wise wise
37 Сообщений
KOI8-R
34 Сообщений
buketov.av buketov.av
34 Сообщений
Alter
25 Сообщений
trialex3
20 Сообщений
BuhRust
20 Сообщений

* Кто онлайн

  • Точка Гостей: 154
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal