Показано с 1 по 9 из 9
-
14.06.2016, 22:54 #1
- Регистрация
- 07.06.2016
- Сообщений
- 5
- Сказал(а) спасибо
- 2
- Поблагодарили 0 раз(а) в 0 сообщениях
Очень нужна помощь в программировании!
1.Имеется вот такая вот процедура. В справочнике ИнформационныеКарты ( это часть кода )
2.Имеется переменная " КодКарты ", которая является реквизитом у некоего справочника.
3.В режиме предприятия она естественно имеет поле Код Карты, которое задаётся в ручную.
4.Предприятие 8.3. Розница 2.2.2.0
Вопрос, как сделать, чтобы эта переменная при каждой новой записи автоматически выдавала
новое значение. А величина приращения была единицей?
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ВидКарты = Перечисления.ВидыИнформац� �онныхКарт.Штриховая Тогда
КодКарты = ("");
КонецЕсли;
Если ТипЗнч(ВладелецКарты) = Тип("СправочникСсылка.Конт� �агенты")
ИЛИ ТипКарты = Перечисления.ТипыИнформац� �онныхКарт.Регистрационная Тогда
ДатаСледующегоОпроса = Дата("00010101");
КонецЕсли;
КонецПроцедуры
-
15.06.2016, 08:59 #2
- Регистрация
- 29.01.2010
- Сообщений
- 1212
- Сказал(а) спасибо
- 30
- Поблагодарили 261 раз(а) в 245 сообщениях
Re: Очень нужна помощь в программировании!
Ybxtuj yt gjyznyj
1.В справочнике ИнформационныеКарты ( это часть кода )
2.Имеется переменная " КодКарты ", которая является реквизитом у некоего справочника.
- поле Код Карты, которое задаётся в ручную.
- Вопрос, как сделать, чтобы эта переменная при каждой новой записи автоматически выдавала
новое значение. А величина приращения была единицей?
P.S. Заведи константу КодКарты в которой будет "последний занятый номер" и при записи номер карты бери из константы плюс один и записывай в константу новый номер.
-
15.06.2016, 16:34 #3
- Регистрация
- 07.06.2016
- Сообщений
- 5
- Сказал(а) спасибо
- 2
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Очень нужна помощь в программировании!
1. Это реквизит "ИнформационныеКарты".
2. Должен задаваться автоматически при создании новой карты.
-
15.06.2016, 16:51 #4
- Регистрация
- 29.01.2010
- Сообщений
- 1212
- Сказал(а) спасибо
- 30
- Поблагодарили 261 раз(а) в 245 сообщениях
Re: Очень нужна помощь в программировании!
Должен задаваться автоматически при создании новой карты.
Вот в нём обращайтесь к константе, чтобы получить следующий номер для новой карты и изменить саму константу
-
Пользователь сказал cпасибо:
StefanRal0618 (16.06.2016)
-
16.06.2016, 01:24 #5
- Регистрация
- 07.06.2016
- Сообщений
- 5
- Сказал(а) спасибо
- 2
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Очень нужна помощь в программировании!
Большое спасибо! Очень помогли. В общем и целом я разобрался.
Но кое-что всё-же не фурычит, а именно константа не увеличивается. В связи с этим последний вопрос.
У меня получился вот такой вот кусок. Чего здесь не хватает, чтобы константа при создании новой записи увеличивалась на единицу?
Процедура ПриУстановкеНовогоКода(Ст� �ндартнаяОбработка, Префикс)
// Вставить содержимое обработчика.
КодКарты = ПолучитьПрефиксНомера();
КонецПроцедуры
Функция ПолучитьПрефиксНомера() Экспорт
Возврат Константы. КодКарты.Получить();
-
16.06.2016, 08:49 #6
- Регистрация
- 29.01.2010
- Сообщений
- 1212
- Сказал(а) спасибо
- 30
- Поблагодарили 261 раз(а) в 245 сообщениях
Re: Очень нужна помощь в программировании!
его здесь не хватает, чтобы константа при создании новой записи увеличивалась на единицу?
или я не прав?:blush:
-
16.06.2016, 15:47 #7
- Регистрация
- 07.06.2016
- Сообщений
- 5
- Сказал(а) спасибо
- 2
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Очень нужна помощь в программировании!
Боюсь показаться дураком, но с 1с я познакомился совсем недавно и то по острой необходимости. Ибо кроме меня заняться больше некому. С обработчиками я не очень понимаю как работать.
Процедура ПриУстановкеНовогоКода(Ст� �ндартнаяОбработка, Префикс)
// Вставить содержимое обработчика.
КодКарты = ПолучитьПрефиксНомера();
КонецПроцедуры
Функция ПолучитьПрефиксНомера() Экспорт
Возврат Константы. КодКарты.Получить();
КонецФункции
Процедура УстановитьНовыйНомер();
Константы.КодКарты.Установ ить();
КонецПроцедуры
Процедура как я понимаю должна быть такая. Однако что в ней сделать, чтобы константа с каждой записью брала предыдущее значение и прибавляла единицу ума не приложу. Там цикл нужен или что?
-
16.06.2016, 16:03 #8
- Регистрация
- 29.01.2010
- Сообщений
- 1212
- Сказал(а) спасибо
- 30
- Поблагодарили 261 раз(а) в 245 сообщениях
Re: Очень нужна помощь в программировании!
Ну вначале нужно определиться типом данных... Тип НомерКарты и тип Констатна.КодКарты это число или строка?
Если число, тогда
Процедура ПриУстановкеНовогоКода(Ст� �дартнаяОбработка, Префикс)
// Вставить содержимое обработчика.
КодКарты = ПолучитьПрефиксНомера();
УстановитьНовыйНомер (КодКарты + 1);
КонецПроцедуры
Функция ПолучитьПрефиксНомера() Экспорт
Возврат Константы.КодКарты.Получит ь();
КонецФункции
Процедура УстановитьНовыйНомер(Новы� �Номер);
Константы.КодКарты.Установ ить(НовыйНомер);
КонецПроцедуры
Ну а если же КодКарты и Константа.КодКарты это например строка, то тогда меняется лишь оператор
УстановитьНовыйНомер (Формат(Число(КодКарты) + 1));
-
Пользователь сказал cпасибо:
StefanRal0618 (16.06.2016)
-
16.06.2016, 16:39 #9
- Регистрация
- 07.06.2016
- Сообщений
- 5
- Сказал(а) спасибо
- 2
- Поблагодарили 0 раз(а) в 0 сообщениях
Re: Очень нужна помощь в программировании!
Ещё раз большое спасибо!
-
Похожие темы
-
Помогите новичку в программировании
от CaptainZolch в разделе Конфигурирование, программирование 1С - ПредприятиеОтветов: 2Последнее сообщение: 14.06.2016, 10:59 -
Книги о программировании
от foxtransfer в разделе eBooksОтветов: 0Последнее сообщение: 22.04.2011, 14:12 -
нужна помощь в написании программки
от inn в разделе Прикладное программированиеОтветов: 1Последнее сообщение: 14.07.2008, 11:42
Социальные закладки