Имя: Пароль:
1C
1C 7.7
v7: Правильное создание или поиск подчиненного элемента справочника
,
0 YaroslavStr
 
07.03.13
11:37
Правильно ли такое решение и будет ли оно работать?

//найдем папку-родителя
                                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);                    
                               
                                   //присвоим родителя
                                   Группа = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа);
                                   
                                   //найдем папку-родителя
                                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа2),0,1);                    
                                                                                                                       
                                   //присвоим родителя
                                   Группа2 = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа2);
                                   
                                   //создадим подпапку
                                   СпрФ.НоваяГруппа();
                                   СпрФ.Наименование = СокрЛП(ТЗ_Почта.Группа3);
                                   СпрФ.Записать();
                               
                                   ////найдем папку-родителя
                                   //СпрФ.НайтиПоНаименованию(СокрЛП(СпрФ.ТекущийЭлемент()),0,1);                                                
                                                               
                                   //добавим новый элемент в текущюю папку-родителя
                                   Группа3 = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа3);
                                   
                                   СпрФ.Новый();                    
                                   СпрФ.Код = ТЗ_Почта.Код;
                                   СпрФ.Наименование = ТЗ_Почта.Наименование;
                                   СпрФ.Длина = ТЗ_Почта.Длина;
                                   СпрФ.Ширина = ТЗ_Почта.Ширина;
                                   СпрФ.Описание = ТЗ_Почта.Описание;
                                   СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                                   СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                                   СпрФ.КодТ = ТЗ_Почта.Код;
                                   СпрФ.Записать();
                                   //Сообщить("");
1 Godofsin
 
07.03.13
11:40
(0) а попробовать не судьба? вроде должен работать
2 Mikeware
 
07.03.13
11:41
(1) "мизда - лучший отладчик"©
3 YaroslavStr
 
07.03.13
11:42
(1) Там такой кусок кода, что он пока что работать не будет. И проверить сложно. У меня был вопрос: будет ли смещение по иерархии работать. Будет ли 1С искать вторую папку только в первой или во всем справочнике. И так далее: третья папка во второй...
4 Godofsin
 
07.03.13
11:42
Ну и наверное группа и группа2 нужно создавать, если они не будут найдены.
5 YaroslavStr
 
07.03.13
11:44
Если СокрЛП(ТЗ_Почта.Справочник) = "СправочникМатериаловФурнитура" тогда
               
//добавим товар, если он находится в первой папке (иерархически)
//**************************************************************
               Если СпрФ.ЭтоГруппа(СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1)) = 1 Тогда
                   
                   //если у товара есть 2 родитель выше
                   Если ПустоеЗначение(ТЗ_Почта.Группа2) = 0 Тогда                        
                       
                       //добавим товар, если он находится во второй папке (иерархически) и она существует
                       //********************************************************************************
                       Если СпрФ.ЭтоГруппа(СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа2),0,1)) = 1 Тогда
                           
                           //если у товара есть 3 родитель выше
                           Если ПустоеЗначение(ТЗ_Почта.Группа3) = 0 Тогда
                               
                               //добавим товар, если он находится в третьей папке (иерархически) и такая папка есть
                               //***************************************************************
                               Если СпрФ.ЭтоГруппа(СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа3),0,1)) = 1 Тогда
                                   
                                   //найдем папприодителя
                                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа3),0,1);                                                                        
                                   
                                   //добавим новый элемент в текущюю папку-родителя
                                   Группа3 = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа3);
                                   
                                   СпрФ.Новый();                    
                                   СпрФ.Код = ТЗ_Почта.Код;
                                   СпрФ.Наименование = ТЗ_Почта.Наименование;
                                   СпрФ.Длина = ТЗ_Почта.Длина;
                                   СпрФ.Ширина = ТЗ_Почта.Ширина;
                                   СпрФ.Описание = ТЗ_Почта.Описание;
                                   СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                                   СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                                   СпрФ.КодТ = ТЗ_Почта.Код;
                                   СпрФ.Записать();
                               
                               //добавим товар, если он находится в третьей папке (иерархически) и папки нет
                               Иначе
                                   //найдем папку-родителя
                                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);                    
                               
                                   //присвоим родителя
                                   Группа = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа);
                                   
                                   //найдем папку-родителя
                                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа2),0,1);                    
                                                                                                                       
                                   //присвоим родителя
                                   Группа2 = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа2);
                                   
                                   //создадим подпапку
                                   СпрФ.НоваяГруппа();
                                   СпрФ.Наименование = СокрЛП(ТЗ_Почта.Группа3);
                                   СпрФ.Записать();
                               
                                   ////найдем папку-родителя
                                   //СпрФ.НайтиПоНаименованию(СокрЛП(СпрФ.ТекущийЭлемент()),0,1);                                                
                                                               
                                   //добавим новый элемент в текущюю папку-родителя
                                   Группа3 = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа3);
                                   
                                   СпрФ.Новый();                    
                                   СпрФ.Код = ТЗ_Почта.Код;
                                   СпрФ.Наименование = ТЗ_Почта.Наименование;
                                   СпрФ.Длина = ТЗ_Почта.Длина;
                                   СпрФ.Ширина = ТЗ_Почта.Ширина;
                                   СпрФ.Описание = ТЗ_Почта.Описание;
                                   СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                                   СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                                   СпрФ.КодТ = ТЗ_Почта.Код;
                                   СпрФ.Записать();
                                   //Сообщить("");
                               КонецЕсли;
                           
                           
                           //если вторая папка для этого товара есть и больше родителей нет
                           //**************************************************************
                           Иначе
                               //найдем папку-родителя
                               СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа2),0,1);                    
                       
                               //добавим новый элемент в текущюю папку-родителя
                               Группа2 = СпрФ.ТекущийЭлемент();                    
                               СпрФ.ИспользоватьРодителя(Группа2);
                               
                               СпрФ.Новый();                    
                               СпрФ.Код = ТЗ_Почта.Код;
                               СпрФ.Наименование = ТЗ_Почта.Наименование;
                               СпрФ.Длина = ТЗ_Почта.Длина;
                               СпрФ.Ширина = ТЗ_Почта.Ширина;
                               СпрФ.Описание = ТЗ_Почта.Описание;
                               СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                               СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                               СпрФ.КодТ = ТЗ_Почта.Код;
                               СпрФ.Записать();
                               
                               Сообщить("если вторая папка для этого товара есть и больше родителей нет");
                           КонецЕсли;
                       
                   
                       //если товар должен быть во второй не существующей папке справочника и больше родителей у него нет
                       //************************************************************************************************
                       Иначе
                           
                           //найдем папку-родителя
                           СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);                    
                       
                           //добавим новый элемент в текущею папку-родителя
                           Группа = СпрФ.ТекущийЭлемент();                    
                           СпрФ.ИспользоватьРодителя(Группа);
                           
                           //создадим подпапку
                           СпрФ.НоваяГруппа();
                           СпрФ.Наименование = СокрЛП(ТЗ_Почта.Группа2);
                           СпрФ.Записать();
                           
                           //найдем папку-родителя
                           СпрФ.НайтиПоНаименованию(СокрЛП(СпрФ.ТекущийЭлемент()),0,1);                    
                                                                                                               
                           //добавим новый элемент в текущюю папку-родителя
                           Группа2 = СпрФ.ТекущийЭлемент();                    
                           СпрФ.ИспользоватьРодителя(Группа2);                                                
                           
                           СпрФ.Новый();                    
                           СпрФ.Код = ТЗ_Почта.Код;
                           СпрФ.Наименование = ТЗ_Почта.Наименование;
                           СпрФ.Длина = ТЗ_Почта.Длина;
                           СпрФ.Ширина = ТЗ_Почта.Ширина;
                           СпрФ.Описание = ТЗ_Почта.Описание;
                           СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                           СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                           СпрФ.КодТ = ТЗ_Почта.Код;
                           СпрФ.Записать();
                           
                           Сообщить("если товар должен быть во второй не существующей папке справочника и больше родителей у него нет");
                       КонецЕсли;                        
                   
                   
                   //если товар должен быть в первой папке и у него нет больше родителей кроме первой папки
                   //**************************************************************************************
                   Иначе
                       //найдем папку-родителя
                       СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);    
                   
                       //добавим новый элемент в текущюю папку-родителя
                       Группа = СпрФ.ТекущийЭлемент();                    
                       СпрФ.ИспользоватьРодителя(Группа);                                            
                   
                       СпрФ.Новый();                    
                       СпрФ.Код = ТЗ_Почта.Код;
                       СпрФ.Наименование = ТЗ_Почта.Наименование;
                       СпрФ.Длина = ТЗ_Почта.Длина;
                       СпрФ.Ширина = ТЗ_Почта.Ширина;
                       СпрФ.Описание = ТЗ_Почта.Описание;
                       СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                       СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                       СпрФ.КодТ = ТЗ_Почта.Код;
                       СпрФ.Записать();
                       
                       Сообщить("если товар должен быть в первой папке и у него нет больше родителей кроме первой папки");
                   КонецЕсли;//если найдена вторая папка
               
               
               //если товар должен быть в первой папке справочника и папки нет
               //*************************************************************
               Иначе                    
                   //если папки для этого товара нет, тогда создадим её
                   СпрФ.НоваяГруппа();
                   СпрФ.Наименование = СокрЛП(ТЗ_Почта.Группа);
                   СпрФ.Записать();
                   
                   //найдем папку-родителя
                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);    
                   
                   //добавим новый элемент в текущюю папку-родителя
                   Группа = СпрФ.ТекущийЭлемент();                    
                   СпрФ.ИспользоватьРодителя(Группа);                                            
                   
                   СпрФ.Новый();                    
                   СпрФ.Код = ТЗ_Почта.Код;
                   СпрФ.Наименование = ТЗ_Почта.Наименование;
                   СпрФ.Длина = ТЗ_Почта.Длина;
                   СпрФ.Ширина = ТЗ_Почта.Ширина;
                   СпрФ.Описание = ТЗ_Почта.Описание;
                   СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                   СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                   СпрФ.КодТ = ТЗ_Почта.Код;
                   СпрФ.Записать();
                   
                   Сообщить("если товар должен быть в первой папке справочника и папки нет");
               КонецЕсли;
                   
           
               Таб.ВывестиСекцию("СпрМат");
               Но = Но + 1;
           КонецЦикла;
6 YaroslavStr
 
07.03.13
11:44
Если СокрЛП(ТЗ_Почта.Справочник) = "СправочникМатериаловФурнитура" тогда
               
               //добавим товар, если он находится в первой папке (иерархически)
               //**************************************************************
               Если СпрФ.ЭтоГруппа(СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1)) = 1 Тогда
                   
                   //если у товара есть 2 родитель выше
                   Если ПустоеЗначение(ТЗ_Почта.Группа2) = 0 Тогда                        
                       
                       //добавим товар, если он находится во второй папке (иерархически) и она существует
                       //********************************************************************************
                       Если СпрФ.ЭтоГруппа(СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа2),0,1)) = 1 Тогда
                           
                           //если у товара есть 3 родитель выше
                           Если ПустоеЗначение(ТЗ_Почта.Группа3) = 0 Тогда
                               
                               //добавим товар, если он находится в третьей папке (иерархически) и такая папка есть
                               //***************************************************************
                               Если СпрФ.ЭтоГруппа(СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа3),0,1)) = 1 Тогда
                                   
                                   //найдем папприодителя
                                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа3),0,1);                                                                        
                                   
                                   //добавим новый элемент в текущюю папку-родителя
                                   Группа3 = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа3);
                                   
                                   СпрФ.Новый();                    
                                   СпрФ.Код = ТЗ_Почта.Код;
                                   СпрФ.Наименование = ТЗ_Почта.Наименование;
                                   СпрФ.Длина = ТЗ_Почта.Длина;
                                   СпрФ.Ширина = ТЗ_Почта.Ширина;
                                   СпрФ.Описание = ТЗ_Почта.Описание;
                                   СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                                   СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                                   СпрФ.КодТ = ТЗ_Почта.Код;
                                   СпрФ.Записать();
                               
                               //добавим товар, если он находится в третьей папке (иерархически) и папки нет
                               Иначе
                                   //найдем папку-родителя
                                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);                    
                               
                                   //присвоим родителя
                                   Группа = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа);
                                   
                                   //найдем папку-родителя
                                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа2),0,1);                    
                                                                                                                       
                                   //присвоим родителя
                                   Группа2 = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа2);
                                   
                                   //создадим подпапку
                                   СпрФ.НоваяГруппа();
                                   СпрФ.Наименование = СокрЛП(ТЗ_Почта.Группа3);
                                   СпрФ.Записать();
                               
                                   ////найдем папку-родителя
                                   //СпрФ.НайтиПоНаименованию(СокрЛП(СпрФ.ТекущийЭлемент()),0,1);                                                
                                                               
                                   //добавим новый элемент в текущюю папку-родителя
                                   Группа3 = СпрФ.ТекущийЭлемент();                    
                                   СпрФ.ИспользоватьРодителя(Группа3);
                                   
                                   СпрФ.Новый();                    
                                   СпрФ.Код = ТЗ_Почта.Код;
                                   СпрФ.Наименование = ТЗ_Почта.Наименование;
                                   СпрФ.Длина = ТЗ_Почта.Длина;
                                   СпрФ.Ширина = ТЗ_Почта.Ширина;
                                   СпрФ.Описание = ТЗ_Почта.Описание;
                                   СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                                   СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                                   СпрФ.КодТ = ТЗ_Почта.Код;
                                   СпрФ.Записать();
                                   //Сообщить("");
                               КонецЕсли;
                           
                           
                           //если вторая папка для этого товара есть и больше родителей нет
                           //**************************************************************
                           Иначе
                               //найдем папку-родителя
                               СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа2),0,1);                    
                       
                               //добавим новый элемент в текущюю папку-родителя
                               Группа2 = СпрФ.ТекущийЭлемент();                    
                               СпрФ.ИспользоватьРодителя(Группа2);
                               
                               СпрФ.Новый();                    
                               СпрФ.Код = ТЗ_Почта.Код;
                               СпрФ.Наименование = ТЗ_Почта.Наименование;
                               СпрФ.Длина = ТЗ_Почта.Длина;
                               СпрФ.Ширина = ТЗ_Почта.Ширина;
                               СпрФ.Описание = ТЗ_Почта.Описание;
                               СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                               СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                               СпрФ.КодТ = ТЗ_Почта.Код;
                               СпрФ.Записать();
                               
                               Сообщить("если вторая папка для этого товара есть и больше родителей нет");
                           КонецЕсли;
                       
                   
                       //если товар должен быть во второй не существующей папке справочника и больше родителей у него нет
                       //************************************************************************************************
                       Иначе
                           
                           //найдем папку-родителя
                           СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);                    
                       
                           //добавим новый элемент в текущею папку-родителя
                           Группа = СпрФ.ТекущийЭлемент();                    
                           СпрФ.ИспользоватьРодителя(Группа);
                           
                           //создадим подпапку
                           СпрФ.НоваяГруппа();
                           СпрФ.Наименование = СокрЛП(ТЗ_Почта.Группа2);
                           СпрФ.Записать();
                           
                           //найдем папку-родителя
                           СпрФ.НайтиПоНаименованию(СокрЛП(СпрФ.ТекущийЭлемент()),0,1);                    
                                                                                                               
                           //добавим новый элемент в текущюю папку-родителя
                           Группа2 = СпрФ.ТекущийЭлемент();                    
                           СпрФ.ИспользоватьРодителя(Группа2);                                                
                           
                           СпрФ.Новый();                    
                           СпрФ.Код = ТЗ_Почта.Код;
                           СпрФ.Наименование = ТЗ_Почта.Наименование;
                           СпрФ.Длина = ТЗ_Почта.Длина;
                           СпрФ.Ширина = ТЗ_Почта.Ширина;
                           СпрФ.Описание = ТЗ_Почта.Описание;
                           СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                           СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                           СпрФ.КодТ = ТЗ_Почта.Код;
                           СпрФ.Записать();
                           
                           Сообщить("если товар должен быть во второй не существующей папке справочника и больше родителей у него нет");
                       КонецЕсли;                        
                   
                   
                   //если товар должен быть в первой папке и у него нет больше родителей кроме первой папки
                   //**************************************************************************************
                   Иначе
                       //найдем папку-родителя
                       СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);    
                   
                       //добавим новый элемент в текущюю папку-родителя
                       Группа = СпрФ.ТекущийЭлемент();                    
                       СпрФ.ИспользоватьРодителя(Группа);                                            
                   
                       СпрФ.Новый();                    
                       СпрФ.Код = ТЗ_Почта.Код;
                       СпрФ.Наименование = ТЗ_Почта.Наименование;
                       СпрФ.Длина = ТЗ_Почта.Длина;
                       СпрФ.Ширина = ТЗ_Почта.Ширина;
                       СпрФ.Описание = ТЗ_Почта.Описание;
                       СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                       СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                       СпрФ.КодТ = ТЗ_Почта.Код;
                       СпрФ.Записать();
                       
                       Сообщить("если товар должен быть в первой папке и у него нет больше родителей кроме первой папки");
                   КонецЕсли;//если найдена вторая папка
               
               
               //если товар должен быть в первой папке справочника и папки нет
               //*************************************************************
               Иначе                    
                   //если папки для этого товара нет, тогда создадим её
                   СпрФ.НоваяГруппа();
                   СпрФ.Наименование = СокрЛП(ТЗ_Почта.Группа);
                   СпрФ.Записать();
                   
                   //найдем папку-родителя
                   СпрФ.НайтиПоНаименованию(СокрЛП(ТЗ_Почта.Группа),0,1);    
                   
                   //добавим новый элемент в текущюю папку-родителя
                   Группа = СпрФ.ТекущийЭлемент();                    
                   СпрФ.ИспользоватьРодителя(Группа);                                            
                   
                   СпрФ.Новый();                    
                   СпрФ.Код = ТЗ_Почта.Код;
                   СпрФ.Наименование = ТЗ_Почта.Наименование;
                   СпрФ.Длина = ТЗ_Почта.Длина;
                   СпрФ.Ширина = ТЗ_Почта.Ширина;
                   СпрФ.Описание = ТЗ_Почта.Описание;
                   СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                   СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                   СпрФ.КодТ = ТЗ_Почта.Код;
                   СпрФ.Записать();
                   
                   Сообщить("если товар должен быть в первой папке справочника и папки нет");
               КонецЕсли;
                   
           
               Таб.ВывестиСекцию("СпрМат");
               Но = Но + 1;
           КонецЦикла;
7 VladZ
 
07.03.13
11:45
(0) Я бы не стал привязываться к наименованию... Достаточно одного пробела, одной точки - и вся твоя система рушится как карточный домик..
8 VladZ
 
07.03.13
11:47
(6) Гов-нокод.
9 YaroslavStr
 
07.03.13
11:48
Задача была таковой для старого программиста: он сделал выгрузку по почте, в котором один файл *.txt. В нем выгрузка ТЗ. В ней записаны товары, которые есть на офисе, но нет на филиалах. При приеме такого файла 1С автоматом формирует новые каталоги, и добавляет в них товары. Если каталога нет, тогда создает. В офисе и на филиале не могут быть одинаковые кода групп, есть только названия - они формируются автоматом и не содержат не уникальных наименований. Где-то так...
10 VladZ
 
07.03.13
11:48
Настоящий программист должен быть достаточно ленив, чтобы не писать каждый раз:

СпрФ.Новый();                    
                   СпрФ.Код = ТЗ_Почта.Код;
                   СпрФ.Наименование = ТЗ_Почта.Наименование;
                   СпрФ.Длина = ТЗ_Почта.Длина;
                   СпрФ.Ширина = ТЗ_Почта.Ширина;
                   СпрФ.Описание = ТЗ_Почта.Описание;
                   СпрФ.Себестоимость = ТЗ_Почта.Себестоимость;
                   СпрФ.ЦенаПродажи = ТЗ_Почта.ЦенаПродажи;
                   СпрФ.КодТ = ТЗ_Почта.Код;
                   СпрФ.Записать();
11 YaroslavStr
 
07.03.13
11:50
(10) Я не пишу это вручную :) Это автозаполнение OpenConf.
12 YaroslavStr
 
07.03.13
11:50
А как Вы пишите такой участок кода?
13 VladZ
 
07.03.13
11:52
(12) Повторяющийся код - в отдельную процедуру. Но это только для ленивых. Для тех, кто рубит бабло за количество строк кода - код ИДЕАЛЕН!!!
14 VladZ
 
07.03.13
11:54
И что за хня?

Сообщить("если ...")?

Человек, который в конечном итоге видит окно сообщений должен понимать, что происходит. И что делать, если что-то не так.

Вот представь, ты - обычная "лопата с глазами". И компьютер выдает тебе "если товар должен быть в первой папке справочника и папки нет". Твои дальнейшие действия???
15 YaroslavStr
 
07.03.13
11:56
(13) Рассмешили :). По правде говоря, сам понимаю, что это некрасиво. Все что можно я тоже храню в глобальном. Но здесь другое: код, который внутри писал не я, Я уже запарился исправлять все там написанное. Был момент, когда один участок кода грузил сервер на 25%. Переписав его таким "г-кодом" упала до 4%. За то, как там было заумно написано...

(14) Это для себя писал.
16 YaroslavStr
 
07.03.13
11:59
(15) По правде, я не ахти умею пользоваться отладчиком. И мен такими комментами легче отследить где именно находится ошибка.

Может кто знает в Инете статьи (толковые!) где можно было бы ознакомится и подтянуть знания про отладчик и работу с ним?
17 orefkov
 
07.03.13
12:16
(13)
Ну-ну-ну.
Часто ли у вас есть нужда во многих местах конфигурации создавать программно элемент конкретного справочника, что бы выносить это в ГМ ?
А в разовых внешних обработках смысла нет выносить в отдельную процедуру, ибо
1. создание происходит один раз в одном месте.
2. интеллисенс сразу все вписывает.
как-то так.
18 VladZ
 
07.03.13
12:32
(17) Про ГМ я ни слова не сказал. Речь шла про отдельную процедуру.
19 VladZ
 
07.03.13
12:36
Пройдет какое-то время... В справочнике появится несколько реквизитов... И кому-то придется выискивать в километрах кода место, куда еще нужно "воткнуться".
20 Godofsin
 
07.03.13
12:43
(19) +1
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.