Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
26 Июл 2017, 15:42
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Справочник. Автоматическое заполнение реквизита.  (Прочитано 570 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dds1990

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-08
  • Сайт: 
  • Профессия: Ученик 1С
Всем доброго времени суток!

Существует такая задачка - Необходимо заполнять справочник при проведении документа, в целом с ней я справился, но есть один нюанс... В один из реквизитов справочника необходимо генерировать числовой код, который в свою очередь не должен совпадать с числовыми кодами сгененированными ранее. Буду благодарен любой помощи!

// Заполнение справочника УникальныеНомера

  Для Каждого СтрокаТабличнойЧасти ИЗ ТабОборотНоменклатуры Цикл
КоличествоНоменклатуры = СтрокаТабличнойЧасти.Количество;
Пока КоличествоНоменклатуры > 0 Цикл
НовыйЭлемент = Справочники.УникальныеНомера.СоздатьЭлемент();
НовыйЭлемент.Наименование = СтрокаТабличнойЧасти.Наименование;
НовыйЭлемент.УникальныйНомер = ; // На этом этапе у меня возникает вопрос.
НовыйЭлемент.Записать();
КоличествоНоменклатуры = КоличествоНоменклатуры - 1;
КонецЦикла;
КонецЦикла;


Оффлайн Дмитрий@

  • *****
  • Сообщений: 731
  • РЕПУТАЦИЯ: 133
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
А почему нельзя использовать стандартные свойства справочника "Автонумерация"?
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн DmitriyF

  • *****
  • Сообщений: 706
  • РЕПУТАЦИЯ: 43
  • КПД: 6%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
Всем доброго времени суток!

Существует такая задачка - Необходимо заполнять справочник при проведении документа, в целом с ней я справился, но есть один нюанс... В один из реквизитов справочника необходимо генерировать числовой код, который в свою очередь не должен совпадать с числовыми кодами сгененированными ранее. Буду благодарен любой помощи!

// Заполнение справочника УникальныеНомера

  Для Каждого СтрокаТабличнойЧасти ИЗ ТабОборотНоменклатуры Цикл
КоличествоНоменклатуры = СтрокаТабличнойЧасти.Количество;
Пока КоличествоНоменклатуры > 0 Цикл
НовыйЭлемент = Справочники.УникальныеНомера.СоздатьЭлемент();
НовыйЭлемент.Наименование = СтрокаТабличнойЧасти.Наименование;
НовыйЭлемент.УникальныйНомер = ; // На этом этапе у меня возникает вопрос.
НовыйЭлемент.Записать();
КоличествоНоменклатуры = КоличествоНоменклатуры - 1;
КонецЦикла;
КонецЦикла;
так в чем проблема то, получаешь последний код и делай с ним что хочешь. Увеличивай уменьшай. Если конечно по порядку.

Оффлайн dds1990

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-08
  • Сайт: 
  • Профессия: Ученик 1С
А почему нельзя использовать стандартные свойства справочника "Автонумерация"?

Я думал об этом, в перспективе это должно стать печатным штрих кодом, автонумерация не очень в этом плане подходит.
Добавлено: 08 Ноя 2015, 15:55

Всем доброго времени суток!

Существует такая задачка - Необходимо заполнять справочник при проведении документа, в целом с ней я справился, но есть один нюанс... В один из реквизитов справочника необходимо генерировать числовой код, который в свою очередь не должен совпадать с числовыми кодами сгененированными ранее. Буду благодарен любой помощи!

// Заполнение справочника УникальныеНомера

  Для Каждого СтрокаТабличнойЧасти ИЗ ТабОборотНоменклатуры Цикл
КоличествоНоменклатуры = СтрокаТабличнойЧасти.Количество;
Пока КоличествоНоменклатуры > 0 Цикл
НовыйЭлемент = Справочники.УникальныеНомера.СоздатьЭлемент();
НовыйЭлемент.Наименование = СтрокаТабличнойЧасти.Наименование;
НовыйЭлемент.УникальныйНомер = ; // На этом этапе у меня возникает вопрос.
НовыйЭлемент.Записать();
КоличествоНоменклатуры = КоличествоНоменклатуры - 1;
КонецЦикла;
КонецЦикла;
так в чем проблема то, получаешь последний код и делай с ним что хочешь. Увеличивай уменьшай. Если конечно по порядку.

Опыта обращения с языком не хватает,пока не могу понять как это сделать, решился спросить.

Оффлайн Дмитрий@

  • *****
  • Сообщений: 731
  • РЕПУТАЦИЯ: 133
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Алгоритм создания номеров опишите.
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB

Оффлайн DmitriyF

  • *****
  • Сообщений: 706
  • РЕПУТАЦИЯ: 43
  • КПД: 6%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
dds1990, а какая разница? у тебя уже код есть по умолчанию. используй его да и все.
Добавлено: 08 Ноя 2015, 16:06

Дмитрий@, я так понимаю он не знает алгоритма. ему нужен полный рандом

Оффлайн dds1990

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-08
  • Сайт: 
  • Профессия: Ученик 1С
А почему нельзя использовать стандартные свойства справочника "Автонумерация"?

Создаваться должно по типу
xxx-yyy + 1

где x - вид номенклатуры выраженный числом, а y - единица номенклатуры.


Оффлайн DmitriyF

  • *****
  • Сообщений: 706
  • РЕПУТАЦИЯ: 43
  • КПД: 6%
  • Регистрация: 2013-03-18
  • Сайт: 
  • Профессия: Разработчик 1С
ГСЧ = Новый ГенераторСлучайныхЧисел(255);
ГСЧ.СлучайноеЧисло(0, 10000);

Добавлено: 08 Ноя 2015, 16:12

А почему нельзя использовать стандартные свойства справочника "Автонумерация"?

Создаваться должно по типу
xxx-yyy + 1

где x - вид номенклатуры выраженный числом, а y - единица номенклатуры.
прочитай свое первое сообщение. мы сами должны гадать что у тебя к чему.
Добавлено: 08 Ноя 2015, 16:40

так в чем точнее проблема? у тебя уже есть некоторые данные. правильно? ты более точнее напиши что не получается

Последний раз редактировалось: DmitriyF; 08 Ноя 2015, 16:40. Причина: Объединение сообщений

Оффлайн Дмитрий@

  • *****
  • Сообщений: 731
  • РЕПУТАЦИЯ: 133
  • КПД: 18%
  • Ссылка на примеры работ https://yadi.sk/d/ksVluPMB
  • Регистрация: 2015-02-27
    • Skype: ShuplecovDima
  • Сайт: 
  • Профессия: Программист 1С
Если длина номера не фиксирована и не дополняется нулями, то можно так
Цитировать
&НаСервере
Функция УстановитьУникальныйНомерНаСервере()
   
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
   |   ПОДСТРОКА(Номенклатура.Код, 7, 5) КАК Номер
   |ИЗ
   |   Справочник.Номенклатура КАК Номенклатура";
   Результат = Запрос.Выполнить();
   Выборка = Результат.Выбрать();
   ТаблицаЗначений = Новый ТаблицаЗначений;
   МассивТипов = Новый Массив;
   МассивТипов.Добавить(Тип("Число"));
   КвалификаторыЧисла = Новый КвалификаторыЧисла(5,0);
   ОписаниеТипов = Новый ОписаниеТипов(МассивТипов,,КвалификаторыЧисла);
   ТаблицаЗначений.Колонки.Добавить("Номер",ОписаниеТипов);
   Пока Выборка.Следующий() Цикл
      НоваяСтрока = ТаблицаЗначений.Добавить();
      НоваяСтрока.Номер = Число(Выборка.Номер);
   КонецЦикла;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   Таблица.Номер
   |ПОМЕСТИТЬ ВТТаблица
   |ИЗ
   |   &Таблица КАК Таблица
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ ПЕРВЫЕ 1
   |   Таблица.Номер
   |ИЗ
   |   ВТТаблица КАК Таблица
   |
   |УПОРЯДОЧИТЬ ПО
   |   Таблица.Номер УБЫВ";
   Запрос.УстановитьПараметр("Таблица",ТаблицаЗначений);
   Результат = Запрос.Выполнить();
   Выборка = Результат.Выбрать();
   МаксимальныйНомер = 0;
   Пока Выборка.Следующий() Цикл
      МаксимальныйНомер = Выборка.Номер;
   КонецЦикла;
   Возврат МаксимальныйНомер;
   
КонецФункции

&НаКлиенте
Процедура УстановитьУникальныйНомер(Команда)
   МаксимальныйНомер = УстановитьУникальныйНомерНаСервере();
   УникальныйНомер = "ВидНоменклатуры"+"ЕдиницаНоменклатуры"+Строка(МаксимальныйНомер+1);
КонецПроцедуры
Ссылка на примеры работ https://yadi.sk/d/ksVluPMB


Теги:
 

Заполнение табл. части документа из табл. части другого документа

Автор WillРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 11
Просмотров: 6749
Последний ответ 16 Авг 2012, 21:50
от Will
Заполнение табличной части документа табличной частью из другого документа

Автор PeaceownerРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2330
Последний ответ 30 Ноя 2011, 07:10
от has
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3777
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

Автор kaf_infoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 304
Последний ответ 10 Май 2017, 20:44
от ilnur75
заполнение закладки "Материалы" в документе "Поступление из переработки"

Автор Sasa1CРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3309
Последний ответ 10 Июн 2013, 22:34
от Sasa1C

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alex0402
94 Сообщений
oleg-x
82 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
Golickoff Golickoff
51 Сообщений
AIFrame
46 Сообщений
ilyay ilyay
42 Сообщений
Амал
30 Сообщений
lansy
22 Сообщений
Dethmontt Dethmontt
22 Сообщений
xproh
21 Сообщений

* Кто онлайн

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal