The Golden Section labs Welcome to TGSlabs.com!
HomeDownloadsPurchaseSupportFeedback
WinOrganizer
GS Notes
GSDataServer
GS Reader
PicaSafe
Upgrade
News
Compare products
FAQ
Free registration
Link to us
Free databases
Press Kit
Useful links
info@tgslabs.com
Subscribe

Sections:
Company News
Translators
Program news
New databases
E-mail:
Icon design and logo design Software Icons design - by
LuckyIcon Art
SoftwareDatabases (ENG)Databases (RUS)Databases (Other)

This free database was compiled using the PIM product called WinOrganizer.
To view this database, you can use GoldenSection Reader that can be downloaded from our site.
CD-ROM via Air Mail You can get this database and all other databases published on our site on CD-ROM. Besides databases, CD-ROM also contains latest trial versions of WinOrganizer and GSNotes, as well as a freeware product to view above-mentioned databases - GoldenSection Reader.
Buy Now CD-ROM for just 9.95 USD
Database Author Size Date Download
Примеры программ на языке 1С Предприятие Дмитрий Шкедов 42 Кб 29.09.2004
Download

Files and archives posted on our site have been checked using Kaspersky Antivirus software
For fast and reliable file downloading, use a download manager such as ReGet

By compiler:

База "Примеры программ на языке 1С Предприятие" файл code1c.gso содержит примеры программ для работы с 1с Предприятием. Это примеры для работы с внешними компонентами(1C++, vtools), различные универсальные функции(работа с ТЗ,СЗ, и др), приемы программирования на языке 1с.
--
29.09.2004, Дмитрий Шкедов

Appearance
Примеры программ на языке 1С Предприятие
Database content (in some cases, compressed to get a general view)

 Примеры программ на языке 1С Предприятие
      1С Предприятие v77
  Внешние обработки
  1С++ внешняя компонента OXY software
    Журнал проводок ДДС
  vtools
    моеДерево
    ПоказДерева
    ПоказТаблицы
  Универсальные функции
  Работа с таблицей значений
  Сторнирование движений регистров
  Копирование реквизитов из одного документа в другой
  ЗаписьИПроведениеНаСервере
  Получить список Кодов и Символов
  ПолучитьНовыйИДД
  глТехнологическоеПерепроведение
  Даты
  Приемы программирования
  Граница последовательности
  XML
  Математические
  СлоииЗакладки
  ADODB
  Word
  ДеньгиПрописью
    Число прописью
    еще
  Недокументированные функции шаблона
  Внутренние идентификаторы объектов
  Работа с таблицей
  Список значений
  Среда исполнения
  Выпадающие меню
  Актуальный остаток
  Выгрузить регистр в ТЗ
  Примеры запросов по регистру
    Простой 1 полный
    Простой 2
    Простой 3
    Выгрузка регистра
    запрос с вызовом функции
  пример запроса по документу
  Справочная
  Ключи запуска
  Архивация
  Прикол


Работа с таблицей значений
это универсальные функции для удаления строк из таблицы значений
функции работают

// Шкедов Д.Ю.   -   Начало блока.
Процедура ГЛмояУдалитьКонкретныеЗначенияИзТЗ(тз,яКолонка,яУдаляемоеЗначение,Условие=0) Экспорт 

//универсальная процедура удаления значений из ТаблицыЗначений
//удаляет из таблицы значений "тз" из колонки "яКолонка" все значения "яУдаляемоеЗначение"
        //если указано условие тогда можно удалить диапазон чисел
        //условие можно указать так: "<=" ">=" ">" "<" "<>"
        //например:  яУдаляемоеЗначение=5 Условие= "<=" Тогда из тз будут удалены все значения которые меньше или равны 5

        Если Условие=0 Тогда
                Если ТипЗначенияСтр(яУдаляемоеЗначение)="Строка" Тогда
                        Для Индекс=1 По тз.КоличествоСтрок() Цикл
                                Если Индекс>тз.КоличествоСтрок() Тогда                         
                                        Прервать;
                                КонецЕсли; 
                                Если СокрЛП(тз.ПолучитьЗначение(Индекс,яКолонка))=СокрЛП(яУдаляемоеЗначение) Тогда
                                        тз.УдалитьСтроку(Индекс);
                                        Индекс=Индекс-1;
                                КонецЕсли; 
                        КонецЦикла;         
                Иначе        
                        Для Индекс=1 По тз.КоличествоСтрок() Цикл
                                Если Индекс>тз.КоличествоСтрок() Тогда
                                        Прервать;
                                КонецЕсли; 
                                Если тз.ПолучитьЗначение(Индекс,яКолонка)=яУдаляемоеЗначение Тогда
                                        тз.УдалитьСтроку(Индекс);
                                        Индекс=Индекс-1;
                                КонецЕсли; 
                        КонецЦикла;  
                КонецЕсли;   
        Иначе
                Для Индекс=1 По тз.КоличествоСтрок() Цикл
                        Если Индекс>тз.КоличествоСтрок() Тогда                         
                                Прервать;
                        КонецЕсли;  
                        Стр=Шаблон("[?(тз.ПолучитьЗначение(Индекс,яКолонка)"+Условие+"яУдаляемоеЗначение,1,0)]");
                        Если Стр="1" Тогда
                                тз.УдалитьСтроку(Индекс);
                                Индекс=Индекс-1;
                        КонецЕсли; 
                КонецЦикла;                         
        КонецЕсли;   
КонецПроцедуры 
// Шкедов Д.Ю.     -     Конец блока.
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


// Шкедов Д.Ю.   -   Начало блока.
Процедура мояУдалитьИзТЗ_1ВсеЗначенияТЗ_2(тз1,Колонка1,тз2,Колонка2)
        //удаляет из таблицы значений тз1 все значения которые находятся в тз2  
        Если ТипЗначенияСтр(тз1.ПолучитьЗначение(1,Колонка1))="Строка" Тогда
                Для индекс1=1 По тз1.КоличествоСтрок() Цикл      
                        Для индекс2=1 По тз2.КоличествоСтрок() Цикл  
                                Если (Индекс1>тз1.КоличествоСтрок()) или (Индекс1<1) Тогда
                                        Прервать;
                                КонецЕсли; 
                                Если СокрЛП(тз1.ПолучитьЗначение(индекс1,Колонка1))=СокрЛП(тз2.ПолучитьЗначение(индекс2,Колонка2)) Тогда
                                        тз1.УдалитьСтроку(индекс1);  
                                        индекс1=индекс1-1;
                                КонецЕсли;
                        КонецЦикла;
                КонецЦикла;   
                Сообщить ("строка");
        Иначе //для остальных типов
                Для индекс1=1 По тз1.КоличествоСтрок() Цикл      
                        Для индекс2=1 По тз2.КоличествоСтрок() Цикл  
                                Если (Индекс1>тз1.КоличествоСтрок()) или (Индекс1<1) Тогда
                                        Прервать;
                                КонецЕсли; 
                                Если тз1.ПолучитьЗначение(индекс1,Колонка1)=тз2.ПолучитьЗначение(индекс2,Колонка2) Тогда
                                        тз1.УдалитьСтроку(индекс1);  
                                        индекс1=индекс1-1;
                                КонецЕсли;
                        КонецЦикла;
                КонецЦикла;
        КонецЕсли;
КонецПроцедуры   
// Шкедов Д.Ю.     -     Конец блока.


//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
// Шкедов Д.Ю.   -   Начало блока.
Процедура мояУдалитьИзТЗ_1ВсеЗначенияКромеТехКоторыеВТЗ_2(тз1,Колонка1,тз2,Колонка2)
        // удалим из ТЗ1 все значения кроме тех которые в тз2           
        // 1шаг: тмечаем которые нам нужны
        тз1.НоваяКолонка("мойУникальныйНамНужен","Число",1);
        КС1=тз1.КоличествоСтрок();
        КС2=тз2.КоличествоСтрок(); 
        Если ТипЗначенияСтр(тз1.ПолучитьЗначение(1,Колонка1))="Строка" Тогда
                Для Индекс1=1 По КС1 Цикл
                        Для Индекс2=1 По КС2 Цикл
                                Если СокрЛП(тз1.ПолучитьЗначение(Индекс1,Колонка1))=СокрЛП(тз2.ПолучитьЗначение(Индекс2,Колонка2)) Тогда
                                        тз1.УстановитьЗначение(Индекс1,"мойУникальныйНамНужен",1);
                                        Прервать;
                                КонецЕсли; 
                        КонецЦикла;
                КонецЦикла;                   
        Иначе
                Для Индекс1=1 По КС1 Цикл
                        Для Индекс2=1 По КС2 Цикл
                                Если тз1.ПолучитьЗначение(Индекс1,Колонка1)=тз2.ПолучитьЗначение(Индекс2,Колонка2) Тогда
                                        тз1.УстановитьЗначение(Индекс1,"мойУникальныйНамНужен",1);
                                        Прервать;
                                КонецЕсли; 
                        КонецЦикла;
                КонецЦикла;                                  
        КонецЕсли;
        // 2 шаг: удаляем которые не нужны
        ГЛмояУдалитьКонкретныеЗначенияИзТЗ(тз1,"мойУникальныйНамНужен",0);
    тз1.УдалитьКолонку("мойУникальныйНамНужен");
КонецПроцедуры
// Шкедов Д.Ю.     -     Конец блока.


Home | Downloads | Purchase | Support | Feedback |