Перемещение запасов Форма документа

1. AlexeyAryaev 03.04.19 16:12 Сейчас в теме
Получил задание на модифицирование формы "Перемещение запасов". До того ни разу не программировал на 1С. Работаю методом "научного тыка". Что мне надо было: добавить в форму дополнительные поля. Поля я добавил - но, как я понимаю, надо описать процедуры работы этих полей, верно? И вот с этим у меня проблема.
В общем, мне нужно сделать выбор поставщика из списка "Поставщики". Эта таблица в УНФ присутствует, в том, что касается работы с формой, я всё сделал верно. Но, как это описать, я не знаю. Пробовал скопировать текст из описания "Номенклатура", заменив "Номенклатура" на "Поставщик", но получилось не всё. Можно пример, как надо делать? Спасибо.

Модуль Номенклатуры - если я всё верно понимаю.
Процедура ЗапасыНоменклатураПриИзменении(Элемент)
	
	СтрокаТабличнойЧасти = Элементы.Запасы.ТекущиеДанные;
	
	СтруктураДанные = Новый Структура();
	СтруктураДанные.Вставить("Номенклатура", СтрокаТабличнойЧасти.Номенклатура);
	
	СтруктураДанные = ПолучитьДанныеНоменклатураПриИзменении(СтруктураДанные);
	
	СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтруктураДанные.ЕдиницаИзмерения;
	СтрокаТабличнойЧасти.СтранаПроисхождения = СтруктураДанные.СтранаПроисхождения;
	СтрокаТабличнойЧасти.НомерГТД = Неопределено;
	СтрокаТабличнойЧасти.Количество = 1;
	
	//Серийные номера
	Для каждого ВыделеннаяСтрока Из Элементы.Запасы.ВыделенныеСтроки Цикл
		ТекущиеДанныеСтроки = Элементы.Запасы.ДанныеСтроки(ВыделеннаяСтрока);
		РаботаССерийнымиНомерамиКлиентСервер.УдалитьСерийныеНомераПоКлючуСвязи(Объект.СерийныеНомера, ТекущиеДанныеСтроки,,ИспользоватьСерийныеНомераОстатки);
	КонецЦикла;
	
	СтрокаТабличнойЧасти.ИспользоватьХарактеристики = СтруктураДанные.ИспользоватьХарактеристики;
	СтрокаТабличнойЧасти.ПроверятьЗаполнениеХарактеристики = СтруктураДанные.ПроверятьЗаполнениеХарактеристики;
	СтрокаТабличнойЧасти.ЗаполнениеХарактеристикиПроверено = Истина;
	
	Если СтруктураДанные.ИспользоватьХарактеристики
		Тогда
		СтрокаТабличнойЧасти.Характеристика = СтруктураДанные.Характеристика;
	КонецЕсли;
	
	//Партии
	СтрокаТабличнойЧасти.ИспользоватьПартии = СтруктураДанные.ИспользоватьПартии;
	СтрокаТабличнойЧасти.ПроверятьЗаполнениеПартий = СтруктураДанные.ПроверятьЗаполнениеПартий;
	
	Если СтруктураДанные.ИспользоватьПартии
		Тогда
		СтрокаТабличнойЧасти.Партия = СтруктураДанные.Партия;
	КонецЕсли;
	// Конец Партии
	
КонецПроцедуры // ЗапасыНоменклатураПриИзменении()
Показать
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Prikum 3 03.04.19 16:28 Сейчас в теме
Не совсем понятно о чем речь? Надо сделать заполнение новых полей в табличной части?
3. AlexeyAryaev 03.04.19 16:39 Сейчас в теме
(2)Да. Сами поля я сделал, но надо описать процедуры, чтобы они работали.
4. Prikum 3 03.04.19 16:41 Сейчас в теме
(3)
У каждого поля есть подписка на события, вот их и надо использовать.
5. AlexeyAryaev 03.04.19 16:42 Сейчас в теме
(4)Пожалуйста, не могли бы Вы показать, как это делается? Или хотя бы ссылку на то, где на это можно посмотреть...
6. Prikum 3 03.04.19 16:44 Сейчас в теме
(5)Посмотреть можно в типовой, на форме в конфигураторе на реквизите формы нажать правую кнопку мыши и выбрать пункт События, потом выбрать нужное событие и создать процедуры обработки этого события. Сделать то что нужно, проверить результат.
7. AlexeyAryaev 03.04.19 16:53 Сейчас в теме
(6)Попробовал. Получил такую ошибку:
{Документ.ПеремещениеЗапасов.Форма.ФормаДокумента.Форма(2710,20)}: Процедура или функция с указанным именем не определена (ПолучитьДанныеПоставщикПриИзменении)
	СтруктураДанные = <<?>>ПолучитьДанныеПоставщикПриИзменении(СтруктураДанные); (Проверка: Тонкий клиент)
8. Prikum 3 03.04.19 16:56 Сейчас в теме
(7)так ее надо написать, а не просто скопировать код из процедуры подписки на событие реквизита "Номенклатура"! Наверное лучше сначала описать всю задачу, может быть тогда не надо будет писать что то сложное, а придется обойтись 2-3 строчками кода
9. AlexeyAryaev 03.04.19 17:04 Сейчас в теме
(8)Я про это изначально и спросил. Дело такое - надо модифицировать форму "Перемещение запасов" до вида, как на прикрепленном фото. Мне от руки рисовали, честно говоря, но вид, думаю, понятен.
Прикрепленные файлы:
10. Prikum 3 03.04.19 17:35 Сейчас в теме
(9)В чем тогда проблема? У реквизита "Поставщик" табличной части какой тип?
11. AlexeyAryaev 03.04.19 19:53 Сейчас в теме
(10)Отвечу завтра, так как надо было после работы забрать SSD для менеджеров...
12. AlexeyAryaev 04.04.19 09:12 Сейчас в теме
(10)Как посмотреть тип реквизита?
13. AlexeyAryaev 04.04.19 09:14 Сейчас в теме
(10)Написано - тип - Булево, если это оно. Соответственно, там должно выбираться из списка поставщиков, это в разделе номенклатура.
14. AlexeyAryaev 04.04.19 10:22 Сейчас в теме
(10)Я не совсем правильно выразился. Мне надо, чтобы в поле "Поставщик" был не выбор из списка, а что бы в этом поле просто высвечивалось, от какого поставщика тот или иной элемент номенклатуры получен. Это проще, или сложнее?
15. Prikum 3 04.04.19 12:20 Сейчас в теме
(14)если у этого реквизита стоит тип Булево, то там никак не проставить от какого поставщика пришел товар. Надо тогда установить тип "Справочник.Номенклатура"
16. AlexeyAryaev 04.04.19 12:58 Сейчас в теме
(15)Строка там. Теперь хорошо видно.
17. AlexeyAryaev 04.04.19 13:02 Сейчас в теме
(15)Изменил на "СправочникСсылка.Контрагенты". Пока без изменений.
18. AlexeyAryaev 04.04.19 13:20 Сейчас в теме
(15)Вот так, в общем:
Прикрепленные файлы:
19. Prikum 3 04.04.19 13:52 Сейчас в теме
(18)нужно показать тип реквизита в табличной части, не в форме, а в данных документа
20. AlexeyAryaev 04.04.19 13:56 Сейчас в теме
(19)Это где находится? На самом деле - это первое моё "плотное" знакомство с 1С. Раньше я только обновлениями занимался, и подобными вещами...
21. AlexeyAryaev 04.04.19 16:18 Сейчас в теме
(19)Нашёл. Сделал. Пока эффекта нет. ЧЯДНТ (Что Я Делаю Не Так)?
22. Prikum 3 04.04.19 20:26 Сейчас в теме
(21)
Нашёл. Сделал. Пока эффекта нет

что сделал?
23. AlexeyAryaev 04.04.19 20:52 Сейчас в теме
(22)Я про тип реквизита в табличной части. Только вот, как мне кажется, в базе просто нет связи между поставщиками и номенклатурой (не внесли её). Я решил пока сделать это на старой базе, чтобы потренироваться. Только вот, в этой старой базе почти не работали... Завтра снабженец снесёт туда кое-что - и посмотрю, верно ли у меня получилось...
24. AlexeyAryaev 08.04.19 11:11 Сейчас в теме
(22)Снова пишу о том, что я не так понял задание. Всё же нужно, чтобы номенклатура выбиралась отдельно (и она выбирается) и поставщик тоже выбирался отдельно. Просто иначе ничего сделать не получается - связи между поставщиками и номенклатурой на самом деле нет. Не знаю, почему это было сделано, но её нет. В общем, я нашёл, где в надо в табличной части всё это указывать, вроде бы всё сделал, но пока эффекта нет...
25. AlexeyAryaev 08.04.19 11:18 Сейчас в теме
В общем, сделал вот так. Но выбора пока нет. Что ещё надо поменять?
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот