Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 220
от 11.06.2006, 21:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 234, Экспертов: 31
В номере:Вопросов: 4, Ответов: 8


Вопрос № 45331: Добрый день уважаемые эксперты! Подскажите , пожалуиста, как проще выбрать подчиненный документ определенного вида? Конкретно, при выбранном документе "ПоступлениеТМЦ" выбрать подчиненную ему счет-фактуру?...
Вопрос № 45354: Добрый день уважаемые эксперты. У меня возникла такая ситуация. Я вызываю по кнопке обработку из документа. 1) как в обработке получить дату и номер текущего документа 2) и записать данные, №, дату, название в новый справочник. Спасибо....
Вопрос № 45367: Здравствуйте, эксперты! Существует ли в 1с возможность выгрузить отчет в Word? Каким образом это можно сделать?...
Вопрос № 45419: Уважаемые господа эксперты! Есть ли возможность изменить дату и врем проведеннного документа из модуля этого документа?...

Вопрос № 45.331
Добрый день уважаемые эксперты!
Подскажите , пожалуиста, как проще выбрать подчиненный документ определенного вида? Конкретно, при выбранном документе "ПоступлениеТМЦ" выбрать подчиненную ему счет-фактуру?
Отправлен: 06.06.2006, 05:35
Вопрос задал: Станислав Морозов (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Elric
Здравствуйте, Станислав Морозов!

Только методом перебора. Специальной процедуры/функции/метода для выбора подчиненного документа определенного вида не существует.
Как вариант, можно запрос по счетам-фактурам написать, но в нем придется указать период, и притом не факт что запрос сработает быстрее.
---------
Мирный атом в каждый дом
Ответ отправил: Elric (статус: Студент)
Ответ отправлен: 06.06.2006, 09:11

Отвечает: Ovr1970
Здравствуйте, Станислав Морозов!
Обячно, так как во вложении

Приложение:

Ответ отправил: Ovr1970 (статус: Студент)
Ответ отправлен: 06.06.2006, 10:17

Отвечает: Краюшкин Игорь Валерьевич
Здравствуйте, Станислав Морозов!

Пример приведен для выборки счетов-фактур прямо из документа ПоступлениеТМЦ

ТекСФ = "";
ДокПодч = СоздатьОбъект("Документ");
ДокПодч.ВыбратьПодчиненныеДокументы(,,ТекущийДокумент());
Пока ДокПодч.ПолучитьДокумент()=1 Цикл
Если ДокПодч.Вид() = "СчетФактураПолученный" Тогда
ТекСФ = ДокПодч.ТекущийДокумент();
КонецЕсли;
КонецЦикла;
Если ПустоеЗначение(ТекСФ) = 1 Тогда
Сообщить("Счет-фактуры не обнаружены");
Иначе
Сообщить("Найден документ: " + ТекСФ);
КонецЕсли;
Ответ отправил: Краюшкин Игорь Валерьевич (статус: 2-ой класс)
Ответ отправлен: 06.06.2006, 18:56
Оценка за ответ: 5


Вопрос № 45.354
Добрый день уважаемые эксперты. У меня возникла такая ситуация. Я вызываю по кнопке обработку из документа. 1) как в обработке получить дату и номер текущего документа 2) и записать данные, №, дату, название в новый справочник. Спасибо.
Отправлен: 06.06.2006, 10:57
Вопрос задал: NovInNik (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Шахрайчук Владимир Анатольевич
Здравствуйте, NovInNik!
Когда вызываете обработку, передайте ей параметр.
Сп=СоздатьОбъект("СписокЗначений");
Сп.Установить("Дата",ДатаДок);
Сп.Установить("Номер",НомерДок)
Сп.Установить("Конт",Контекст)
ОткрытьФорму("Обработка...",Сп)
А в обработке нужно написать
Сп=Форма.Параметр;
Конт=Сп.Получить("Конт");
Конт.НомерДок=Номер;
Конт.Контрагент=Контрик
Ответ отправил: Шахрайчук Владимир Анатольевич (статус: 9-ый класс)
Ответ отправлен: 06.06.2006, 13:18

Отвечает: Лазурко Владимир
Здравствуйте, NovInNik!
Чтобы из обработки получить реквизиты вызвавшего её документа, нужно в эту обработку передать контекст документа через параметр.
В формулу кнопки пишешь что-то вроде
----
ОткрытьФормуМодально("Обработка.МояОбработка",Контекст)
----
в модуле обработки что-то вроде
----
// ===============================
Процедура ПриОткрытии()
Форма.ПанельИнструментов(0); //выключает в интерфейсе панель инструментов
КонтекстДокумента = Форма.Параметр; /// именно это чтение параметра,
// в нашем случае контекст вызвавшего документа
Если ТипЗначенияСтр(КонтекстДокумента) <> "ГрупповойКонтекст" Тогда
Предупреждение("Обработка вызывается только из формы документов!");
СтатусВозврата(0);
Возврат;
КонецЕсли;
////******************** первый пункт вопрса //////////////////
Сообщить("НомерДок - "+строка(КонтекстДокумента.ДатаДок));
Сообщить("НомерДок - "+строка(КонтекстДокумента.НомерДок));
// соответствено, вместо "Сообщить" пиши свои действия - заполняй переменные,

///**************** далее второй пункт вопроса ************
Спр = СоздатьОбъект("Справочник.МойСправочник");
Спр.Новый;
Спр.Наименование = Строка(КонтекстДокументаюВид())+" "+строка(КонтекстДОкумента.ДатаДок)+" "+КонтекстДОкумента.НомерДок);
Спр.РеквизитНомераДокумента = КонтекстДОкумента.НомерДок;
Спр.РеквизитДатыДокумента = КонтекстДОкумента.НомерДок;
Спр.РеквизитВидДокумента = КонтекстДОкумента.ПредставлениеВида();

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

Передача параметра в процедуре ПриОткрыти(), а дальнейшие действия можно запихнуть и в процедуру Сформировать().

---------
Доброе отношение к людям может изменить твою жизнь
Ответ отправил: Лазурко Владимир (статус: 2-ой класс)
Ответ отправлен: 07.06.2006, 22:41


Вопрос № 45.367
Здравствуйте, эксперты!
Существует ли в 1с возможность выгрузить отчет в Word?
Каким образом это можно сделать?
Отправлен: 06.06.2006, 12:48
Вопрос задала: Олеся (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ovr1970
Здравствуйте, Олеся!
Можно, через OLE
Контекст работы с Word нужно смотреть в справке по VBA

Приложение:

Ответ отправил: Ovr1970 (статус: Студент)
Ответ отправлен: 06.06.2006, 18:17
Оценка за ответ: 5


Вопрос № 45.419
Уважаемые господа эксперты! Есть ли возможность изменить дату и врем проведеннного документа из модуля этого документа?
Отправлен: 06.06.2006, 18:55
Вопрос задал: Warior (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Elric
Здравствуйте, Warior!

Нет, такой возможности нет (если речь именно о модуле документа, а не о модуле формы). Во время проведения документа замыкаются все таблицы связанные с этим процессом, нельзя не только изменить время/дату этого документа, но и, скажем, провести любой другой документ.
---------
Мирный атом в каждый дом
Ответ отправил: Elric (статус: Студент)
Ответ отправлен: 07.06.2006, 01:08
Оценка за ответ: 5

Отвечает: Gorus
Здравствуйте, Warior!

Дату и время можно изменить после проведения документа - создайте глобальную переменную, в которую записывайте ссылку на документ, который нужно изменить, и нужные дату и время. Далее поставить в глобальном модуле Обработку Ожидания на какую-то процедуру, в которой и производить изменения в документе (если ОбработкаОжидания уже назначена, лучше воспользуйтесь назначеной процедурой, т.к. установка нескольких обработок ожидания подтормаживает). Также поставте проверку на непустое значение переменной в ПриЗавершенииРаботыСистемы.

Правда при описаном подходе существует вероятность что в некоторых документах дата и время не изменятся (например при аварийном завершении работы 1С). Если нужна 100% уверенность в том, что данные изменены, нужно будет регистрировать изменения в самой базе (например добавить реквизит в документ, или создать справочник в который записывать документы, которые нужно изменить).
Ответ отправил: Gorus (статус: 1-ый класс)
Ответ отправлен: 07.06.2006, 09:45
Оценка за ответ: 4


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное