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

Автор Тема: Выбор из остатков в регистре накопления  (Прочитано 2739 раз)

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

Оффлайн utkin295

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-03
  • Сайт: 
  • Профессия: Программист 1С
Доброе время суток. Прошу прощения, если неверно оформил тему.
Для контрольной работы выбрал тему создания системы учета книг в библиотеке. Создал регистр накопления (назвал ХранилищеКниг) в котором должен, по моей задумке, храниться весь книжный фонд библиотеки (база не претендует на универсальность, задача научиться писать простенькие конфигурации). Поступление книг в библиотеку оформил без проблем. Теперь настала очередь выдачи книги читателю. Дело в том, что при создании стандартной формы документа при выборе книги, список книг можно выбрать только из справочника книг. Мне же нужно выбрать только те книги, которые присутствуют на данный момент в книжном фонде, то есть чтобы показывалось окошко выбора книги из регистра накопления. Таким образом, я хочу избежать шаманства при проведении документа, да и вообще проще выбирать из того что есть в наличии. Достаточно будет только убедиться в отсутствии дубликатов (все книги в единственном экземпляре, то есть имеется универсальный код, который позволяет отличать даже одноименные книги). Подскажите как такое можно реализовать.

ЗЫ. 1С 8.2


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

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

Оффлайн Iric28

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 2
  • КПД: 20%
  • Регистрация: 2014-11-07
  • Сайт: 
  • Профессия: Ученик 1С
utkin295, в таком случае вам необходимо будет создать форму подбора, в которой и выводить список имеющихся книг. Форму открывать при выборе книги и выбранный элемент проверять на уникальность.

Оффлайн utkin295

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-03
  • Сайт: 
  • Профессия: Программист 1С
Спасибо за ответы.
Можно немного подробней? Я так понимаю это нужно делать в реквизитах? Где-то можно взять подобный пример (необязательно регистр накопления)? Или форма подбора необходимо задавать в самом справочнике?

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

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

Оффлайн Rolliielf

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 2
  • КПД: 40%
  • Регистрация: 2015-05-18
  • Сайт: 
  • Профессия: Ученик 1С
  Попробуйте действительно с динамическим списком. На форме выдачи книги при выборе книги в табличной части формируем данные выбора сами. Например так
&НаКлиенте
Процедура ТоварыКнигиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   СтандартнаяОбработка = Ложь;
   СформироватьСписокКнигНаСервере();
   ДанныеВыбора =  СформироватьСписокКнигНаСервере();

КонецПроцедуры

 
&НаСервереБезКонтекста
Функция СформироватьСписокКнигНаСервере()
   
   СписокКниг = Новый СписокЗначений;
        
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   Книги.Ссылка
      |ИЗ
      |   Справочник.Книги КАК Книги";

   РезультатЗапроса = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         СписокКниг.Добавить(ВыборкаДетальныеЗаписи.Ссылка);
    КонецЦикла;
   
   Возврат СписокКниг;
   
КонецФункции

Только запросом нужно выбрать книги из регистра остатков (я его не создавала).

Оффлайн utkin295

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-03
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Вы сделайте что-то а мы направим.
Я сделал для справочника форму выбора, она неосновная. Там есть Список с типом ДинамическийСписок. В свойствах указал для пункта Основная таблица свой регистр накопления ХранилищеКниг.Остатки. Окошко в дизайнере перестроилось в соответствии походим на правду (если судить по названиям колонок). Далее перешел в свой документ, на Форму Документа и в табличной части на список в котором идет отсылка к справочнику с книгами (прям нажал на название колонки в таблице) в пункте ФормаВыбора указал свою форму выбора. При запуске показывается все книги, но не отдельным окошком, а просто выпадающим списком. Пытался добиться прямой связи из формы документа (это еще до того как мне подсказали с формой выбора) с регистром накопления, но не нашел как этого добиться. Также пытался сделать общую форму в конфигурации в пункте Общие, по примеру из инета. Но там требовалось писать код ручками, что естественно не осилил.
Также хочу сообщить что знания мои в 1с весьма и весьма поверхностны. Наш преподаватель ушел в декрет и вместо нее преподавала другая тетка, которая давала программирование для 1с 8.0, причем в весьма узком спектре (упражнение и код к нему, любое отклонение от задания уже все преподаватель ответить не могла). Работаем мы в версии 8.2 и большую часть заданий удавалось сделать автоматически (исключение - подсчет суммы, количество* на цену). Запросы как мне показалось писать проще, 8.2 в этом плане наверно более автоматизирована.
Конечно мы изучали дерево объектов (опять же на примерах к 8.0), но этого явно недостаточно. Прежде чем обратиться сюда, я пытался найти ответ в информационных материалах к программе 1с версии обучения программированию, в частности в книге "Практическое пособие разработчика". Но там именно то, что мне нужно не реализовано и склад свободно загоняется в минуса (можно выдать со склада больше чем положили). Так я могу и сам сделать. Мне нужно получать информацию именно с регистра накопления (и желательно без кнопки Подбор, чтобы у пользователя даже возможности не было выбрать что-то не то).
Цитировать
На форме выдачи книги при выборе книги в табличной части формируем данные выбора сами.
Спасибо за код. Я попробую его адаптировать под свои нужды (правда понимаю его чуть более чем никак).
Вообще для моей контрольной это основная загвоздка :D, все остальное примитив (типа ввести в свою работу перечисления и константы, сделать отчеты и т.д.) и ранее на лпз эти вопросы мы рассматривали. Главная проблема - логическая целостность в регистре накопления и учитывая, что в коде я шарю чуть более чем никак, хочется сделать это автоматически средствами 1с, без программирования. 

Оффлайн Rolliielf

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 2
  • КПД: 40%
  • Регистрация: 2015-05-18
  • Сайт: 
  • Профессия: Ученик 1С
в коде я шарю чуть более чем никак
Очень грустно. Я уже хотела вам предложить организовать подбор, т.к. выпадающий список конечно здорово, но искать в нем нужную книгу очень не просто. А с подбором, я боюсь, вы не справитесь.

Добавлено: 19 Май 2015, 12:15

(все книги в единственном экземпляре, то есть имеется универсальный код, который позволяет отличать даже одноименные книги)
Получается, что книга в фонде либо есть, либо нет. Нельзя добавить в фонд одну книгу 5 штук. И выдать две одинаковые книги тоже нельзя. я правильно поняла?

Последний раз редактировалось: Rolliielf; 19 Май 2015, 12:15. Причина: Объединение сообщений

Оффлайн utkin295

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-10-03
  • Сайт: 
  • Профессия: Программист 1С
Цитировать
Очень грустно. Я уже хотела вам предложить организовать подбор, т.к. выпадающий список конечно здорово, но искать в нем нужную книгу очень не просто. А с подбором, я боюсь, вы не справитесь.
Да, мне на примере запросов казалось, что эту функцию можно выполнить "мышкой". Я вообще сначала искренне верил, что решение возможно как в документе в реквизитах просто делаю ссылку на регистр накопления да и все.
Цитировать
Получается, что книга в фонде либо есть, либо нет. Нельзя добавить в фонд одну книгу 5 штук. И выдать две одинаковые книги тоже нельзя. я правильно поняла?
Да. Формально они уникальны по инвентарному номеру, по всем остальным показателям могут совпадать (ну там наименование, жанр и автор). То есть могут быть несколько книг Война и Мир Толстого, но у них будут разные инвентарные номера.

Оффлайн Rolliielf

  • *
  • Сообщений: 5
  • РЕПУТАЦИЯ: 2
  • КПД: 40%
  • Регистрация: 2015-05-18
  • Сайт: 
  • Профессия: Ученик 1С
Может тогда отслеживать книги через регистр сведений. Измерение-книга, ресурс - Наличие булевского типа. Пришла книга - наличие = истина. выдали книгу - наличие = ложь. Тогда предложенный выше динамический список можно формировать запросом

   Запрос.Текст =
      "ВЫБРАТЬ
      |   КнижныйФонд.Книга
      |ИЗ
      |   РегистрСведений.КнижныйФонд КАК КнижныйФонд
      |ГДЕ
      |   КнижныйФонд.Наличие = ИСТИНА";
 Только выдавать книги придется по одной, т.е. реквизитом, а не в таблице.


Теги:
 

Отчеты "Ведомость ОС, НМА" и "Ведомость остатков материалов"

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

Ответов: 0
Просмотров: 2612
Последний ответ 04 Апр 2015, 06:15
от OlegatorOG
«Единица для отчетов» и «Единица хранения остатков»

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

Ответов: 2
Просмотров: 7577
Последний ответ 14 Фев 2012, 02:29
от Dethmontt
В чем отличие регистра оборотов и регистра остатков

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

Ответов: 2
Просмотров: 347
Последний ответ 20 Сен 2017, 11:03
от ilyay
Отличие проводки по регистру сведений от проводки по регистру накопления?

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

Ответов: 2
Просмотров: 4858
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Просмотр остатков из документа "Заказ Покупателя"

Автор Игорь ПолищукРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2864
Последний ответ 24 Авг 2011, 20:29
от Eugeneer

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
141 Сообщений
AIFrame
73 Сообщений
ilyay ilyay
65 Сообщений
alex0402
52 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
31 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 323
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal