Имя: Пароль:
1C
 
Создание внешней обработки заполнения ТЧ для УНФ
0 MakS1mus
 
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
 
21.05.24
13:57
на клиенте не получается. нужны данные с сервера
5 MakS1mus
 
21.05.24
15:26
(3) &НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    
    НовыйОбъект = ВладелецФормы.Объект;
    ЗаполнитьОбъект(НовыйОбъект);
    //Для каждого ТекСтрокаТЧЗапасы Из ВладелецФормы.Объект.Запасы Цикл
    //    //ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка;    
    //КонецЦикла;
КонецПроцедуры


&НаСервере
Функция ЗаполнитьОбъект(НовыйОбъект)

    Для каждого ТекСтрокаТЧЗапасы Из НовыйОбъект.Запасы Цикл
        ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка;    
    КонецЦикла;

КонецФункции
6 MakS1mus
 
21.05.24
15:28
ничего не происходит
7 MakS1mus
 
21.05.24
15:35
(0) Сделал вот так, добавил Этаформа.обноваить();
вот ошибка
Поле объекта не обнаружено (Запасы)
{ВнешняяОбработка.ЗаполнениеТЧЯчейкиСклада.Форма.Форма.Форма(24)}:Для каждого ТекСтрокаТЧЗапасы Из ЭтотОбъект.Объект.Запасы Цикл
{ОбщийМодуль.ДополнительныеОтчетыИОбработкиКлиент.Модуль(330)}:ФормаВнешнегоОбъекта.ВыполнитьКоманду(ПараметрыВызоваСервера.ИдентификаторКоманды, ПараметрыВызоваСервера.ОбъектыНазначения);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(262)}:ВыполнитьОбработкуОповещения(Обработчик, ПараметрКоманды);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(40)}:ПродолжитьВыполнениеКоманды(ПараметрыВыполнения);
{Документ.РасходныйОрдер.Форма.ФормаДокумента.Форма(2017)}:ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]
8 Волшебник
 
21.05.24
15:37
(7) В объекте "ЭтотОбъект.Объект" нет "Запасы".
Проверяйте типы
9 MakS1mus
 
21.05.24
16:34
&НаСервере
Процедура ЗаполнитьЯчейку()
    Выборка = Документы.РасходныйОрдер.Выбрать();    
    Для каждого ТекСтрокаТЧЗапасы Из Выборка.Запасы Цикл
    ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка;    
КонецЦикла;

    ЭтаФорма.Обновить();
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьКоманду()
    
    ЗаполнитьЯчейку();
    
КонецПроцедуры

сделал так, выдает ошибку метод объекта не обнаружен(выполинть команду)
10 Волшебник
 
21.05.24
16:38
(9) Соблюдайте лесенку программного кода

Процедура ЗаполнитьЯчейку()
    Выборка = Документы.РасходныйОрдер.Выбрать();    
    Для каждого ТекСтрокаТЧЗапасы Из Выборка.Запасы Цикл
       ТекСтрокаТЧЗапасы.Ячейка = ТекСтрокаТЧЗапасы.Номенклатура.Ячейка;    
   КонецЦикла;

    ЭтаФорма.Обновить();
КонецПроцедуры
11 MakS1mus
 
22.05.24
09:14
(10) не поймую.
12 Волшебник
 
22.05.24
09:33
Строка:
Выборка = Документы.РасходныйОрдер.Выбрать();  


выбирает абсолютно все документы из базы. Вряд ли это то, что Вам нужно
13 MakS1mus
 
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
 
23.05.24
13:26
(14) спасибо, о великий