При копировании строки 1с очистить реквизит

Войти или зарегистрироваться

[РЕШЕНО] При копирование

Тема в разделе «Конфигурирование на платформе «1С:Предприятие 8″», создана пользователем Эмиль0690, 13 ноя 2015.




0/5,
Голосов: 0
  1. TopicStarter Overlay

    Эмиль0690

    Offline

    Эмиль0690
    Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    331
    Симпатии:
    2
    Баллы:
    29

    Добрый день!
    Подскажите пожалуйста, каким образом можно очистить реквизит с типом строка при копирование документа?

    Код:
    Процедура ПриКопировании(ОбъектКопирования)
            СуммаПриходаNC  = 0;
            Комментарий = 0;
            //ВидДокумент = Справочник.ВидДокумент.ПКОм3;
       
    КонецПроцедуры

    реквизит называется Комментарий, есть процедура ПриКопирование в модуле документа но при копирование дока сумма не копируется т.е очистится
    а реквизит Комментарий с типом строка вставляется (ноль) 0
    как сделать что ровнялся не на нулю а на очистить?
    Спасибо!


    Эмиль0690,
    13 ноя 2015
    #1

  2. Flash-Dance

    Offline

    Flash-Dance
    Профессионал в 1С

    Регистрация:
    20 май 2012
    Сообщения:
    365
    Симпатии:
    42
    Баллы:
    54

    //двойные кавычки
    Комментарий = «»;


    Flash-Dance,
    13 ноя 2015
    #2
  3. TopicStarter Overlay

    Эмиль0690

    Offline

    Эмиль0690
    Опытный в 1С

    Регистрация:
    3 фев 2014
    Сообщения:
    331
    Симпатии:
    2
    Баллы:
    29

    Спасибо!


    Эмиль0690,
    13 ноя 2015
    #3
(Вы должны войти или зарегистрироваться, чтобы ответить.)
Показать игнорируемое содержимое
Похожие темы

  1. Tasya

    8.х
    Копирование документа

    Tasya,
    22 окт 2014
    , в разделе: Конфигурирование на платформе «1С:Предприятие 8»
    Ответов:
    2
    Просмотров:
    918
    Tasya
    22 окт 2014

Загрузка…
Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

Поиск

  • Искать только в заголовках
Сообщения пользователя:

Имена участников (разделяйте запятой).

Новее чем:
  • Искать только в этой теме
  • Искать только в этом разделе
    • Отображать результаты в виде тем

Быстрый поиск

  • Последние сообщения

Больше…

Доброго всем здоровья, Уважаемые Гуру и Гурии Солнцеликого 1С! У меня возник вопрос: можно ли при копировании документа очищать все поля на его форме? Если да, то напишите, пожалуйста, каким образом. Буду очень благодарен!

это в сам документ придется лесть и ПриОткритие чистить

поле очень много, нельзя ли универсально как-нибудь? запросом, например?

как это будет выглядеть в процедуре «ПриКОпировании»,можно пример?

поля на форме очищать не надо, они не копируются очищать нужно реквизиты документа, включая табличные части

как это будет выглядеть в процедуре «ПриКОпировании»?

тебе уже ответили: цикл по метаданным документа

а зачем тогда копировать документ, если все очищать?

нужно копировать, чтобы можно было создавать документ копированием, как ни странно. Только при этом все поля должны очищаться. Очень хотелось бы примерчик, как это через цикл по метаданным сделать, уважаемая!

Используй метод Новый для документа

не въеду никак, Уважаемый. Примерчик можно?

ну на кнопку «создавать копированием» прикрепляаешь процедуру «создавать новый»

А чего надо? Созать новый пустой, или очистить старый?

НовыйДок = Документы.ПеремещениеТоваров.СоздатьДокумент;

В таких случаях копировать надо кнопкой Insert

Нужно создать новый пустой

И зачем при этом пользоваться копипастой?

чтобы не отключать возможность копирования документов. Написал в процедуре «ПриКопировании» Документы.ДокументРаз.СОздатьДокумент, все равно заполняются поля. Что делаю не так?

ОбъектКопирования = Документы.ДокументРаз.ПустаяСсылка;

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

0

24.03.2016 — 16:10


Собственно, сабж. Находимся в заполненной табличной части документа, курсор стоит на одной из строк.
Нужно, нажав на кнопку на форме — частично скопировать строку, на которой находится курсор. Контекстное «Копировать» не прокатывает — копирует все реквизиты, а все они не нужны.
Есть у кого пример кода процедуры?

1

24.03.2016 — 16:18

А что именно не получается?

2

24.03.2016 — 16:22

1-Dump 20031 >
Да ничего. Жму на кнопку, попадаю в процедуру, определяю — где курсор.
НоваяСтрока()
и все, сразу перепозиционирование. А как с той, где поначалу был курсор — данные стянуть — хз.

3

24.03.2016 — 16:25

Правильно. Сначала запоминаем что надо и только потом НоваяСтрока()

4

24.03.2016 — 16:27

Во, сенкс, я так и думал: загоняем все, что нужно в переменные — иначе никак не выйдет. Щас попробую.

5

24.03.2016 — 16:28

//получить текущую строку ТЧ дока = поз
ТЗ=СоздатьОбъект(«ТаблицаЗначений»);
ВыгрузитьТабличнуюЧасть(ТЗ);
ТЗ.НоваяСтрока();
ТЗ.Часть1 = ТЗ.ПолучитьЗначение(поз,»Часть1″);
ТЗ.Часть2 = ТЗ.ПолучитьЗначение(поз,»Часть2″);
ТЗ.Часть3 = ФигняКакаяТо;
ЗагрузитьТабличнуюЧасть(ТЗ);

6

24.03.2016 — 16:31

5-Чучундер >
Серег, через ТЗ — понятно, думаешь проще?

7

24.03.2016 — 16:32

//получить текущую строку ТЧ дока = поз
ТЗ = СоздатьОбъект(«ТаблицаЗначений»);
ТЗраб = СоздатьОбъект(«ТаблицаЗначений»);
ВыгрузитьТабличнуюЧасть(ТЗ);
ТЗ.Выгрузить(ТЗраб,поз,поз);
ТЗ.НоваяСтрока();
ТЗ.Заполнить(ТЗраб,ТЗ.НомерСтроки,ТЗ.НомерСтроки);
ТЗ.ЧтоПереинициализировать1=Фигня;
ТЗ.ЧтоПереинициализировать2=Херня;
ЗагрузитьТабличнуюЧасть(ТЗ);

8

24.03.2016 — 16:33

6-Valery > если запоминать в пром.буфере — придется цикл по колонкам крутить.

9

24.03.2016 — 16:35

Можно третий вариант
программно:
открываем док.
позиционируемся на нужную строку
эмулируем Ф9
записатьдок
закрываем форму
переписываем некопируемые значения

10

24.03.2016 — 16:37

Епрст придет — придумает еще красивше

11

24.03.2016 — 16:38

Дальше усложнение идет:
я программно заполняю документ.
например
Товар1 колво
Фигня 250
Юзер потом копирует строку, а количество, котрое он ввел — должно отминусоваться от оригинальной строки.
Т.е. при окончании редактирвания ячейки — 250 минус точтовверюзер.

12

24.03.2016 — 16:52

Но пока и этого хватит.

13

24.03.2016 — 17:24

Перед тем как создать строку запиши в переменные все что нужно или номер строки ТЧ, потом будешь заполнять новую строку по этим данным.
А в чем проблема?
КопТовар=Товар1;
КопКол=колво;
НоваяСтрока();
Товар1=КопТовар;
колво=КопКол;

14

24.03.2016 — 17:52

В (7) — красивше. Нигде никаких присвоений существующего не идет. Присваиваются только значения, которые не совпадают с копируемыми

15

24.03.2016 — 18:04

(14 по моему можно еще проще, скопировать строку штатно и использовать процедуру

Процедура ПриРедактированииНовойСтроки()
КонецПроцедуры //

В ней поправить что не нужно копировать

16

24.03.2016 — 19:07

Методанные сообщат расклад строки любого документа.
Следовательно, можно собрать СписокЗначений: значение столбца + название столбца (название столбца уникально в ТЗ).
Потом можешь кушать этот список, как угодно.

17

24.03.2016 — 19:37

15-USSR > это если интерактивно

18

24.03.2016 — 19:53

(17)Так автор и собирался аж кнопку вешать на форму
А если не интерактивно, то (16) — иетаданные

19

24.03.2016 — 20:46

У меня вопрос к автору:
— Владельцы бизнеса знают о том, что ты занимаешься вот такой вот фигней, и на цырлах перед пользователями ходишь?

У мну был похожий вариант недавно.
Но там шла речь о копировании документа. С многими тысячами строк в табличной части.

Видели бы вы, какую истерику я закатил, пытаясь доказать что проще бухам в ста тыщ строк обнулить некоторые реквизиты вручную, чем мне милостиво написать им обнуление при копировании документа…

Ладно, в итоге убедили…

Написал им эту хню из нескольких строк и получил премию в размере 380 тысяч рублей.

20

24.03.2016 — 21:03

19-DeiMos >
Знают и поддерживают юзера в этом. Смысл данного действа:
— я делаю сводные данные по продаже товара определенному контрагенту
— обученный юзер сбивает эти продажи по датам и по поставщикам
— я программно формирую Поступление ТМЦ
Ну, понятно — для чего.
Так вот, товар весовой, и если запендюрить одну строку с ходовым товаром в одно Поступление — возникает перевес у транспорта (более 20Т). Потому умный юзверь делит первоначальную строку на несколько, чтоб все было чисто.
И все бы ничего, но у меня там есть несколько скрытых реквизитов для формирования и проверки, которые надо очистить. И оставить всего 3.

21

24.03.2016 — 21:09

15-USSR > Так и сделал. Не нужна лишняя кнопка, все штатно. Спасибо всем :)

22

24.03.2016 — 21:16

18-USSR > А чем метаданные мешают интерактивности?
В чем задача-то? Частичное заполнение новой строки?
Надо иметь копию строки. Заполнять этот список при открытии документа.
после окончания редактировани строки заполняем список значениями (см. предопределенные функции формы).
При создании новой строки сразу ее заполняем из этого шаблона, и возветаемся на начало. Собственно,вся схема.
Токо я «бы повосьмерошному» кнопоцки прменил к табличной части.

23

24.03.2016 — 22:14

2(19) Мда. Дела у тебя идут явно неплохо. И как ты умудряешься себя продавать? У меня 7-ка в постоянном обслуживании, не могу, хоть убей не могу с каждым днем ее вести. Какая-то чушь отнимать начинает часы. В (0), мне сейчас кажется, невозможно просто скопировать строку, нужно все заполнять. Я просто помню , как очень радовался появлению ЗаполнитьЗначенияСвойств в 8-ке. А теперь, кстати, считаю, что наоборот — это зло. У людей элементарно падают компетенции, знания, все молодые — боже прости меня. Такое херачат… А главное — это отношение к делу. Сделал ошибку — ну подумаешь. А ошибка то детская, видно, что системности у человека нет, видно, что Паскаль даже не изучал. Показывает многое. И похреническое отношение показывает — «ну и хрен с ним». И правильно делают — никто их не уволит даже. А если повезет — повысят. И такая вот у нас страна получается, с низкой эффективностью труда.

24

24.03.2016 — 22:23

+(23) И самое отвратительное, что эти люди считают себя правыми. Считают, что они мега-специалисты. Черт возьми, даже я тройку свое время схватил по информатике (ну там были нюансы), в институте схватил тройку за программирование (там правда тоже были нюансы), но эти люди то все отличники! Это что за бред такой? Как будто, в мой мир попала параллельная реальность.

25

24.03.2016 — 22:24

+(24) А дебил, которому я указал на ошибочность его построения кода и даже ВПРЯМУЮ ему сказал почему он медленно работает. Чем он мне ответил? Для упр. приложения оказывается нужна более мощная видеокарта. Это ад. Мы уже в нем.

26

24.03.2016 — 22:33

+(25) Что еще мне интересного «объясняют». Оказывается вложенные запросы использовать нельзя. Вы знаете такое? Вот , мотайте на ус. А когда я говорю — «Для 1С все решает вложенность», мне говорят — «Нет, вы что! Их нельзя использовать!». И дальше они просто стесняются добавить — «Вы дебил». Я спрашиваю — «Почему их нельзя использовать?». В ответ очевидное. Хорошо, дальше я задаю вопрос на который никто не смог ответить, но я больше, чем уверен ушли с мыслями — «Он дебил». Вопрос простой — «Вложенные запросы использовать нельзя, но, что мне делать, если запрос с вложенными запросами работает быстрее, чем с временными таблицами?».

27

25.03.2016 — 00:44

26-Моррисон > Обращайтесь в Лигу Сексуальных Реформ.

@& Некто Остап Бендер.

28

25.03.2016 — 06:17

(22)Я не говорил, что метаданные отменяют интерактивность или интерактивность метаданные. Просто штатное копирование строки это уже и есть скрытое использование метаданных, зачем еще что-то писать. Платформа сама скопирует, а нам лишь «подчистить»
(Моррисон)»Дебилы, [*****]» (Сергей Лавров) А вообще я не понял про что ты

29

25.03.2016 — 19:16

В модуле формы документа, в процедуре ПриВводеНовойСтроки() пропиши обнуление ненужных реквизитов ТЧ.

30

25.03.2016 — 19:18

И не надо никакой лишней кнопки…

31

26.03.2016 — 02:15

через метаданные не катит, ибо документ может быть ещё не записан.
и я бы дополнил обработку тч проверкой на запрет редактирования/удаления видимо первой строки (очевидно, введённой программно).

32

26.03.2016 — 02:19

минусовать с первой строки я бы ничего не стал. можно вывести на форму разницу, если это нужно, а обрабатывать (минусовать) количество первой строки при проведении. иначе потом не узнаешь, какое количество изначально содержалось в первой строке, если юзер ввёл в тч дока что-то не то и надо док юзеру перезаполнить.

33

26.03.2016 — 06:09

(31)по моему абсолютно неважно записан документ или нет. Метаданные к этому не имеют никакого отношения. Они лишь предоставляют нам возможность получить перечень общих реквизитов, реквизитов шапки и табличной части. Копируется строка объекта, а не ссылки

34

26.03.2016 — 21:25

Ну и дураки же вы все…

А что, (29) еще никто не удосужился прочесть?

35

27.03.2016 — 04:57

(34)А ты прочитал (15) ?)) Нужно кстати использовать именно ПриРедактированииНовойСтроки, а не при ВводеНовойСтроки. Я даже попробовал, прежде чем в (15) ответил и попробовал сначала с ПриВводеНовойСтроки тоже думая что с ней работает

36

27.03.2016 — 08:07

35-USSR > Респект тебе и уважуха.
Сорри, я облажался..

При копировании документа пропускать один реквизит

Автор sanohec, 08 дек 2022, 16:36

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

Вниз
Страницы1


sanohec

  • *
  • Регистрация: 2022-11-02
  • Сообщений: 11
  • Профессия: Программист 8.x

При копировании документа пропускать один реквизит




08 дек 2022, 16:36


Здравствуйте, каким образом при копировании документа стандартным способом копировать не все реквизиты документа, а пропустить несколько?



LexaK

  • Все гораздо проще.
  • *****
  • Регистрация: 2012-05-16
  • Сообщений: 4,102
  • Профессия: Программист 1С
  • РЕПУТАЦИЯ: 1566

Re: При копировании документа пропускать один реквизит

#1




08 дек 2022, 16:42


sanohec, в модуле документа, в процедуре ПриКопировании()
просто обнулите/очистите нужные реквизиты

  • 1 пользователь сказал спасибо!

если помогло нажмите: Спасибо!



sanohec

  • *
  • Регистрация: 2022-11-02
  • Сообщений: 11
  • Профессия: Программист 8.x

Re: При копировании документа пропускать один реквизит

#2




08 дек 2022, 16:46


LexaK, Спасибо, всё получилось)


Вверх
Страницы1

Теги:

  • Форум 1С

  • Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4

  • Конфигурирование, программирование в 1С Предприятие 8

  • При копировании документа пропускать один реквизит

Опции…

Похожие темы (5)

67276


Поиск значения по ссылке в табличной части документа.

Автор Амал

74950


Как содать реквизит со ссылкой на дополнительный отчет

Автор antipod

79532


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

Автор PanKamenets

45796


Отбор по реквизитам ТАБЛИЧНОЙ ЧАСТИ

Автор matroskin_yanao

40834


Автоматическое вычисление суммы в табличной части документа

Автор Danceva

Рейтинг@Mail.ru

Rambler's Top100

Поиск

 


Простой
Google

Вход / Регистрация


ВФ

  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

1С8, очистить строку ТЧ при копировании

Тема в разделе «Программирование», создана пользователем Saloght, 20.04.07.


  1. 20.04.07


    #1

    Saloght

    Saloght
    Новичок

    64
    0

    народ, кто подскажет как очистить новую строку, вернее отдельные реквизиты строки при добавлении ее копированием? (F9).

(Вы должны войти или зарегистрироваться, чтобы ответить.)
Показать игнорируемое содержимое
табличка латунная | sheffilton sht-st6 | наполнитель для галтовки купить в спб | в какой серии наташа заговорит | пенал в комнату
Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня

  • Закрыть Меню
  • Волгоградский форум

    • Поиск сообщений
    • Последние сообщения
  • Пользователи

    • Выдающиеся пользователи
    • Зарегистрированные пользователи
    • Сейчас на форуме
  • Поиск

Понравилась статья? Поделить с друзьями:
  • Пункт выдачи озон авиаторов 18 время работы
  • Продукция компании проктер энд гэмбл список
  • Производство строительных мешков как бизнес
  • Пункт выдачи озон автозаводская часы работы
  • Продукция компании юнилевер каталог товаров