Имя: Пароль:
1C
1C 7.7
v7: Помогите с кодом для 1С 7.7
,
0 Kassern
 
18.09.13
12:14
Добрый день. Есть необходимость написать небольшую обработку на платформе 1С 7.7. С синтаксисом семерки я не дружу, так как работаю в восьмерке, поэтому возник следующий вопрос:
Как записать следующий код в семерке
//Примерный код в 8ке
Пока ВыбраннаяДата<КонечнаяДата Цикл    НужнаяФорма=Обработки.ОбработкаДок.ПолучитьФорму("Форма",ЭтаФорма);
НужнаяФорма.НужнаяДата=ВыбраннаяДата;
НужнаяФорма.Открыть();

    //ПриОткрытии формы запускается обработка выгрузки данных,
    //как только выгурзится определенное количество объектов, тогда они записываются в файл
    //и форма закрывается
    
    //НЕОБХОДИМО
    //Перед тем как закроется форма, НужнуюДату передать в ВыбраннаяДата первой формы и продолжить цикл уже с использованием переданного параметра
    //Кусок кода в открываемой обработке для передачи параметра

     ЭтаФорма.ВладелецФормы.ВыбраннаяДата=НужнаяДата;

//***************************************************************

КонецЦикла;

Буду вам очень признателен, если подскажете как сей код преобразовать для 7ки.
1 povar
 
18.09.13
12:16
читай про параметр формы
2 пипец
 
18.09.13
12:16
абсолютно так же , только без переходов по формам ... просто запуском обработки (или процедуры выполнения внутри обработки)
3 пипец
 
18.09.13
12:18
//
Процедура ПриОткрытии()
    
    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
        
        Докум      = Форма.Параметр.Получить("Контекст");
        Устройство = Форма.Параметр.Получить("Устройство");
        КолвоКопий = Форма.Параметр.Получить("датамая");
    
        Выполнениеобработки(Докум, Устройство, датамая);
        Статусвозврата(0);
        Возврат;
    КонецЕсли;
    
КонецПроцедуры // ПриОткрытии()
4 Kassern
 
18.09.13
12:28
Спасибо, буду пробовать.
5 Kassern
 
23.09.13
14:22
Спасибо за советы, все получилось. Проблема была с обработкой выгрузки данных в xml, когда выгружалось более 80тыс. объектов, появлялось сообщение о нехватке памяти и выгруженные объекты на жесткий диск не записывались. Решил данную проблему следующим образом, написал маленькую обработку для вызова в модальном режиме обработки-выгрузки. В маленькой обработке указывалось количество выгружаемых объектов и нужные реквизиты для выгрузки. Данная обработка в цикле запускала обработку-выгрузки, подставляла туда свои значения, когда счетчик доходил до определенного числа, происходила запись в xml, запоминалась дата последнего документа и с этой даты начиналась выгрузка, до тех пор пока все документы до выбранной даты не будут выгружены.
6 пипец
 
23.09.13
14:28
(5) можно было внутри при записи эксемель поставить счетчик и менять имена записываемых файлов ... по порядку
7 Kassern
 
23.09.13
14:29
Остался только маленький вопрос. В обработке-выгрузки значение даты записывается в глПеременную для того, чтобы в начальной обработке я смог эту дату получить. Можно ли в модальном режиме возвращать нужные значения из обработки-выгрузки в форму владелец без глобальной переменной?
8 Classic
 
23.09.13
14:31
(7)
Через те же самые параметры :)
9 Ёпрст
 
23.09.13
14:33
(7) да.
10 KishMish
 
23.09.13
14:33
(8)

в модальной форме, присваиваешь Форма.Параметр - нужно значение,
Форма.Параметр="2";

Парам=1;
ОткрытьФормуМодально("Обработка",Парам);
Сообщить(Парам);
вот тут сообщит 2
11 Kassern
 
23.09.13
14:34
я параметром передаю список значений в обработку-выгрузки:
ОткрытьФормуМодально("Обработка.ВыгрузкаXML",СписокПараметров);
Что необходимо прописать в обработке-выгрузки, чтобы вернуть значение даты выбранного объекта?
12 Classic
 
23.09.13
14:38
(10)
Я вкурсе, спасибо:)
(11)
Форма.Параметр.Вставить("Ответ", "Вы что-то там вернули");


П.С. или Добавить() - не помню уже
13 Kassern
 
23.09.13
15:18
Дело в том, что я изначально пытался так вернуть значение, но в итоге значение не возвращалось. Поэтому я решил, что возвращение значения происходит другим методом. Проблема была в моей невнимательности, в модуле обработки-выгрузки, в конце одной из процедур Форма.Параметр принимал значение СписокОшибок, который являлся пустым. Всем спасибо!
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс