|
Создание внешней обработки заполнения ТЧ для УНФ | ☑ | ||
---|---|---|---|---|
0
MakS1mus
naïve
21.05.24
✎
11:05
|
Создал внешнюю обработку, не могу запрограммировать кнопу в форме которая будет заполнять ТЧ, а конкретно ячейку из ячейки номенклатуры. Пример: Товар1 , ячейка номенклатуры - С1П1Я1, нужно чтобы после нажатия на кнопку заполнилась ячейка информацией из склада, т.е. подставилась С1П1Я1. Пишу код такой:
&НаСервере , на сервере не работает почему то Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт Для каждого ТекСтрокаТЧЗапасы Из ЭтотОбъект.Объект.Запасы Цикл ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка; КонецЦикла; КонецПроцедуры |
|||
1
spiller26
21.05.24
✎
11:00
|
(0) Потому-что на сервере. Пробуй на клиенте.
|
|||
2
Волшебник
21.05.24
✎
11:08
|
(0) Вы только учтите, что всё это в памяти, на форме не увидите, пока не запишите "Объект"
|
|||
3
steep1
21.05.24
✎
11:10
|
(0) ЭтаФорма.Обновить()
|
|||
4
MakS1mus
naïve
21.05.24
✎
13:57
|
на клиенте не получается. нужны данные с сервера
|
|||
5
MakS1mus
naïve
21.05.24
✎
15:26
|
(3) &НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт НовыйОбъект = ВладелецФормы.Объект; ЗаполнитьОбъект(НовыйОбъект); //Для каждого ТекСтрокаТЧЗапасы Из ВладелецФормы.Объект.Запасы Цикл // //ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка; //КонецЦикла; КонецПроцедуры &НаСервере Функция ЗаполнитьОбъект(НовыйОбъект) Для каждого ТекСтрокаТЧЗапасы Из НовыйОбъект.Запасы Цикл ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка; КонецЦикла; КонецФункции |
|||
6
MakS1mus
naïve
21.05.24
✎
15:28
|
ничего не происходит
|
|||
7
MakS1mus
naïve
21.05.24
✎
15:35
|
(0) Сделал вот так, добавил Этаформа.обноваить();
вот ошибка Поле объекта не обнаружено (Запасы) {ВнешняяОбработка.ЗаполнениеТЧЯчейкиСклада.Форма.Форма.Форма(24)}:Для каждого ТекСтрокаТЧЗапасы Из ЭтотОбъект.Объект.Запасы Цикл {ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(330)}:ФормаВнешнегоОбъекта.ВыполнитьКоманду(ПараметрыВызоваСервера.ИдентификаторКоманды, ПараметрыВызоваСервера.ОбъектыНазначения); {ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(262)}:ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды); {ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(40)}:ПродолжитьВыполнениеКоманды(ПараметрыВыполнения); {Документ.РасходныйОрдер.Форма.ФормаДокумента.Форма(2017)}:ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект); [ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка] |
|||
8
Волшебник
21.05.24
✎
15:37
|
(7) В объекте "ЭтотОбъект.Объект" нет "Запасы".
Проверяйте типы |
|||
9
MakS1mus
naïve
21.05.24
✎
16:34
|
&НаСервере
Процедура ЗаполнитьЯчейку() Выборка = Документы.РасходныйОрдер.Выбрать(); Для каждого ТекСтрокаТЧЗапасы Из Выборка.Запасы Цикл ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка; КонецЦикла; ЭтаФорма.Обновить(); КонецПроцедуры &НаКлиенте Процедура ВыполнитьКоманду() ЗаполнитьЯчейку(); КонецПроцедуры сделал так, выдает ошибку метод объекта не обнаружен(выполинть команду) |
|||
10
Волшебник
21.05.24
✎
16:38
|
(9) Соблюдайте лесенку программного кода
Процедура ЗаполнитьЯчейку() Выборка = Документы.РасходныйОрдер.Выбрать(); Для каждого ТекСтрокаТЧЗапасы Из Выборка.Запасы Цикл ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка; КонецЦикла; ЭтаФорма.Обновить(); КонецПроцедуры |
|||
11
MakS1mus
naïve
22.05.24
✎
09:14
|
(10) не поймую.
|
|||
12
Волшебник
22.05.24
✎
09:33
|
Строка:
Выборка = Документы.РасходныйОрдер.Выбрать(); выбирает абсолютно все документы из базы. Вряд ли это то, что Вам нужно |
|||
13
MakS1mus
naïve
23.05.24
✎
12:18
|
у меня получилось сделать. только не пересчитывает ничего, нужно нажать на коноку через ещё - пересчитать.
ЭтаФорма.Обновить(); не работает |
|||
14
DrZombi
гуру
23.05.24
✎
12:30
|
(11) Расшифровываю...
ваш код, в произвольном формате, или в строку, никто смотреть не будет... даже я :) (0) Что вы делаете, глупец? Вот как надо... https://infostart.ru/1c/articles/694647/ Вот тут советуют. https://forum.infostart.ru/forum9/topic145889/ Вот тут про БСП немного пишут, но немного https://infostart.ru/1c/articles/1132897/ Ваша тема, с кнопкой "Скачать пример" https://sstud.ru/%D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D1%8F%D1%8F-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-1%D1%81-%D0%B7%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA/ |
|||
15
DrZombi
гуру
23.05.24
✎
12:32
|
(13) И помни, 2 дн. отруду, обработка только заполняет данные. Она не вызывает обработчики.
Так же обработчики не отрабатывают при записи. У 1С обработчики работают как правило во время заполнения табличной части "Руками", так что все обработчики придется дублировать в вашей обработке :) |
|||
16
MakS1mus
naïve
23.05.24
✎
13:26
|
(14) спасибо, о великий
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |