The Golden Section labs Welcome to TGSlabs.com!
НачалоЗагрузитьКупитьПоддержкаОбратная связь
WinOrganizer
GoldenSection Notes
Знакомство
Возможности
Внешний вид
Загрузить
Купить
История изменений
Документация
Награды
В прессе
Что говорят пользователи
GSDataServer
GS Reader
PicaSafe
Обновление продуктов
Новости
Сравнение продуктов
FAQ
Бесплатная регистрация
Ссылка на нас
Бесплатные базы данных
Для прессы
Полезные ссылки
info@tgslabs.com
Подписка на рассылку

Разделы:
Новости компании
Новости программ
Новые базы данных
E-mail:
Дизайн иконок и дизайн логотипов Иконки программ нарисованы
LuckyIcon Art
ПрограммыБазы данных (RUS)Базы данных (ENG)Базы данных (Другие)
English | Russian

Расположенная здесь бесплатная база данных была составлена с помощью персонального органайзера WinOrganizer.
Для просмотра базы данных можно воспользоваться программой GoldenSection Reader, которую можно загрузить с нашего сайта.

Название Автор Размер Дата Загрузить
Примеры программ на языке 1С Предприятие Дмитрий Шкедов 42 Кб 29.09.2004
Загрузить

Расположенные на нашем сайте файлы и архивы проверены с помощью антивирусной программы Kaspersky Antivirus
Для ускорения загрузки файлов Вы можете воспользоваться менеджером загрузки ReGet

От составителя:

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

Внешний вид
Примеры программ на языке 1С Предприятие
Содержание базы (возможны сокращения)

 Примеры программ на языке 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.УдалитьКолонку("мойУникальныйНамНужен");
КонецПроцедуры
// Шкедов Д.Ю.     -     Конец блока.


Внимание:
Все бесплатные базы данных, расположенные на нашем сайте, составлены нашими пользователями. Мы не несем ответственности за их содержимое. Если представленная база данных каким-либо образом нарушает Ваши авторские или иные права, пожалуйста, свяжитесь с нами.

Начало | Загрузить | Купить | Поддержка | Обратная связь |