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

Автор Тема: Табличный документ.  (Прочитано 7112 раз)

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

Оффлайн LAFUDR

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-06-29
  • Сайт: 
  • Профессия: Программист 8.1
Вечер добрый.
Вопрос заключается в следующем:
Необходимо организовать таличный документ в который будут вводиться товары с ценами, количеством и т.д.
в котором наименование товара повторяться не будет.

Я смог организовать 2-мя способами.
1-й связал таблицу с регистром сведений по полям Измерение - Номенклатура, Ресурс - Номенклатура.
2-й при вводе товара проверяет таблицу на наличие такого же товара (Циклом).

Если ли еще способы организации данного действия (более простые и правильные?).


Оффлайн Шурыгин Иван Сергеевич

  • забей на все....
  • ****
  • Сообщений: 330
  • РЕПУТАЦИЯ: 82
  • КПД: 25%
  • забей на все!
  • Регистрация: 2011-05-23
  • Сайт: 
  • Профессия: Программист 8.1
это вы создаете отчет? или проверку при записи?

Необходимо организовать таличный документ в который будут вводиться товары с ценами, количеством и т.д.
в котором наименование товара повторяться не будет.


и


Я смог организовать 2-мя способами.
1-й связал таблицу с регистром сведений по полям Измерение - Номенклатура, Ресурс - Номенклатура.
2-й при вводе товара проверяет таблицу на наличие такого же товара (Циклом).


как то не сходится.. либо вы ради отчета заполняете регистр сведений. либо причем тут табличный документ?
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Оффлайн LAFUDR

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-06-29
  • Сайт: 
  • Профессия: Программист 8.1
Пытаюсь создать проверку при записи.
Как правильно будет сделать?

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Пытаюсь создать проверку при записи.
Как правильно будет сделать?
Еще раз по порядку...табличный документ вообще не понятен в данном контексте

Оффлайн LAFUDR

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-06-29
  • Сайт: 
  • Профессия: Программист 8.1
Неправильно выразился. Не табличный документ а табличная часть.
Имеем справочник Номенклатура, Документ приходная в котором создана форма элемента. На данной форме расположено табличное поле товары, одним из реквизитов таблицы является номенклатура.
Необходимо при записи документа осуществлять контроль дублей строк в табличной части, т.е. если в табличной части содержатся 2 строки с одним и тем же товаром, документ не записывается

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Вариантов реализации масса.

Вот один из них, который первым пришел в голову:
   ТЗ = Док.Товары.Выгрузить(, "Номенклатура");
   ТЗ.Колонки.Добавить("Единица");
   ТЗ.ЗаполнитьЗначения(1, "Единица");
   ТЗ.Свернуть("Номенклатура", "Единица");
   Для Каждого ТекСтрока Из ТЗ Цикл
      Если ТекСтрока.Единица > 1 Тогда
         Сообщить("Номенклатура " + ТекСтрока.Номенклатура + " встречается " + Строка(ТекСтрока.Единица));
      КонецЕсли;
   КонецЦикла;

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
Суть метода заключается в следующем: выгружаем нашу колонку с номенклатурой из документа (Док) в таблицу значений. Далее в таблицу значений добавляем новую колонку "Единица". Заполняем ее 1.
Далее делаем свертку таблицы по номенклатуре. Если номенклатура встречается не один раз, то в поле "Единица" будет число > 1. Все что осталось сделать - обойти нашу таблицу значений и проверить, где значение > 1

Оффлайн LAFUDR

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-06-29
  • Сайт: 
  • Профессия: Программист 8.1
Помойму мой первый вариант был чуток проще:

Процедура ПроверкаНоменклатуры (Элемент)
   
   КолНоменклатур = 0;
   
   Для Каждого ТекСтрокаТовары Из Товары Цикл
      Если ТекСтрокаТовары.Номенклатура.Наименование = Элемент.Значение.Наименование Тогда
          КолНоменклатур = КолНоменклатур +1;
       КонецЕсли;         
   КонецЦикла;
   Если КолНоменклатур >1 Тогда
      Сообщить("Данная номеклатура уже присутствует в списке!");
      ТекСтрокаТовары.Номенклатура ="";
   КонецЕсли;   
      
 КонецПроцедуры

Вопрос по коду:
1. Как прервать цикл? (какая команда)
2. После данного кода в текущей строке образуется пробел на месте номенклатуры, хочу удалить строку. (в поиске команду не нашел).
3. После выдачи сообщения снова открывается окно выбора номенклатры. Как организовать?
Пробовал код
Форма= Справочники.Номенклатура.ПолучитьФормуСписка("ФормаСписка");
Форма.Открыть();

Форма открывается, но номенклатура не выбирается.

Оффлайн progmikon

  • *****
  • Сообщений: 2090
  • РЕПУТАЦИЯ: 371
  • КПД: 18%
  • Регистрация: 2010-10-09
  • Компания: http://progmikon.blogspot.com/
  • Профессия: Программист 1С
1. Прервать
2. Добавляйте эти строки в массив
МассивНаУдаление = Новый Массив;
.....
МассивНаУдаление.Добавить(ТекСтрокаТовары);
Для Каждого ТекЭлемент Из МассивНаУдаление Цикл
Товары.Удалить(ТекЭлемент);
КонецЦикла;
3. Не понял

Оффлайн LAFUDR

  • *
  • Сообщений: 10
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-06-29
  • Сайт: 
  • Профессия: Программист 8.1
Прервать прерывает цикл, а как прервать выполнение процедуры?

Мы можем программно открыть окно выбора номенклатуры из табличного поля товары?
При выборе номенклатуры в табличной части появляется выбранная номенклатура.


Теги:
 

не находить контрагента (Выбрать * Из Документ ГДЕ контрагент = "имя контрагента")

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

Ответов: 3
Просмотров: 245
Последний ответ 23 Окт 2017, 23:14
от Ivan94
Какова взаимосвязь объектов конфигурации "Договоры" и "Документ"?

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

Ответов: 0
Просмотров: 4408
Последний ответ 25 Ноя 2008, 10:43
от DDD
Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

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

Ответов: 14
Просмотров: 9364
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
не могу вывести отображение цен в "подборе" документ "Заявка покупателя" УТ 10.3

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

Ответов: 5
Просмотров: 3933
Последний ответ 05 Окт 2015, 19:22
от Виталий Емельянов
Как программно открыть документ программно

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

Ответов: 5
Просмотров: 19066
Последний ответ 10 Ноя 2010, 14:08
от Lexius

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
48 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal