Имя: Пароль:
1C
1С v8
Итерактивные операции недоступны
, , ,
0 Z2020
 
11.08.20
12:17
Добрый день, при запуске обработки выходит ошибка

&НаСервере
Процедура Выполнить2НаСервере()
НоменклатураВыборка = Справочники.СерийныеНомера.Выбрать();
Пока НоменклатураВыборка.Следующий() Цикл
    НоменклатураОбъект = НоменклатураВыборка.ПолучитьОбъект();
    Форма = НоменклатураОбъект.ПолучитьФорму("ФормаЭлемента");
    Форма.Штрихкод = НоменклатураОбъект.КодСерийногоНомера;
    Форма.ТипСерийногоНомера = ПланывидовХарактеристик.ТипыШтрихкодов.EAN13;
    НоменклатураОбъект.Записать();

КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура Выполнить2(Команда)
    Выполнить2НаСервере();
КонецПроцедуры
1 SSSSS_AAAAA
 
11.08.20
12:23
(0) Потрясающе! Кто бы мог подумать!
Доку принципиально не читаем?
2 D_E_S_131
 
11.08.20
12:23
А для чего Вы получаете форму?
3 fisher
 
11.08.20
12:25
Я бы поставил вопрос крупнее. Для чего вообще написан весь этот бессмысленный код?
4 Z2020
 
11.08.20
12:27
Реквизит в форме заполнить
5 SSSSS_AAAAA
 
11.08.20
12:34
(4) ППЦ...
Реквизит в форме, обычно, заполняют &НаКлиенте. Ибо форма таки на клиенте находится...
Доку явно даже бегло не смотрели...
6 fisher
 
11.08.20
12:37
(4) Понятнее не стало. Давай задачу с самого начала понятными словами.
7 Timon1405
 
11.08.20
12:40
(5) Кодить весело, пока не наткнёшся на ошибку, которой нет на мисте и теперь тебе нужно читать полную документацию)©
8 Z2020
 
11.08.20
12:40
Нужно заполнить реквизит формы Штрихкод  из реквизита КодСерийногоНомера
9 Kesim
 
11.08.20
12:48
(8) реквизит (элемента справочника номенклатуры) или реквизит (формы элемента номенклатуры)? реквизит формы после закрытия конкретного экзимпляра формы исчезнет.
10 Kesim
 
11.08.20
12:49
(8) либо его надо заполнять при каждом открытии формы
11 fisher
 
11.08.20
12:51
(8) Какой формы? Открытой формы, в которой кнопка нажимается? А серийные номера зачем перезаписывать?
Смотрите. В (0) написан очевидный бред, из которого невозможно понять, что нужно получить на выходе.
Очевидно, что вы начинающий и сами реализовать не можете. А чтобы кто-то реализовал ее за вас и показал как надо, нужна максимально подробная и понятная информация о задаче. Кто, куда, почему.
12 Z2020
 
11.08.20
12:52
Реквизит формы элемента
13 Z2020
 
11.08.20
12:56
&НаСервере
Процедура Выполнить2НаСервере()
СерийныеНомераВыборка = Справочники.СерийныеНомера.Выбрать();
Пока СерийныеНомераВыборка.Следующий() Цикл
    СерийныеНомераОбъект = НоменклатураВыборка.ПолучитьОбъект();
    Форма = СерийныеНомераОбъект.ПолучитьФорму("ФормаЭлемента");
    Форма.Штрихкод = СерийныеНомераОбъект.КодСерийногоНомера;
    Форма.ТипСерийногоНомера = ПланывидовХарактеристик.ТипыШтрихкодов.EAN13;
    СерийныеНомераОбъект.Записать();

КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура Выполнить2(Команда)
    Выполнить2НаСервере();
КонецПроцедуры
14 fisher
 
11.08.20
13:00
Примерно так я себе и представлял первую версию нейросетки, призванной заменить программиста.
15 Kesim
 
11.08.20
13:05
(13)
1) открой в конфигураторе спр. номенклатура
2) убедись что у него нет реквизита Штрихкод, (если есть то писать надо в него а не в форму)
3) открой форму в конфигураторе - поищи откуда и как заполняется реквизит штрихкод(например тянется из регистра сведений)
4) запиши свой штрихкод туда откуда он тянется на форму
16 SSSSS_AAAAA
 
11.08.20
13:08
(13) Вы опять написали чушь. На Клиенте должна быть ВСЯ работа с формой.
17 Z2020
 
11.08.20
13:19
Каким образом вынести на клиент?
18 SSSSS_AAAAA
 
11.08.20
13:29
(17) Руками. На сервере оставить код получения значения, на клиента перенести код присвоения полученного значения.
Примеров в букварях туча.
19 D_E_S_131
 
11.08.20
13:33
(18) Да реквизит формы можно и на сервере заполнять. Вопрос только почему для получения нужного значения мы перебираем весь справочник СерийныеНомера? Ну и получать форму не нужно если она у нас и так есть (и открыта). :)
20 acht
 
11.08.20
13:33
(14) Ну, уже есть наработки, пишущие сортировку такми способом =)
https://github.com/gkoberger/stacksort
21 Kesim
 
11.08.20
13:38
(18) не советуйте чушь в правильном контексте.
суть задачи сделать так чтобы ШК отображался в форме номенклатуры
(19) это открыта форма "мегаобработки"
22 Z2020
 
11.08.20
13:40
Проставить штрихкоды из КодСерийногоНомера нужно во всем справочнике
23 D_E_S_131
 
11.08.20
13:43
(22) В (8) ты говорил, что нужно заполнить реквизит формы, а теперь это все же заполнение реквизитов элементов справочника?
24 Kesim
 
11.08.20
13:43
(22)  см (15)   форма совсем не нужна
25 SSSSS_AAAAA
 
11.08.20
13:43
(22) Если надо обработать ВЕСЬ справочник, то что вообще тут делает ФОРМА? Реквизит таки справочника надо поменять?
26 Kesim
 
11.08.20
13:44
(23) видимо до сегодняшнего дня для автора это было одно и то же
27 Z2020
 
11.08.20
13:44
Реквизит справочника только в форме
28 Kesim
 
11.08.20
13:46
(27) последний раз пишу, пройдись по пунктам из (15)
29 Kesim
 
11.08.20
13:46
(28) хотя до 2 пункта считай дошел
30 Kesim
 
11.08.20
13:48
и да, потестируй хорошенько на тестовой базе, иначе хана боевой базе
31 Z2020
 
11.08.20
13:48
Штрихкод реквизит формы с типом строка
32 Z2020
 
11.08.20
13:49
Розница 2.3 Справочник Серийные номера
33 Kesim
 
11.08.20
13:52
(31) смотри как заполняется.
после закрытия формы в ней ничего не сохраняется!
34 acht
 
11.08.20
13:55
(21) > суть задачи сделать так
О, а вот и постановщик этой мегазадачи. Здравствуйте! =)
35 fisher
 
11.08.20
14:01
(32) Внезапно
36 Z2020
 
11.08.20
14:17
Можно пример кода?
37 Kesim
 
11.08.20
15:01
(34) здравствуйте! не постановщик. после О!))))))
Программист всегда исправляет последнюю ошибку.