1.Имеется вот такая вот процедура. В справочнике ИнформационныеКарты ( это часть кода )
2.Имеется переменная " КодКарты ", которая является реквизитом у некоего справочника.
3.В режиме предприятия она естественно имеет поле Код Карты, которое задаётся в ручную.
4.Предприятие 8.3. Розница 2.2.2.0
Вопрос, как сделать, чтобы эта переменная при каждой новой записи автоматически выдавала
новое значение. А величина приращения была единицей?
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ВидКарты = Перечисления.ВидыИнформац� �онныхКарт.Штриховая Тогда
КодКарты = ("");
КонецЕсли;
Если ТипЗнч(ВладелецКарты) = Тип("СправочникСсылка.Контраге� �ты")
ИЛИ ТипКарты = Перечисления.ТипыИнформац� �онныхКарт.Регистрационная Тогда
ДатаСледующегоОпроса = Дата("00010101");
КонецЕсли;
КонецПроцедуры
avm3110
15.06.2016, 08:59
Ybxtuj yt gjyznyj
1.В справочнике ИнформационныеКарты ( это часть кода )
2.Имеется переменная " КодКарты ", которая является реквизитом у некоего справочника.
Так код карты это реквизит какого-то справочника или же это реквизит справочника "ИнформационныеКарты"?
- поле Код Карты, которое задаётся в ручную.
- Вопрос, как сделать, чтобы эта переменная при каждой новой записи автоматически выдавала
новое значение. А величина приращения была единицей?
Так Код карты задается вручную или же должен задаваться системой?
P.S. Заведи константу КодКарты в которой будет "последний занятый номер" и при записи номер карты бери из константы плюс один и записывай в константу новый номер.
StefanRal0618
15.06.2016, 16:34
1. Это реквизит "ИнформационныеКарты".
2. Должен задаваться автоматически при создании новой карты.
avm3110
15.06.2016, 16:51
Должен задаваться автоматически при создании новой карты.
В модуле объекта есть обработчик события "ПриУстановкеНовогоКода"
Вот в нём обращайтесь к константе, чтобы получить следующий номер для новой карты и изменить саму константу
StefanRal0618
16.06.2016, 01:24
Большое спасибо! Очень помогли. В общем и целом я разобрался.
Но кое-что всё-же не фурычит, а именно константа не увеличивается. В связи с этим последний вопрос.
У меня получился вот такой вот кусок. Чего здесь не хватает, чтобы константа при создании новой записи увеличивалась на единицу?
его здесь не хватает, чтобы константа при создании новой записи увеличивалась на единицу?
Хм-м-м.. Ну не знаю..:confused: На мой взгляд тут явно, кроме функции "получить" номер из константы, не хватает процедуры "установить" в константу новый номер (увеличенный на единицу).
или я не прав?:blush:
StefanRal0618
16.06.2016, 15:47
Боюсь показаться дураком, но с 1с я познакомился совсем недавно и то по острой необходимости. Ибо кроме меня заняться больше некому. С обработчиками я не очень понимаю как работать.
Процедура как я понимаю должна быть такая. Однако что в ней сделать, чтобы константа с каждой записью брала предыдущее значение и прибавляла единицу ума не приложу. Там цикл нужен или что?
avm3110
16.06.2016, 16:03
Процедура как я понимаю должна быть такая. Однако что в ней сделать, чтобы константа с каждой записью брала предыдущее значение и прибавляла единицу ума не приложу. Там цикл нужен или что?
Ну вначале нужно определиться типом данных... Тип НомерКарты и тип Констатна.КодКарты это число или строка?