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

Автор Тема: Заполнить серии в документе  (Прочитано 7001 раз)

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

Оффлайн Kostik2013

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-02-11
  • Сайт: 
  • Профессия: Программист 8.1
1С:Предприятие 8.2 (8.2.18.61) У  ЧП Украины Базовая

Заполнял таким способом серии  номеклатуре по штрих коду (серия и штрих код одинаковые) а теперь нужно заполнить  документе серии. Везде поменял на Док,но ругается не находит серии. Подскажите,что нужно изменить или вообще по другому это заполняется?Всем спасибо!


Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
   //Получаем таблицу со штрих кодами   
   Док = ПолучитьШтрихкода ();
   // Проверка заполнения штрих кода
   Если Док.Количество () = 0 Тогда
      Возврат;
   КонецЕсли;
   //Установка серий
   УстановкаСерий (Док);
   ////Чистим
   //Табл = "";
     Сообщить ("Готово!");   
КонецПроцедуры

Процедура УстановкаСерий (Док)
   ///Создаем серии
   //Если Владелец ЭтоГруппа Тогда
   //    СледущаяСтрока Продолжить
   //    КонецЕсли;
   ДокументСерии    = Документы.ПоступлениеТоваровУслуг.Серии;
   РегШтрихКод = РегистрыСведений.Штрихкоды;
   Для каждого Док ИЗ Док Цикл
      
      //Если Док.Владелец.ЭтоГруппа Тогда
      //  Продолжить
      // КонецЕсли;
      ////проверка
      //Если ПроверкаДокументаСерии(Док.ШтрихКод,Док.Серии) тогда
      //   продолжить;
      //КонецЕсли;
      
      Если  ПроверкаДокументаСерии(Док.ШтрихКод,ДокументСерии) тогда
         продолжить;
      КонецЕсли;

      НоваяСерия               = Док.Серия.СоздатьЭлемент();
      НоваяСерия.Наименование  = Док.ШтрихКод ;
      НоваяСерия.СерийныйНомер = Док.ШтрихКод;
      НоваяСерия.Владелец      = Док.Владелец;
   
      НоваяСерия.Записать();
      //Устанавливаем серии в регистр штрих кодов
      Струк = Новый Структура ();
      Струк.Вставить("ШтрихКод", Док.ШтрихКод);
      ВыборкаШтрихКод = РегШтрихКод.Выбрать(Струк);
      Пока ВыборкаШтрихКод.Следующий() Цикл
         Запись = ВыборкаШтрихКод.ПолучитьМенеджерЗаписи();
         Запись.Прочитать();
         Запись.СерияНоменклатуры = НоваяСерия.Ссылка;
         Запись.Записать();         
      КонецЦикла;
      //Получаем объект номенклатура (для установки галочек)
      СпрНоменклатура = Док.Владелец.ПолучитьОбъект ();
      СпрНоменклатура.ВестиУчетПоСериям = Истина;
      СпрНоменклатура.ВестиУчетПоХарактеристикам = Истина;
      СпрНоменклатура.Записать();
   КонецЦикла;
КонецПроцедуры
//Проверка справочника серии
Функция ПроверкаДокументаСерии(СтрокаНаименования,ДокСерии)
   ФлагПроверки = Ложь;
   НайденнаяСсылка = ДокСерии.НайтиПоНаименованию(СтрокаНаименования,истина);
   Если НайденнаяСсылка = ДокСерии.ПустаяСсылка() Тогда
      ФлагПроверки = Ложь;
   иначе
      ФлагПроверки = Истина;
   КонецЕсли;
   возврат ФлагПроверки;
КонецФункции

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




Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Я только вот до сюда дочитал :D - Для каждого Док ИЗ Док Цикл в одной переменной и итератор и коллекция
Добавлено: 26 Июл 2013, 23:28

Интересно если в коллекции лежат еще коллекции, то это будет рекурсия?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн GRADUS

  • *****
  • Сообщений: 699
  • РЕПУТАЦИЯ: 51
  • КПД: 7%
  • Регистрация: 2013-06-08
  • Сайт: 
  • Профессия: Программист 1С
Та заливай сразу всю работу что у тебя есть сюда, мы будем её делать :bleh:

Оффлайн Kostik2013

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-02-11
  • Сайт: 
  • Профессия: Программист 8.1
Та заливай сразу всю работу что у тебя есть сюда, мы будем её делать :bleh:

Нет,спасибо))

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Дай попробую отгадать ошибку - Значение не является значением объектного типа (ШтрихКод) ?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Kostik2013

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-02-11
  • Сайт: 
  • Профессия: Программист 8.1
Дай попробую отгадать ошибку - Значение не является значением объектного типа (ШтрихКод) ?

нет))

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
нет))
Блин...
Добавлено: 26 Июл 2013, 23:40

Давай тогда по порядку выкладывай (ну например тут и тут не получается то то...)
Добавлено: 26 Июл 2013, 23:41

И если имеется ошибка - то обязательно ЕЕ текст
Добавлено: 26 Июл 2013, 23:42

По коду вроде на совсем новичка не похож
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Kostik2013

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-02-11
  • Сайт: 
  • Профессия: Программист 8.1
нет))
Блин...
Добавлено: 26 Июл 2013, 23:40

Давай тогда по порядку выкладывай (ну например тут и тут не получается то то...)
Добавлено: 26 Июл 2013, 23:41

И если имеется ошибка - то обязательно ЕЕ текст

Вот такая  Поле объекта не обнаружено (СерииНоменклатуры)
   ДокументСерия    = Документы.ПоступлениеТоваровУслуг.СерииНоменклатуры;


Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
   //Получаем таблицу со штрих кодами   
   Табл = ПолучитьШтрихкода ();
   // Проверка заполнения штрих кода
   Если Табл.Количество () = 0 Тогда
      Возврат;
   КонецЕсли;
   //Установка серий
   УстановкаСерий (Табл);
   //Чистим
   Табл = "";
     Сообщить ("Готово!");   
КонецПроцедуры

Процедура УстановкаСерий (Табл)
   //Создаем серии
   //Если Владелец ЭтоГруппа Тогда
   //    СледущаяСтрока Продолжить
   //    КонецЕсли;
   ДокументСерия    = Документы.ПоступлениеТоваровУслуг.СерииНоменклатуры;
   РегШтрихКод = РегистрыСведений.Штрихкоды;
   Для каждого Стр ИЗ Табл Цикл
      
      Если Стр.Владелец.ЭтоГруппа Тогда
        Продолжить
       КонецЕсли;
      //проверка
      Если  ПроверкаДокументаСерии(Стр.ШтрихКод,ДокументСерия) тогда
         продолжить;
      КонецЕсли;
      НоваяСерия               = ДокументСерия.СоздатьЭлемент();
      НоваяСерия.Наименование  = Стр.ШтрихКод ;
      НоваяСерия.СерийныйНомер = Стр.ШтрихКод;
      НоваяСерия.Владелец      = Стр.Владелец;
   
      НоваяСерия.Записать();
      //Устанавливаем серии в регистр штрих кодов
      Струк = Новый Структура ();
      Струк.Вставить("ШтрихКод", Стр.ШтрихКод);
      ВыборкаШтрихКод = РегШтрихКод.Выбрать(Струк);
      Пока ВыборкаШтрихКод.Следующий() Цикл
         Запись = ВыборкаШтрихКод.ПолучитьМенеджерЗаписи();
         Запись.Прочитать();
         Запись.СерияНоменклатуры = НоваяСерия.Ссылка;
         Запись.Записать();         
      КонецЦикла;
      //Получаем объект номенклатура (для установки галочек)
      СпрНоменклатура = Стр.Владелец.ПолучитьОбъект ();
      СпрНоменклатура.ВестиУчетПоСериям = Истина;
      СпрНоменклатура.ВестиУчетПоХарактеристикам = Истина;
      СпрНоменклатура.Записать();
   КонецЦикла;
КонецПроцедуры
//Проверка справочника серии
Функция ПроверкаДокументаСерии(СтрокаНаименования,ДокументСерии)
   ФлагПроверки = Ложь;
   НайденнаяСсылка = ДокументСерии.НайтиПоНаименованию(СтрокаНаименования,истина);
   Если НайденнаяСсылка = ДокументСерии.ПустаяСсылка() Тогда
      ФлагПроверки = Ложь;
   иначе
      ФлагПроверки = Истина;
   КонецЕсли;
   возврат ФлагПроверки;
КонецФункции

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


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2857
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Я так понимаю Документы.ПоступлениеТоваровУслуг.СерииНоменклатуры; это ты так табличной части пытаешься обратиться?
А какого документа?
Добавлено: 26 Июл 2013, 23:49

Документы.ПоступлениеТоваровУслуг - это не конкретный документ! Это все документы! Что бы выбрать табличную часть, сначала надо выбрать конкретный документ
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Kostik2013

  • ***
  • Сообщений: 114
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-02-11
  • Сайт: 
  • Профессия: Программист 8.1
Я так понимаю Документы.ПоступлениеТоваровУслуг.СерииНоменклатуры; это ты так табличной части пытаешься обратиться?
А какого документа?
Добавлено: 26 Июл 2013, 23:49

Документы.ПоступлениеТоваровУслуг - это не конкретный документ! Это все документы! Что бы выбрать табличную часть, сначала надо выбрать конкретный документ

Ой,пропустил. Документы.ПоступлениеТоваровУслуг.Товары.СерииНоменклатуры;


Теги:
 

заполнение закладки "Материалы" в документе "Поступление из переработки"

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

Ответов: 2
Просмотров: 3592
Последний ответ 10 Июн 2013, 22:34
от Sasa1C
Заполнение табличной части при выборе реквизита другой табличной части в документе.

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

Ответов: 5
Просмотров: 312
Последний ответ 25 Окт 2017, 14:15
от Vlad-93
УТ 11.В документе "Заявка на расходование денежных средств" нет кнопки "Печать"!

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

Ответов: 1
Просмотров: 3756
Последний ответ 29 Июн 2012, 18:37
от LexaK
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

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

Ответов: 5
Просмотров: 2030
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Не активно поле ПОЛУЧАТЕЛЬ в документе "выдача наличных" и в "кассовых документах"

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

Ответов: 1
Просмотров: 913
Последний ответ 31 Авг 2016, 16:02
от Masik777

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
170 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
49 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal