Функция создания вложенных каталогов + ф-ции извлечения имен файлов для 1с 7.7

Публикация № 17051

Разработка - Практика программирования

4
Расширим возможности ФС.
Вы когда-нибудь пытались создать вложенные папки из 1с?
Как ни странно, стандартной функции для этой операции нет.

ФС.СоздатьКаталог() позволяет создать папку лишь на один уровень вглубь, а порой хочется глубже,
и чтобы функция нормально относилась к уже существующим папкам, не пыталась создавать их повторно.

Так появилась функция глСоздатьКаталог().

А вот пример использования - создание файла приказа на основании шаблона.
На форме расположен объект "СписокЗначений" с именем "спШаблоны".

1. Заполним список шаблонов
// ...
спШаблоны.УдалитьВсе();
ПутьКПапкеШаблонов = КаталогИБ()+"Приказы\\Шаблоны";
Если глСоздатьКаталог(ПутьКПапкеШаблонов) = 1 Тогда
	ФС.УстТекКаталог(ПутьКПапкеШаблонов);
	ИмяШаблона = ФС.НайтиПервыйФайл("*.doc");
	Пока ИмяШаблона <> "" Цикл
		Если Лев(ИмяШаблона, 1) <> "~" Тогда
			спШаблоны.ДобавитьЗначение(ИмяШаблона);
		КонецЕсли;	
		ИмяШаблона = ФС.НайтиСледующийФайл();
	КонецЦикла;	
КонецЕсли;	
// ...

2. Создаем подпапку по имени файла шаблона, и копируем туда файл на основании шаблона.
 //..
ИмяШаблонаКратко = спШаблоны.ПолучитьЗначение(спШаблоны.ТекущаяСтрока());
ИмяШаблонаКраткоБезРасширения = глИзвлечьИмяФайлаБезРасширения(ИмяШаблонаКратко);
ПутьКПапкеГотовых = КаталогИБ() + "Приказы\" + ИмяШаблонаКраткоБезРасширения + "\";
Если глСоздатьКаталог(ПутьКПапкеГотовых) = 0 Тогда
	Возврат;
КонецЕсли;	
		
ИмяШаблона = КаталогИБ()+"Приказы\\Шаблоны\"+ИмяШаблонаКратко;
ИмяФайла = ПутьКПапкеГотовых + ИмяШаблонаКраткоБезРасширения + " "
	+Формат(ТекущаяДата(), "ДГГГГММДД")+" "+СтрЗаменить(ТекущееВремя(), ":", "")+".doc";

Если ФС.СуществуетФайл(ИмяШаблона) = 0 Тогда
	Предупреждение("Шаблон "+ИмяШаблона+" не найден!");
	Возврат;
КонецЕсли;	

ФС.КопироватьФайл(ИмяШаблона, ИмяФайла, 1);
//..

Текст функций:
//-----------------------------------------------------
Функция глСоздатьКаталог(Знач Путь) Экспорт
	
	Пока Прав(Путь, 1) = "\" Цикл
		Путь = Сред(Путь, 1, СтрДлина(Путь) - 1);
	КонецЦикла;	
	
	// Проверим, возможно каталог существует
	Атрибуты = "";
	ФС.АтрибутыФайла(Путь, , Атрибуты);
	Если Сред(Атрибуты, 4, 1) = "1" Тогда
		Возврат 1;
	КонецЕсли;	
	
	спКСозданию = СоздатьОбъект("СписокЗначений");
	
	текПуть = Путь;
	врДлина = СтрДлина(Путь);
	Для к = -врДлина по -1 Цикл
		Если Сред(Путь, -к, 1) = "\" Тогда
			спКСозданию.ДобавитьЗначение(текПуть);
			текПуть = Лев(Путь, -к-1);
			
			// Проверяем наличие текущего уровня
			Атрибуты = "";
			ФС.АтрибутыФайла(текПуть, , Атрибуты);
			фЕстьТекПуть = ?(Сред(Атрибуты, 4, 1) = "1", 1, 0);
			
			Если фЕстьТекПуть = 0 Тогда
				Продолжить;
			КонецЕсли;	
			
			// Пытаемся создать с текущего уровня
			Для н = -спКСозданию.РазмерСписка() по -1 Цикл
				врПутьХ = спКСозданию.ПолучитьЗначение(-н);
				ФС.СоздатьКаталог(врПутьХ);
				Если н = - 1 Тогда
					Атрибуты = "";
					ФС.АтрибутыФайла(врПутьХ, , Атрибуты);
					Если Сред(Атрибуты, 4, 1) = "1" Тогда
						// Удачное создание с текущего уровня
						Возврат 1;
					КонецЕсли;	
				КонецЕсли;	
			КонецЦикла;	
		КонецЕсли;	
	КонецЦикла;	
	
	Предупреждение("Невозможно создать путь: "+РазделительСтрок+Путь, 4);
	Возврат 0;
	
КонецФункции

//-----------------------------------------------------
Функция глИзвлечьИмяФайла(ПолноеИмяФайла) Экспорт

	Файл = "";
	врДлина = СтрДлина(ПолноеИмяФайла);
	Для к = -врДлина по -1 Цикл
		Если Сред(ПолноеИмяФайла, -к, 1) = "\" Тогда
			Файл = Прав(ПолноеИмяФайла, врДлина+к);
			Прервать;
		КонецЕсли;	
	КонецЦикла;	
	
	Возврат(Файл);
КонецФункции

//-----------------------------------------------------
Функция глИзвлечьИмяФайлаБезРасширения(КраткоеИмяФайла) Экспорт

	Файл = "";
	врДлина = СтрДлина(КраткоеИмяФайла);
	Для к = -врДлина по -1 Цикл
		Если Сред(КраткоеИмяФайла, -к, 1) = "." Тогда
			Файл = Лев(КраткоеИмяФайла, -к-1);
			Прервать;
		КонецЕсли;	
	КонецЦикла;	
	
	Возврат(Файл);
КонецФункции


Все таки 1с это сила, даже если чего-то не хватает, всегда можно дописать.

Исправление.
Добавлена проверка на запрещенные символы и наличие в указанном пути файлов.
//-----------------------------------------------------
Функция глСоздатьКаталог(Знач Путь) Экспорт
	
	Пока Прав(Путь, 1) = "\" Цикл
		Путь = Сред(Путь, 1, СтрДлина(Путь) - 1);
	КонецЦикла;	
	
	Если СокрЛП(Путь) = "" Тогда
		Предупреждение("Невозможно создать пустой путь", 4);
		Возврат 0;
	КонецЕсли;	
	
	// Проверим, возможно каталог существует
	Если ФС.СуществуетФайл(Путь) = 1 Тогда
		Атрибуты = "";
		ФС.АтрибутыФайла(Путь, , Атрибуты);
		Если Сред(Атрибуты, 4, 1) = "1" Тогда
			Возврат 1;
		Иначе
			Предупреждение("Невозможно создать путь: "+РазделительСтрок+Путь
			+РазделительСтрок+"Так как существует одноименный файл.", 4);
			Возврат 0;
		КонецЕсли;
	КонецЕсли;	

	спКСозданию = СоздатьОбъект("СписокЗначений");
	
	врДлина = СтрДлина(Путь);
	// Проверка на запрещенные символы
	ЕстьБукваДиска = ?(Найти("abcdefghijklmnopqrstuvwxyz", Нрег(Лев(Путь, 1))) > 0, 1, 0);
	ЗапрещенныеСимволы = "/?|*<>:"""+РазделительСтрок+СимволТабуляции;
	Для к = 1 по врДлина Цикл
		Символ = Сред(Путь, к, 1);
		Если (Найти(ЗапрещенныеСимволы, Символ) > 0) или (КодСимв(Символ) < 32) Тогда
			Если не ((к = 2) и (Символ = ":") и (ЕстьБукваДиска = 1)) Тогда
				Предупреждение("Невозможно создать путь: "+РазделительСтрок+Путь
				+РазделительСтрок+"Так как использованы запрещенные символы.", 4);
				Возврат 0;
			КонецЕсли;
		КонецЕсли;	
	КонецЦикла;	
	// Основной цикл
	текПуть = Путь;
	Для к = -врДлина по -1 Цикл
		Если Сред(Путь, -к, 1) = "\" Тогда
			спКСозданию.ДобавитьЗначение(текПуть);
			текПуть = Лев(Путь, -к-1);
			
			// Проверяем наличие текущего уровня
			Если ФС.СуществуетФайл(текПуть) = 1 Тогда
				Атрибуты = "";
				ФС.АтрибутыФайла(текПуть, , Атрибуты);
				Если Сред(Атрибуты, 4, 1) = "0" Тогда
					Предупреждение("Невозможно создать путь: "+РазделительСтрок+Путь
					+РазделительСтрок+"Так как существует файл:"+РазделительСтрок+текПуть, 4);
					Возврат 0;
				КонецЕсли;
			Иначе
				Продолжить;
			КонецЕсли;	
			
			// Пытаемся создать с текущего уровня
			Для н = -спКСозданию.РазмерСписка() по -1 Цикл
				врПутьХ = спКСозданию.ПолучитьЗначение(-н);
				ФС.СоздатьКаталог(врПутьХ);
				Если н = - 1 Тогда
					Атрибуты = "";
					ФС.АтрибутыФайла(врПутьХ, , Атрибуты);
					Если Сред(Атрибуты, 4, 1) = "1" Тогда
						// Удачное создание с текущего уровня
						Возврат 1;
					Иначе
						Предупреждение("Невозможно создать путь: "+РазделительСтрок+Путь, 4);
						Возврат 0;
					КонецЕсли;	
				КонецЕсли;	
			КонецЦикла;	
		КонецЕсли;	
	КонецЦикла;	

	Предупреждение("Невозможно создать путь: "+РазделительСтрок+Путь, 4);
	Возврат 0;
	
КонецФункции
Функция очистки каталога от файлов. (Не подходит для вложенных каталогов.)
//-----------------------------------------------------
Процедура глОчиститьКаталог(Путь) Экспорт
	Попытка
		ФС.УстТекКаталог(Путь);
		ИмяФайла = ФС.НайтиПервыйФайл("*.*");
		Пока (ИмяФайла <> "") Цикл
			Если (ИмяФайла <> ".")
			и (ИмяФайла <> "..") Тогда
				ФС.УдалитьФайл(ИмяФайла);
			КонецЕсли;	
			ИмяФайла = ФС.НайтиСледующийФайл();
		КонецЦикла;	
	Исключение
	КонецПопытки;	
КонецПроцедуры

4

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Дата
1. CheBurator 13.11.07 00:16 Сейчас в теме
хм.. как-то создание вложенных файлов красивше решается.. рекурсией...
а вариант
// Проверим, возможно каталог существует
Атрибуты = "";
ФС.АтрибутыФайла(Путь, , Атрибуты);
Если Сред(Атрибуты, 4, 1) = "1" Тогда
Возврат 1;
КонецЕсли;
..понравился
2. CheBurator 13.11.07 00:18 Сейчас в теме
ага, все-таки я ее чуток подломал... ;-)
глСоздатьКаталог("c:\Еуые1\еуые2") при условии что еуые2 - существующий файл в папке Еуые1
tarasenkov; +1 Ответить
3. CheBurator 13.11.07 00:28 Сейчас в теме
аналогично
глСоздатьКаталог("c:\Еуые1\eee*we")
+ еще Добился вывода сообщения "Невозможно создать путь:" - какой именно - не указано ;-)
tarasenkov; +1 Ответить
4. tarasenkov 13.11.07 07:42 Сейчас в теме
Вам бы только ломать :-)
Добавлена защита от взлома :-)
+ Спасибо за конструктивные замечания
5. CheBurator 13.11.07 12:12 Сейчас в теме
Ну, вообще-то представляется более праивльным искать запрещенные символы в именах каталогов, а не наоборот.. потому как правило, вложенный путь каталогво больше 10 запрещенных символов... ;-) Это я так, побрюзжать...
Оставьте свое сообщение

См. также

Дистрибьюция 7.7. Часть 1. Жизненный цикл заявки покупателя. Одна заявка покупателя, много адресов доставки. 1

Статья Программист Нет файла v7.7 1С7:Комплекс 1С7:ТиС УУ Бесплатно (free) Практика программирования Адаптация типовых решений

Описан способ работы с учетом расписания с приоритетными покупателями - торговыми сетями (основными покупателями) в торговой или комплексной учетной системе на 1С 7.7. Множественная заявка покупателя на несколько торговых точек.

14.10.2019    1105    ksnik    0       

Проверка часового пояса 9

Статья Программист Нет файла v7.7 Windows Бесплатно (free) Практика программирования

При использовании терминалок для удаленных баз, иногда при входе в базу данных необходимо исключить возможность входа пользователей с компьютеров с другим часовым поясом. Например, работают в Новосибирской базе с временем UTC +6 и пытаются зайти в базу с UTC +3.

16.05.2016    8443    kudenzov    3       

[ПОЛЕЗНЯШКА, 7.7] Как посчитать итоги по документам черным запросом с изподвывертом? 13

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования

Мелкая полезняшка, считает запросом итоговую сумму документов и количество документов.

12.03.2016    15730    CheBurator    18       

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция 111

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования WEB

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    48968    Serginio    33       

.Net в 1С. Асинхронные HTTP запросы, отправка Post нескольких файлов multipart/form-data, сжатие трафика с использованием gzip, deflate, удобный парсинг сайтов и т.д. 37

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент WEB

Очень часто нужно при работе с HTTP сервисами или сайтами использовать Асинхронные HTTP запросы, отправку на сервер нескольких файлов, использование сжатия трафика. Эта статья про то, как этого легко добиться.

09.03.2016    25921    Serginio    22       

Использование классов .Net в 1С для новичков 147

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент Универсальные функции

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    63732    Serginio    104       

Пример HTTP запроса к УТМ ЕГАИС на платформе 1С 7.7 15

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Оптовая торговля Розничная торговля Бесплатно (free) Практика программирования Внешние источники данных

Запрос реализован на объекте ServerXMLHTTP из встроенной в Windows библиотеки MSXML, результатом запроса является XML объект DOMDocument из той же библиотеки MSXML со встроенным интерфейсом его обработки

16.12.2015    20410    Palmer1976    3       

Экспорт нескольких MXL таблиц в один XLS файл, на отдельные листы. Простой алгоритм 20

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Статья посвящена распространённому вопросу - как сохранить несколько таблиц (отчетов) в формате MXL, с которым работает 1С, на отдельные листы одного Excel файла. Освещается простой алгоритм решения проблемы штатными средствами, без использования внешних модулей и библиотек (не относящихся к 1С и Excel).

23.11.2015    14198    etmarket    14       

Процедура расшифровки ячейки таблицы в отчетах 1С 7.7 11

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования Универсальные функции

Хочу поделиться с вами универсальной процедурой для расшифровки ячеек печатной формы отчетов в 1С 7.7.

24.09.2015    14032    Anzhey    13       

Универсальный способ сравнения таблиц 15

Статья Программист Нет файла v7.7 v8 Бесплатно (free) Практика программирования

На эту тему уже есть статьи, но этот способ нигде не описан. Хотя я его использую с тех пор, как занимаюсь программированием. Его преимущество в простоте и универсальности: можно применять на 1С, SQL, а также в любом другом языке программирования.

05.07.2015    15209    json    1       

Числа прописью в родительном падеже в 7.7? Легко! 13

Статья Программист Нет файла v7.7 1cv7.md Windows Бесплатно (free) Практика программирования

Вывод числительных прописью в родительном падеже штатными средствами в три строчки кода.

20.06.2015    10288    gimalaj    3       

Хитрости сохранения табличного документа в Excel для дальнейшей работы с ним 78

Статья Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Все пользователи 1С всех версий (начиная с 7-й) сталкиваются с проблемой нормальной работы с данными, сохраненными в Excel файл. Есть некоторые хитрости, которые позволяют облегчить работу с сохраненными данными из 1С в формат Excel.

16.01.2015    72139    shmellevich    35       

Исправление в типовой комплексной конфигурации глобальной функции глВсеРеквизитыДокументаЗаполнены() 4

Статья Программист Нет файла v7.7 1С7:Комплекс Россия Windows Бесплатно (free) Практика программирования

В типовых конфигурациях глобальная функция глВсеРеквизитыДокументаЗаполнены() не работает с реквизитами табличной части. Данная статья содержит текст исправленной функции, корректно проверяющей табличную часть.

20.08.2014    6174    hvv2002    0       

ЗаполнитьЗначенияСвойств - заставляем работать в 7.7 11

Статья Программист Нет файла v7.7 1cv7.md Бесплатно (free) Практика программирования

Если вы используете в работе 1С:Предприятие 8.х, то наверняка знакомы и с замечательной системной процедурой, как ЗаполнитьЗначенияСвойств(). Ее использование помогает значительно упростить написание программного кода в ряде случае, делает его (код) более наглядным и простым. Но что же делать тем, кто до сих пор использует (постоянно или иногда) 1С:Предприятие 7.7?

24.07.2014    18987    tomvlad    5       

Полезные функции. Склонение (должность и фамилия подписантов). Любой язык 3

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования

Уехал директор в командировку, отпуск... , оставил доверенность на хозяйственные операции на другого сотрудника. Все договора и другие документы в обмороке - "подписант" теперь другой, по тексту тоже много правок... Пересмотрел много публикаций, вариантов много, не приглянулось. Сделал свой "Баян" . У меня всего-то крутится пять фигурантов ... Нет простого, наглядного и всепогодного варианта без языкового барьера. Всем процессом управляет пользователь.

03.03.2014    15533    kompas-dm    5       

Реализация Ctrl+Z в 1С 7.7 (ТиС) 7

Статья Программист Нет файла v7.7 1С7:ТиС Windows Бесплатно (free) Практика программирования

В семерке отсутствует возможность отменять последнее действие в формах документов. В данной статье будет рассмотрен пример реализации данной функции. Возможно, кому-нибудь пригодится.

15.07.2013    5749    a.o.popova    10       

Копия напечатанного документа или как спрятать документ. 2

Статья Программист Нет файла v7.7 Бесплатно (free) Журнал регистрации Практика программирования

Возникла необходимость, чтобы при печати определённого документа (даже потом не сохранённого), создавалась его копия, т.е. запись всех напечатанных документов. (В результате чего возникла такая потребность, полагаюсь на вашу фантазию). В итоге получилось два варианта решения, остановился на втором.

11.04.2013    13342    Dima_    8       

Автосохранение документа в 1С 7.7 3

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Бесплатно (free) Практика программирования

В данной статье мы рассмотрим автосохранение документа в 1С 7.7!

22.03.2013    11264    aagubarev    25       

Конвертация данных 2.1 (2.1.3.1) 1С 7.7 - 1С 8.Х передача параметра ПКО 14

Статья Системный администратор Программист Нет файла v7.7 v8 КД Бесплатно (free) Практика программирования Перенос данных из 1С7.7 в 1C8.X

Передача параметров по умолчанию доступна только для баз 1С 8.х -1С 8.х. Показан пример, как передать параметры из 1С 7.7 - 1С 8.х

10.12.2012    22461    serg_gres    6       

Устранение проблемы при работе с полем, которое ограничено маской ввода 3

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Для поля, у которого установлена маска ввода, перед программной инициализацией необходимо начальное значение преобразовать к значению в соответствии с маской, иначе буду потеряны символы в местах разделителях. В данной публикации приведена функция, которая универсально выполняет данное действие.

08.08.2012    14340    www2000    4       

Динамическая фильтрация в справочнике при вводе наименования 15

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Позволяет в открытой форме списка, выбора или подбора справочника производить динамическую фильтрацию по набранному наименованию.

02.07.2012    14450    maxpiter    62       

Обновление базы 1с 7.7. с помощью движка 1с 8.х 92

Статья Системный администратор Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования Администрирование данных 1С

Если Вас угораздило в стандартную типовую конфу внести правки, причем в самый большой модуль, а именно глобальный. Если к тому же Вы внесли изменение в какую-то стандартную функцию, в которой 1с сама регулярно чего-то меняет, то любое обновление начинает доставать. Используя возможности движка платформы 1с 8.х можно существенно сэкономить себе время и нервы.

28.04.2012    16161    Valerich    31       

v77. Робот 43

Инструменты и обработки no Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Исполнитель Робот. Учебное пособие по программированию для детей дошкольного возраста. Без внешних компонент.

09.04.2012    10406    54    item    18       

Запуск внешней обработки по расписанию v7.7 39

Статья Программист Нет файла v7.7 1cv7.md Россия Windows Бесплатно (free) Практика программирования Администрирование данных 1С

Неоднократно возникали задачи организовать, например ежедневную выгрузку и отправку отчетов по эл.почте, и вот…

20.03.2012    39948    Yury1001    17       

v77. Закладки в многоуровневом справочнике аля Total Commander 28

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

В больших многоуровневых справочниках можно ускорить доступ пользователю к наиболее популярным группам.

09.03.2012    9047    44    item    17       

v77. Паинт 53

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

v77. 1С:Паинт :) Такая вот игрушка. Без внешних компонент.

06.03.2012    12231    81    item    38       

Как уменьшить количество заблокированных объектов 26

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

История о том как я решил пересобрать форму справочника клиентов и чем это все закончилось...

12.01.2012    13432    ShEvOvIcH    18       

Регистрация текста окна сообщений 4

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Для контроля работы пользователей потребовалось записывать текст окна сообщений в файл. Получился простейший механизм регистрации лог-файла. Удержать роста папки "Temp", в качестве рекомендации, может использование bat-файла, который будет чистить или архивировать получаемые логи. Таких батников в инете полным-полно. P.S. Особо по форуму не смотрел, может, есть уже такое.

28.11.2011    6554    sdin101    9       

7.7.: Готовим md-файл для публикации. В картинках. 46

Статья Программист Нет файла v7.7 1cv7.md Россия Бесплатно (free) Практика программирования

Вы доработали типовую конфигурацию: скажем, добавили новый Документ, и хотите им поделиться с обществом ИС. Но нельзя же выложить МД-шник целиком, это будет нарушением правил. И как тут быть?

14.09.2011    15266    Арчибальд    21       

Учет доверенностей 6

Статья Программист Нет файла v7.7 1С7:Бух 1С7:Комплекс 1С7:ТиС 1С7:ПУБ Документооборот и делопроизводство Бесплатно (free) Практика программирования

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

08.09.2011    9829    Sykoku    8       

Методика расчета резервов отпусков (счет 96) в 1С Зарплата и Кадры 7.7 с 2011 года (вариант) 32

Статья Программист Нет файла v77::Расчет 1С7:Бух 1С7:ЗиК Россия БУ Зарплата Бесплатно (free) Практика программирования

В статье рассмотрен один из возможных вариантов расчета резервов отпусков (счет 96) в 1С Зарплата и Кадры 7.7 с 2011 года.

14.06.2011    19587    vkr    48       

Выбор Движений документа по конкретному регистру, с помощью прямого запроса 0

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 openconf 1cv7.md Россия Бесплатно (free) Практика программирования

Чтобы узнать какие движения сделал документ по конкретному регистру, в моем случае это регистр "ОстаткиПоСчетам" (оборотный), была написана следующая функция в глобальном модуле. Работает только для SQL версии и установленной внешнй компонентой 1С++!

26.05.2011    10706    Vix    4       

Прямой запрос на выборку подчиненных документов 6

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 openconf 1cv7.md Россия Бесплатно (free) Практика программирования

Иногда необходимо получить список или таблицу документов, подчиненных выбранному. Для этого в глобальном модуле была написана функция с прямым запросом на выборку подчиненных документов. Работает только в SQL версии и при установленной внешней компоненте 1С++ !

26.05.2011    17080    Vix    5       

Некоторые ошибки и «проблемные» особенности реализации встроенного языка платформы 1С:Предприятие 7.7 96

Статья Программист Нет файла v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Бесплатно (free) Практика программирования

Описание некоторых ошибок и особенностей реализации встроенного языка, которые создают «подводные камни» при программировании, а также возможных способов обхода этих проблем из собственного опыта работы на платформе 1С:Предприятие 7.7.

08.04.2011    42483    AleksR    102       

Монопольно ли запущена база 7.7 для SQL. Снятие single user в sql 9

Статья Системный администратор Программист Нет файла v7.7 openconf 1cv7.md Россия Бесплатно (free) Информационная безопасность Практика программирования

T-SQL скрипт, позволяющий определить монопольно ли запущена база на сервере SQL, а также перевести базу в multi user

11.03.2011    16610    d0dger    12       

Отпуск по уходу за ребенком. Расчет по-новому и по-старому 32

Статья Программист Нет файла v77::Расчет 1С7:ЗиК Россия Управление персоналом (HRM) Бесплатно (free) Практика программирования

По новому законодательству расчет среднего заработка для отпуска по уходу можно производить как по старым правилам, так и по новым, на усмотрение сотрудника. Реализуем это в ЗиК.

11.03.2011    10407    Nicholas    9       

Ошибки формата файла 2-НДФЛ в ЗиК релиз 306 100

Статья Программист Нет файла v77::Расчет 1С7:ЗиК Россия НУ Зарплата НДФЛ Бесплатно (free) Практика программирования

Ошибки 2НДФЛ в релизе: файл формируется как для ЮЛ, даже если работодатель ИП, опечатка "Отчетсвто", и указание имени файла с расширением. Нужно подправить отчет "СправкиПоНДФЛ".

02.02.2011    17413    1st    6       

ЗиК 305 ЗиК 306 Больничный лист. 107

Статья Программист Нет файла v77::Расчет 1С7:ЗиК Россия Зарплата Бесплатно (free) Практика программирования

Для переходящих больничных листов за счет работодателя оплачивается 2 дня, а не 3. Первоисточник: http://forums.kuban.ru/forum/viewtopi...669&page=2

25.01.2011    12472    Cvetic    26