Значение не является значением объектного типа #753153


#0 by Farid2015
В форме документа в процедуре ТоварыНоменклатураПриИзменении(Элемент) написал: Для Каждого ТекСтрокаТовары Из Товары Цикл Если ТекСтрокаТовары.Номенклатура.ВестиСерийник = Истина Тогда В итоге ругается ) Покажите как надо?)
#1 by ДенисЧ
Я не стану угадывать строку ошибки за три попытки! Хотя и так всё ясно
#2 by butterbean
просто ппц... это нужно в ПриПолученииДанных делать
#3 by Farid2015
Я и не спорю, что ппц) Учусь я еще методом проб и ошибок )
#4 by ДенисЧ
А лучше учись методом чтения книжек...
#5 by Farid2015
Этот ответ тут часто звучит и естественно я должен ответить, что вот на выходных сяду за Радченко и Чистова, но некогда) Думал ткнете меня по-быстрому и все
#6 by Михаил Козлов
Что Вы написали, мы видим. А чего хотите добиться? Если количество = 1, то достаточно, примерно такого: ТекСтрокаТовары = ЭлементыФормы.Товары.ТекущиеДанные; Если ТекСтрокаТовары.Номенклатура.ВестиСерийник = Истина Тогда Если же запретить редактировать количество для таких строк, то это следует делать в другом событии табличного поля.
#7 by Farid2015
В УПП нет учета по серийным номерам на сырье и материалы как таковое. Пытаюсь реализовать (не по сериям), в регистр сведений делается строчка при Поступлении товаров. При перемещении между складами следовательно строчка по одному складу удаляется, по другому создается. Мне надо заставить товарища кладовщика по-строчно добавлять по одной позиции в документ, если номенклатура имеет "Вести серийник" и в ячейку Серийник вводить серийный номер. Кол-во 1 подставляется автоматом, вот надо чтоб количество и не изменяли после.
#8 by Михаил Козлов
а. Не красиво, но пусть изменяют, а Вы обратно в 1. б. Посмотрите события табличного поля: кажется, ПередНачаломИзменения. Только имейте в виду, что в этом событии параметр "Элемент" - это табличное поле и для получения реквизитов строки нужно взять ТекущиеДанные.
#9 by Farid2015
Короче, пришлось думать самому ) На форме дока ПриОткрытии Для Каждого ТекСтрокаТовары Из Товары Цикл Предупреждение("По номенклатуре " +ТекСтрокаТовары.Номенклатура + "ведется серийный номер, не забудь ввести!"); Для Каждого ТекСтрокаТовары Из Товары Цикл Предупреждение("Не меняй кол-во, блеать!"); При проведении делаются записи в регистре сведений через Записи = РегистрыСведений.Серийники.СоздатьНаборЗаписей;, а также идет проверка заполнения серийников. Всем спасибо )
#10 by Михаил Козлов
При таком ПриОткрытии, Вы столкнетесь с тем, что документ открыли, пытаются закрыть и получают предупреждение об изменении объекта. Кроме того, вряд ли оператор будет читать и записывать себе на бумажку на бумажку артикулы, по которым ему нужно не забыть указать серийник.
#11 by Farid2015
1) Предупреждения об изменении объекта при закрытии пустого незаполненного дока нет, спокойно закрывается. Если ТекСтрокаТовары.Номенклатура.ВестиСерийник = Истина и ТекСтрокаТовары.Серийник = "" Тогда Предупреждение("Не введен серийный номер!");     КонецЦикла; Не проводится док с пустым серийным номером.
#12 by Farid2015
#13 by 1sanekmaloi1
а если в серийник ввести пробел?
#14 by Михаил Козлов
В модуле объекта НЕ рекомендуется использовать Предупреждение. Делайте такое предупреждение в модуле формы в ПередЗаписью, а в модуле объекта в ПередЗаписью проверяйте и вырабатывайте Отказ = ИСТИНА. Про РС. Раз уж Вы пишете в него документ, как измерение, подчините тогда РС регистратору. Заодно не будет проблем с отменой проведения документа.
#15 by Farid2015
Ок, спасибо, это все поправлю, первый день занимаюсь. Если подчинять регистратору, тогда нет отбора по другим измерениям (серийник).
#16 by Farid2015
Пробел пишется в рс, завтра буду это все доделывать) Сейчас другая проблема появилась, док Перемещение товаров в проведении делает такое: Если кладовщик решит отменить проведение дока, нужно возвращать серийник на предыдущий склад ) А его я удалил проведением. Нужно новое измерение ПредСклад
#17 by 1sanekmaloi1
а кто учил имена такие дикие присваивать, "СерийныйНомер" нельзя назвать? Серийник звучит по гопски, как будто двоечник пишет.
#18 by Михаил Козлов
Вам нужен учет серийных номеров? Тогда это регистр накопления (приходная накладная: приход, перемещение: расход со склада отправителя и приход на склад получатель, расходная накладная - расход).
#19 by Farid2015
В колонке ТЧ у каждого дока в шапке Серийный номер, так что норм, но учту, делаю на скорую руку. А про регистр накопления... может и надо было, но начал на рс. У меня булево ЕстьНет отвечает за остатки ) Да и по сути, по тз нужно просто в будущем находить доки и видеть какой материал с каким серийников ушел на какую продукцию. Отчетов им не надо никаких, три раза переспросил.
#20 by Nuobu
Отчетов им не надо никаких - врут!
#21 by aleks_default
мда, начал с запрета изменения значения в ячейке, закончите, навеное, написанием своей УПП?
#22 by Farid2015
Прост самоучка, вылез пробел в самоучении в виде объектного ориентирования ) Думал здесь быстренько укажут и дальше пойду, а тут ругать начали )
#23 by Nuobu
Не тебя, а твой подход. То, что ты делаешь, вылезет тебе боком.
#24 by Nuobu
Переделай на РН, вместо серийника введи СерийныйНомер. СерийныйНомер сделай справочником, а не строкой.
#25 by Farid2015
1)Если СерийныйНомер сделать справочником, то это почти копия серии в УПП, можно было изначально на ней делать. 2)Как заходят отчеты и РН, это доп ТЗ и деньги, ну как то так )
#26 by Nuobu
Так используй серии.
#27 by Farid2015
Их кладовщику нужна строчка в доке, понимаешь ли лень зайти, создать новую строчку справочника и ее выбрать, плюс может ошибиться и выбрать имеющийся справочник, а тогда нарушается уникальность серийных номеров в природе ) А рисовать форму, которая за нее создавала бы и выбирала в док значение, мне было лень. Я пытался объяснить минусы, но как говорится - "что хотели, то и получат".
#28 by Nuobu
Я, конечно, программист, а не консультант, но тут проблема, как мне кажется, в том, что внедрением как раз прогер занимается, а не консультант. При консультанте нормальном такого не будет.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С