Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Инициация кнопки F9          
Pavlik1c Подменю пользователя
сообщение 13.08.14, 22:05
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 2 раз
Рейтинг: 0

Имеется документ ("Дневная выработка") с номером "000000001", в нем заполнены ручками реквизиты...
Имеется обработка, на ее форме: окно списка документов "Дневная выработка" и рядом КНОПКА "Добавить новую дневную выработку"...
Какую процедуру этой кнопки необходимо описать, чтобы сработала аналогия нажатия кнопки F9 по документу с номером "000000001"?

Ardi Подменю пользователя
сообщение 14.08.14, 0:36
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Цитата(Pavlik1c @ 13.08.14, 22:05) *
Какую процедуру этой кнопки необходимо описать, чтобы сработала аналогия нажатия кнопки F9 по документу с номером "000000001"?

Што?


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

EritikWoW Подменю пользователя
сообщение 14.08.14, 3:25
Сообщение #3

Говорящий
***
Группа: Пользователи
Сообщений: 53
Спасибо сказали: 1 раз
Рейтинг: 0

Я так понимаю человек хотел что бы заместо нового документа при нажатии на кнопку создавалась копия ! =)

копия документа 000000001

EritikWoW Подменю пользователя
сообщение 14.08.14, 4:27
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 53
Спасибо сказали: 1 раз
Рейтинг: 0

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

Если ЭтоНовый() Тогда    
ДокОбразец = Неопределено;
    ДокВыборка = Документы.РеализацияТоваровУслуг.Выбрать();
    Пока ДокВыборка.Следующий()Цикл
        Если ДокВыборка.Проведен Тогда
            Если ДокВыборка.Номер = "000000001"
                Тогда ДокОбразец = ДокВыборка.ПолучитьОбъект();
                Прервать;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    ДокументОбъект = ДокОбразец.Скопировать();
    
КонецЕсли;



EritikWoW Подменю пользователя
сообщение 14.08.14, 7:21
Сообщение #5

Говорящий
***
Группа: Пользователи
Сообщений: 53
Спасибо сказали: 1 раз
Рейтинг: 0

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

Более правильный вид кода

logist Подменю пользователя
сообщение 14.08.14, 8:20
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(EritikWoW @ 14.08.14, 7:21) *
Более правильный вид кода

Издеваетесь? Вы или вопрос не читали, или поняли его как хотели, или еще очень далеки от программирования... (или сильно погрузли в 7.7)

Цитата(Pavlik1c @ 13.08.14, 22:05) *
Какую процедуру этой кнопки необходимо описать, чтобы сработала аналогия нажатия кнопки F9 по документу с номером "000000001"?


    ТекущаяСтрока = ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные;
    Если ЗначениеЗаполнено(ТекущаяСтрока.НазваниеКолонкиСРеквизитомДокумента.Ссылка) Тогда
        НовыйДокумент = ТекущаяСтрока.НазваниеКолонкиСРеквизитомДокумента.Ссылка.Скопировать();
        // если надо просто создать документ
        НовыйДокумент.Записать();
        // если надо открыть форму
        ОткрытьЗначение(НовыйДокумент);
    КонецЕсли;

p.s. названия реквизитов замените на свои

Сообщение отредактировал logist - 14.08.14, 8:21


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Pavlik1c Подменю пользователя
сообщение 14.08.14, 8:24
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 48
Спасибо сказали: 2 раз
Рейтинг: 0

Цитата(EritikWoW @ 14.08.14, 8:21) *
Если ЭтоНовый() Тогда    
ДокОбразец = Неопределено;
    ДокВыборка = Документы.РеализацияТоваровУслуг.Выбрать();
    Пока ДокВыборка.Следующий()Цикл
        Если ДокВыборка.Проведен Тогда
            Если ДокВыборка.Номер = "000000001"
                Тогда ДокОбразец = ДокВыборка.ПолучитьОбъект();
                Прервать;
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    ДокументОбъект = ДокОбразец.Скопировать();
    ЭтотОбъект.Товары.Очистить();
    ЭтотОбъект.Услуги.Очистить();
    ЭлементыФормы.Контрагент.Значение = "";
    ЭлементыФормы.Склад.Значение = "";
    ЭлементыФормы.ДоговорКонтрагента.Значение = "";
КонецЕсли;

Более правильный вид кода


этот код вводить в какой процедуре?

Petre Подменю пользователя
сообщение 14.08.14, 8:32
Сообщение #8

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2920
Из: Київ, Україна
Спасибо сказали: 1239 раз
Рейтинг: 1345.6

Цитата(Pavlik1c @ 14.08.14, 9:24) *
этот код вводить в какой процедуре?

Если честно, этот код лучше никуда не вводить.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

EritikWoW Подменю пользователя
сообщение 14.08.14, 8:34
Сообщение #9

Говорящий
***
Группа: Пользователи
Сообщений: 53
Спасибо сказали: 1 раз
Рейтинг: 0

Цитата(EritikWoW @ 14.08.14, 5:27) *
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)



Ну человек попросил... у себя я проверил нормально работает ! =)
Если вы считаете что он не коректен предложите свой вариант решения проблемы человека... а не дискридитируйте чужие предложения !

Сообщение отредактировал Vofka - 14.08.14, 10:48

Petre Подменю пользователя
сообщение 14.08.14, 8:36
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2920
Из: Київ, Україна
Спасибо сказали: 1239 раз
Рейтинг: 1345.6

Не в обиду было сказано. Просто этот код некорректен. Да и logist же предложил код.


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

logist Подменю пользователя
сообщение 14.08.14, 8:43
Сообщение #11

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(EritikWoW @ 14.08.14, 8:34) *
Если вы считаете что он не коректен предложите свой вариант решения проблемы человека... а не дискридитируйте чужие предложения !

Вообще-то я предложил свой вариант, я ж не виноват, что вы читать не умеете wink.gif

Цитата(EritikWoW @ 14.08.14, 8:34) *
у себя я проверил нормально работает ! =)

я же не сказал, что он не работает, код работает, вопросы к тому, что он делает и почему он делает это так. Можно сходить в магазин за угол, а можно вызывать такси, попасть в аварию, в больнице на операции случайно пришьют третью руку, потом пол года в койке, костыли, и попытка просто пешком сходить в магазин за угол. Так вот у вас второй вариант.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 26.06.25, 9:34
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!