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

Автор Тема: загрузить данные реквизита в справочник из документа  (Прочитано 2366 раз)

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

Онлайн ls600

  • ****
  • Сообщений: 322
  • РЕПУТАЦИЯ: 20
  • КПД: 6%
  • Регистрация: 2012-05-14
  • Сайт: 
  • Профессия: Программист 1С
Доброго времени суток. Возможно ли реализовать такую задачу.
Сразу скажу база не типовая, склад. обычное приложение.
Сделал документ Анализ движения заявок на закупку. У этого документа есть реквизит Номер Заявки (Тип Строка). Получается создается документ Анализ движения заявок. Заполняется данными. Далее в справочнике Номенклатура добавил реквизит СсылкаНаЗаявку(рис).  т.е при выборе выбирается нужный документ и автоматически "нужно реализовать" заполнится в справочнике номер заявки, который указывался в документе. у документа естественно есть РегистрСведений., лучше из него взять этот номер через запрос.

Создал функцию которая должна из регистра выбирается номер заявки нужного документа.

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

Процедура СсылкаНаЗаявкуПриИзменении(Элемент)
   Номер = СформироватьНомерЗаявки();
   ЭлементыФормы.НомерЗаявки.Значение = Номер;
КонецПроцедуры



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




 


Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
   Возврат Результат.НомерЗаявки;
Иначе
    Возврат 0;
КонецЕсли;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
В консоль запросов запрос кидайте. единственный вариант - номер заявки - неограниченная мысль пока ..хотя ошибку бы давало...А РЛС не вклчюен у вас?
Помог? Нажми - Спасибо :)
skype: Soprov1C

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
а нафига так сложно писать, сдаем экзамен на говнокодировщика?
судя по вашему коду, у вас уже есть СсылкаНаЗаявку

всего то и надо написать

Процедура СсылкаНаЗаявкуПриИзменении(Элемент)
НомерЗаявки = СсылкаНаЗаявку.НомерЗаявки ;
КонецПроцедуры
Помогло? - Нажми СПАСИБО!!!
                       :)

Онлайн ls600

  • ****
  • Сообщений: 322
  • РЕПУТАЦИЯ: 20
  • КПД: 6%
  • Регистрация: 2012-05-14
  • Сайт: 
  • Профессия: Программист 1С
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
   Возврат Результат.НомерЗаявки;
Иначе
    Возврат 0;
КонецЕсли;

Постоянно 0 появляется. хоть что то, а не пустая:D  буду думать дальше
Добавлено: 09 Окт 2014, 18:29

а нафига так сложно писать, сдаем экзамен на говнокодировщика?
судя по вашему коду, у вас уже есть СсылкаНаЗаявку

всего то и надо написать

Процедура СсылкаНаЗаявкуПриИзменении(Элемент)
НомерЗаявки = СсылкаНаЗаявку.НомерЗаявки ;
КонецПроцедуры


дело не в сложности, написал по вашему коду.
ошибка
{Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(1266)}: Значение не является значением объектного типа (Номер)
   НомерЗаявки = СсылкаНаЗаявку.Номер;

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
НомерЗаявки = СсылкаНаЗаявку.НомерЗаявки;
Добавлено: 09 Окт 2014, 19:32

по правильному, так надо сделать

...
Если ЗначениеЗаполнено(СсылкаНаЗаявку) Тогда
НомерЗаявки = СсылкаНаЗаявку.НомерЗаявки;
Иначе
НомерЗаявки = "";
КонецЕсли;
...

в процессе работы вы можете очистить поле СсылкаНаЗаявку, при этом НомерЗаявки тоже надо почистить.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
а нафига так сложно писать, сдаем экзамен на говнокодировщика?

каюсь, уже не стал спрашивать, зачем такой кудрявый алгоритм...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Онлайн ls600

  • ****
  • Сообщений: 322
  • РЕПУТАЦИЯ: 20
  • КПД: 6%
  • Регистрация: 2012-05-14
  • Сайт: 
  • Профессия: Программист 1С
в итоге вот так сделал. и номер заявки выходят как надо.

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

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

Процедура СсылкаНаЗаявкуПриИзменении(Элемент)
Номер = СформироватьНомерЗаявки();
ЭлементыФормы.НомерЗаявки.Значение = Номер;
КонецПроцедуры

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
ЭлементыФормы.СсылкаНаЗаявку.Значение
ЭлементыФормы.НомерЗаявки.Значение

а если напишете просто "СсылкаНаЗаявку" и "НомерЗаявки" - что-то изменится?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Онлайн ls600

  • ****
  • Сообщений: 322
  • РЕПУТАЦИЯ: 20
  • КПД: 6%
  • Регистрация: 2012-05-14
  • Сайт: 
  • Профессия: Программист 1С
а если напишете просто "СсылкаНаЗаявку" и "НомерЗаявки" - что-то изменится?
то выскакивает ошибка, Значение не является значением объектного типа (Значение).

зашел повторно в номенклатуру и получается номер заявки остался с документа, а сама заявка исчезла :dfbbdrfb:


Теги:
 

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

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

Ответов: 1
Просмотров: 4475
Последний ответ 13 Апр 2012, 23:26
от Vit1501
Автоматическое заполнение табличной части документа из табличной части другого

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

Ответов: 6
Просмотров: 15937
Последний ответ 16 Авг 2012, 12:07
от Will
Заполнение поля табличной части документа из табличной части справочника.

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

Ответов: 3
Просмотров: 4200
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

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

Ответов: 1
Просмотров: 631
Последний ответ 10 Май 2017, 20:44
от ilnur75
Добавление сведений в графу "основание" документа "ТОРГ-12"

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

Ответов: 4
Просмотров: 7746
Последний ответ 20 Авг 2013, 18:45
от Ярослав1984

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
alex0402
44 Сообщений
andron81_81
38 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal